如何让程序执行switch语句后继续循环?

Kongbeiz 2011-07-27 11:57:25
#include"stdio.h"
int main(void)
{
char grade;
printf("Put char :\n");
scanf("%c",&grade);
switch (grade)
{
case 'A':printf("score is 85--100\n");break;
case 'B':printf("score is 70--85\n"); break;
case 'C':printf("score is 60--70\n"); break;
case 'D':printf("Failinggrade!\n");break;
default:printf("You are wrong!\n");
}
getch();
return 0;
}
如何在输入错误时(如:输入X),显示"You are wrong!",然后回车继续输入,直到输入正确为止?
...全文
2557 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
Kongbeiz 2011-07-28
  • 打赏
  • 举报
回复
#include"stdio.h"
int main(void)
{
char grade;
A:
printf("Put char :\n");
scanf("\n%c",&grade);
switch (grade)
{
case 'A':printf("score is 85--100\n");break;
case 'B':printf("score is 70--85\n"); break;
case 'C':printf("score is 60--70\n"); break;
case 'D':printf("Failinggrade!\n");break;
default:printf("You are wrong!\n");
goto A;
}
getch();
return 0;
}
Kongbeiz 2011-07-28
  • 打赏
  • 举报
回复
谢谢提醒,终于解决了
Kongbeiz 2011-07-28
  • 打赏
  • 举报
回复
这样编译后,运行时如果输入错误,会显示两遍“You are wrong!”“Put char:”
witwolf 2011-07-28
  • 打赏
  • 举报
回复

#include<stdio.h>
int main(void)
{
char grade;
A:
printf("Put char :\n");
scanf("%c",&grade);
switch (grade)
{
case 'A':printf("score is 85--100\n");break;
case 'B':printf("score is 70--85\n"); break;
case 'C':printf("score is 60--70\n"); break;
case 'D':printf("Failinggrade!\n");break;
default:printf("You are wrong!\n");
goto A;
}
getchar();
return 0;
}

70,020

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧