需要深入了解使用开关和案例标签的C语言分级[已关闭]

8e2ybdfx  于 2023-02-03  发布在  其他
关注(0)|答案(2)|浏览(111)

编辑问题以包含desired behavior, a specific problem or error, and the shortest code necessary to reproduce the problem。这将有助于其他人回答问题。
3天前关闭。
Improve this question

printf("On a scale of (A - F) rate your experience with our Consortium's HR Department\n\n");
char Grading;
    printf("\nEnter a grade: \n\n");
    scanf("%c", &rate);

    switch (Grading) {
    case 'A':
        printf("Perfect!\n\n");
        break;
        case 'B':
        printf("You did good!\n\n");
        break;
    case 'C':
        printf("You did okay\n\n");
        break;
    case 'D':
        printf("At least not bad\n\n");
        break;
    case 'E':
        printf("Bad\n\n");
        break;
    case 'F':
        printf("Awful\n\n");
        break;
    default:
        printf("Please enter only valid grades\n\n");
        
}
return 0;
}

这只是我代码块中需要帮助的部分。在不同的visual studio标签上单独做这个可以工作,但是要和我以前的代码一起;它一直说只输入有效的分数
我试着在C上做一个评分。我的代码实际上工作,我的意思是确切的评分代码块在不同的标签上工作。但当添加到我以前的代码,项目我的工作,它一直说只输入有效的分数。我有点问是否有一个最后的传统方法添加C评分块到一个项目在C

vhipe2zx

vhipe2zx1#

在switch语句中,您正在检查Grading的值,但是scanf将其输出写入rate
你应该这样改变你的开关盒:

printf("On a scale of (A - F) rate your experience with our Consortium's HR Department\n\n");
char rate; //rename Grading to rate
    printf("\nEnter a grade: \n\n");
    scanf("%c", &rate);

    switch (rate) { //rename Grading to rate
    case 'A':
        printf("Perfect!\n\n");
        break;
        case 'B':
        printf("You did good!\n\n");
        break;
    case 'C':
        printf("You did okay\n\n");
        break;
    case 'D':
        printf("At least not bad\n\n");
        break;
    case 'E':
        printf("Bad\n\n");
        break;
    case 'F':
        printf("Awful\n\n");
        break;
    default:
        printf("Please enter only valid grades\n\n");
        
}
return 0;
}
gr8qqesn

gr8qqesn2#

使用&Grading代替&rate
或者
声明char rate而不是Grading
您已经声明了Grading,而scanf使用rate

相关问题