【发布时间】:2019-04-11 11:10:27
【问题描述】:
我正在尝试制作一个程序,以便老师可以输入一个数字,它会以 C 语言输出相应的字母等级。这是我到目前为止所拥有的,我正在尝试让控制台程序保持打开状态,直到教师输入退出或单击 X 图标。我很感激任何帮助。
#include <stdio.h>
#include<stdlib.h>
#define exit -1
int main(void) {
int grade;
printf("Enter student grade: ");
scanf_s("%d", &grade);
printf("Students grade is: %d", grade);
while (grade != exit) {
if (grade < 65)
{
printf("\nStudent grade is: F\n");
}
else if (grade <= 69)
{
printf("\nStudent grade is: D\n");
}
else if (grade <= 79)
{
printf("\nStudent grade is: C\n");
}
else if (grade <= 89)
{
printf("\nStudent grade is: B\n");
}
else if (grade <= 100)
{
printf("\nStudent grade is: A\n");
}
else if (grade == exit) {
#define EXIT_SUCCESS 0;
}
break;
}
printf("Enter student grade: ");
scanf_s("%d", &grade);
printf("Students grade is: %d", grade);
return 0;
}
【问题讨论】:
-
什么不起作用?您的输入请求不在循环内。
-
#define EXIT_SUCCESS 0;这应该做什么? -
只需将
getchar()放在return 0;之前 -
你说“直到老师输入退出”,但你还没有准备好接受“退出”作为输入——你只是在扫描数字输入......而不是检查是否输入已成功解析为数字...
-
有几种方法可以处理可能是字符串或数字的输入;例如,您可以输入一个字符串,然后测试该字符串是否可以解析为数字……但我强烈认为您应该只提示用户
Enter student grade or '-1' to exit并专注于更基本的问题,例如错误检查您的函数调用返回值,将输入逻辑放在正确的位置以使其重复,重新考虑您尝试使用EXIT_SUCCESS的内容以及其他基本内容
标签: c