if-else内开关盒c语言
我在试着切换,如果还有其他的话。我不知道我错过了什么,但这不管用 这是我的密码:if-else内开关盒c语言,c,switch-statement,C,Switch Statement,我在试着切换,如果还有其他的话。我不知道我错过了什么,但这不管用 这是我的密码: include<stdio.h> include<conio.h> int main() { clrscr(); int grade; printf("Input Grade"); scanf("%d",&grade); switch(grade<101) { case 1: if (grade>=95)
include<stdio.h>
include<conio.h>
int main()
{
clrscr();
int grade;
printf("Input Grade");
scanf("%d",&grade);
switch(grade<101)
{
case 1:
if (grade>=95)
printf("A+");
else
printf("Invalid");
break;
case 2:
if (grade>=85)
printf("A");
else
printf("Invalid");
break;
default:
printf("Invalid");
}
getch();
}
所以我不知道是怎么回事。只有第一个案例有效,当我输入一个小于95‘a’的数字时,结果不是。请帮助我。如果必须使用switch,则应将If-else语句带到开关之外,以便切换到正确的整数值。大概是这样的:
int state = 0;
if ( grade < 101 && grade >= 95 )
state = 1;
else if ( grade < 101 && grade >= 85 )
state = 2;
switch state {
case 1:
printf("A+");
break;
case 2:
printf("A");
break;
default:
printf("invalid");
break;
}
您可以使用switch语句以以下方式表达这一点,尽管您可能不想这样做:
switch(grade)
{
case 100:
case 99:
case 98:
case 97:
case 96:
case 95:
printf("A+");
break;
case 94:
case 93:
case 92:
case 91:
case 90:
case 89:
case 88:
case 87:
case 86:
case 85:
printf("A");
break;
default:
printf("Invalid");
//or an if statement if more options are required.
break;
}
这不是switch语句的工作方式。grade@sudomakeinstall2地球上有什么与C++有关?LwitgGrADED似乎是为80年代的原始方言C++编写代码,特别是对于微软DOS操作系统来说,它实际上不再存在。为什么不编写标准C++的代码,在1998中介绍,这是20年前的事了?然后你就可以在工作中使用它,并通过事业赚钱。学习C++,而不是你现在所拥有的任何过时资源。注意到你被标记为C和C++。是哪一个?移除错误的标签。我上面的建议适用于任何一种情况。