You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修改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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 01:39:03