使用if else切换语句if。 DEVC ++ [英] Switch statement with if else if. DevC++
问题描述
我一直在研究成绩系统,但我不确定代码是否有问题。
#include < iostream >
#include < stdio.h >
#include < string >
using namespace std;
int main()
{
int aCount = 0 ,bCount = 0 ,cCount = 0 ,fCount = 0 ;
int name = 0 ;
int name2 = 0 ;
string one = ;
printf( 输入您的成绩:);
scanf( %d,& name);
if (name> = 90 ){
< span class =code-comment> // one = one +A;
name2 = 1 跨度>;
}
其他 if (name> = 80 ){
// one = one +B;
name2 = 2 ;
}
其他 if (name> = 70 ){
// one = one +C;
name2 = 3 ;
}
else if (name< = 69 ){
// one = one +F;
name2 = 4 ;
}
// ----------- -----------------------------------
switch (name2){
case ' 1':
++ aCount;
break ;
case ' 2' :
++ bCount;
break ;
case ' 3' :
++ cCount;
break ;
case ' 4' :
++ fCount;
break ;
}
printf( A:%d \ n,aCount);
printf( B:%d \ n,bCount) ;
printf( C:%d \ n,cCount) ;
printf( F:%d \ n,fCount) ;
getchar();
getchar();
return 0 ;
}
上述代码的任务是首先要求你的成绩数字示例:90。然后使用if else语句使name2变量为1,如果name为> = 90,如果name> gt =,则为2;如果name> = 70,则为3;如果name< = 69,则为4。在执行此操作后,它使用switch case语句来检查名为name2的变量是否为1或2或3或4.之后,它将++ 1添加到计数器中并显示结果。目前的问题是它没有显示任何其他所有值= 0.
我不确定我在这里做错了什么。任何例子都会很棒。 :)
要解决您的问题,请从案例值中删除''。
switch (name2){
case 1 :
++ aCount;
break ;
case 2 :
++ bCount;
break ;
case 3 :
++ cCount;
break ;
case 4 :
++ fCount;
break ;
}
我建议您合并if和switch语句。
< pre lang =c> if (name> = 90 )
{
++ aCount;
}
其他 if (name> = 80 )
{
++ bCount;
}
其他 if (name> = 70 )
{
++ cCount;
}
else if (name< = 69 )
{
++ fCount;
}
I have been working on a grade system but I am not sure whats wrong with the code.
#include <iostream>
#include <stdio.h>
#include <string>
using namespace std;
int main()
{
int aCount = 0, bCount = 0, cCount = 0, fCount = 0;
int name = 0;
int name2 = 0;
string one = "";
printf("Enter your grade: ");
scanf("%d",&name);
if (name >=90) {
// one = one + "A";
name2 = 1;
}
else if (name >= 80) {
// one = one + "B";
name2 = 2;
}
else if (name >=70) {
// one = one + "C";
name2 = 3;
}
else if (name <=69) {
// one = one + "F";
name2 = 4;
}
//----------------------------------------------
switch( name2 ) {
case '1':
++aCount;
break;
case '2':
++bCount;
break;
case '3':
++cCount;
break;
case '4':
++fCount;
break;
}
printf( "A: %d\n", aCount );
printf( "B: %d\n", bCount );
printf( "C: %d\n", cCount );
printf( "F: %d\n", fCount );
getchar();
getchar();
return 0;
}
the task of the above code is that is first asks for your grades number example: 90. then using the if else statement makes name2 variable to 1 if name is >= 90, 2 if name >= 80, 3 if name >= 70 and 4 if name <=69. After doing that it uses the switch case statement, to check if the variable called name2 is 1 or 2 or 3 or 4. After that its adds ++1 into counter and shows me the result. The problem currently is that it is not showing anything other then all values = 0.
I am not sure what exactly I am doing wrong here. Any examples would be great. :)
To solve your problem remove the '' from the case values.
switch( name2 ) { case 1: ++aCount; break; case 2: ++bCount; break; case 3: ++cCount; break; case 4: ++fCount; break; }
May I suggest you merge the if- and switch-statement.
if (name >= 90) { ++aCount; } else if (name >= 80) { ++bCount; } else if (name >= 70) { ++cCount; } else if (name <= 69) { ++fCount; }
这篇关于使用if else切换语句if。 DEVC ++的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!