如何修改C++成绩计算代码,实现录入一次后不停止、持续循环处理多名学生信息
C++成绩计算程序循环改造方案
核心修改思路
- 把原有单次录入判定的全部逻辑,包裹在
while(true)无限循环结构中,即可实现多名学生成绩反复录入的需求 - 把
midterm、final两个变量的定义移到循环内部,保证每一名学生的成绩都是初始状态,不会被上一次录入的结果影响 - 每次判定完成绩等级后增加换行分隔,方便区分不同学生的计算结果
改造后完整代码
#include <iostream> #include <iomanip> using namespace std; int main() { // 外层无限循环,支持反复录入多名学生成绩 while(true) { int midterm=0; int final=0; cout << "请输入期中成绩:"; cin >> midterm; while (midterm < 0 || midterm > 200) { cout << "请输入有效成绩,取值范围为0-200,请重新输入:"; cin >> midterm; } cout << "请输入期末成绩:"; cin >> final; while (final < 0 || final > 200) { cout << "请输入有效成绩,取值范围为0-200,请重新输入:"; cin >> final; } int total; total = final + midterm; if (total > 360 && total <= 400) { cout << "该学生的等级为A\n\n"; } else if (total > 320 && total <= 360) { cout << "该学生的等级为B\n\n"; } else if (total > 280 && total <= 320) { cout << "该学生的等级为C\n\n"; } else if (total > 240 && total <= 280) { cout << "该学生的等级为D\n\n"; } else if (total <= 240) { cout << "该学生的等级为F\n\n"; } // 可选退出逻辑:如果需要支持主动退出程序,可以取消下面注释的代码 /* char quit; cout << "是否继续录入下一名学生成绩?输入q退出,输入其他字符继续:"; cin >> quit; if(quit == 'q' || quit == 'Q') { break; } */ } return 0; }
内容的提问来源于stack exchange,提问作者Colton Gil
相关产品推荐
相关产品推荐

