【发布时间】:2018-04-04 11:23:15
【问题描述】:
我正在为一个更大的程序创建一个函数,该函数将采用输入并存储在程序其他地方的数组中的字母等级,然后为该字母等级分配一个成绩点(即 A = 4.0, B = 3.0 等),稍后将在另一个函数中使用它来根据存储在另一个数组中的课程时间计算总 GPA。
我选择使用 switch 语句是因为我在以前的编程中对它们很熟悉,但如果可能的话,我愿意接受更好的方法来完成这项任务。我得到的当前错误是“switch statement not integral”。
float GradePoints(char grades[])
{
float points = 0.0;
switch (grades[])
{
case 'A':
points = 4.0;
break;
case 'B':
points = 3.0;
break;
case 'C':
points = 2.0;
break;
case 'D':
points = 1.0;
break;
case 'F':
points = 0.0;
break;
}
return points;
}
【问题讨论】:
-
这与您的浮点变量或浮点类型的值完全无关,而与您如何使用
grades[]作为switch中的表达式有关。那应该会产生很大的编译器错误。你读过吗?它说了什么? -
我还建议您花一些时间来read about how to ask good questions,并学习如何创建Minimal, Complete, and Verifiable Example。
标签: c visual-studio function switch-statement