以下是一个简单的C++示例代码,实现了学生成绩管理系统的功能:

#include <iostream>
#include <string>
#include <map>

using namespace std;

struct Student {
    string name;
    float score;
};

map<string, Student> students;

void inputData() {
    string id, name;
    float score;
    
    cout << "请输入学生学号:";
    cin >> id;
    
    if (students.find(id) != students.end()) {
        cout << "学号已存在!" << endl;
        return;
    }
    
    cout << "请输入学生姓名:";
    cin >> name;
    
    cout << "请输入学生成绩:";
    cin >> score;
    
    Student student;
    student.name = name;
    student.score = score;
    
    students[id] = student;
    
    cout << "学生信息已保存!" << endl;
}

void queryScore() {
    int choice;
    string input;
    
    cout << "请选择查询方式(1-按学号查询,2-按姓名查询):";
    cin >> choice;
    
    if (choice == 1) {
        cout << "请输入学生学号:";
        cin >> input;
        
        if (students.find(input) != students.end()) {
            Student student = students[input];
            cout << "学号:" << input << " 姓名:" << student.name << " 成绩:" << student.score << endl;
        } else {
            cout << "未找到该学生!" << endl;
        }
    } else if (choice == 2) {
        cout << "请输入学生姓名:";
        cin >> input;
        
        bool found = false;
        for (const auto& pair : students) {
            if (pair.second.name == input) {
                cout << "学号:" << pair.first << " 姓名:" << pair.second.name << " 成绩:" << pair.second.score << endl;
                found = true;
            }
        }
        
        if (!found) {
            cout << "未找到该学生!" << endl;
        }
    } else {
        cout << "无效的选择!" << endl;
    }
}

void modifyScore() {
    string id;
    float score;
    
    cout << "请输入要修改成绩的学生学号:";
    cin >> id;
    
    if (students.find(id) != students.end()) {
        cout << "请输入新的成绩:";
        cin >> score;
        
        students[id].score = score;
        
        cout << "成绩已修改!" << endl;
    } else {
        cout << "未找到该学生!" << endl;
    }
}

void outputAllScores() {
    for (const auto& pair : students) {
        cout << "学号:" << pair.first << " 姓名:" << pair.second.name << " 成绩:" << pair.second.score << endl;
    }
}

void countPassAndExcellent() {
    int passCount = 0;
    int excellentCount = 0;
    
    for (const auto& pair : students) {
        if (pair.second.score >= 60) {
            passCount++;
            
            if (pair.second.score >= 90) {
                excellentCount++;
            }
        }
    }
    
    cout << "及格人数:" << passCount << endl;
    cout << "优秀人数:" << excellentCount << endl;
}

int main() {
    students["220101"] = { "张三", 92 };
    students["220102"] = { "李四", 85 };
    students["220103"] = { "王五", 70 };
    students["220104"] = { "陈六", 60 };
    students["220105"] = { "钱七", 80 };
    students["L220106"] = { "Jessi", 90 };
    students["L220107"] = { "Yoon Suk Yeol", 3 };
    
    int choice;
    
    while (true) {
        cout << "************************************" << endl;
        cout << "学生成绩管理系统" << endl;
        cout << "************************************" << endl;
        cout << "************************************" << endl;
        cout << "**1--输入数据***********************" << endl;
        cout << "**2--查询成绩***********************" << endl;
        cout << "**3--修改成绩***********************" << endl;
        cout << "**4--输出所有学生成绩***************" << endl;
        cout << "**5--统计及格和优秀人数*************" << endl;
        cout << "**6--退出系统***********************" << endl;
        cout << "**0--清屏***************************" << endl;
        cout << "************************************" << endl;
        
        cout << "请选择操作:";
        cin >> choice;
        
        switch (choice) {
            case 1:
                inputData();
                break;
            case 2:
                queryScore();
                break;
            case 3:
                modifyScore();
                break;
            case 4:
                outputAllScores();
                break;
            case 5:
                countPassAndExcellent();
                break;
            case 6:
                cout << "感谢使用!" << endl;
                return 0;
            case 0:
                system("cls");
                break;
            default:
                cout << "无效的选择!" << endl;
                break;
        }
    }
    
    return 0;
}

这段代码定义了一个Student结构体来表示学生的姓名和成绩。使用map容器来存储学生数据,以学号作为键,学生结构体作为值。

主函数中使用一个循环来显示菜单选项,并根据用户选择执行相应的功能函数。其中,inputData函数用于输入学生数据,queryScore函数用于查询成绩,modifyScore函数用于修改成绩,outputAllScores函数用于输出所有学生成绩,countPassAndExcellent函数用于统计及格和优秀人数。

在主函数的开头,已经预先定义了一些初始数据。你可以根据需要修改或扩展这些数据。

此外,代码中还使用了system("cls")函数来清屏。这个函数在Windows系统上可以清空控制台屏幕,如果你使用的是其他操作系统,请根据系统环境选择相应的清屏方法

利用c++设计一个学生成绩管理系统主要功能是对学生的成绩进行输入、修改、管理和存储。系统功能要求:①界面要求示例学生成绩管理系统1--输入数据2--查询成绩3--修改成绩4--输出所有学生成绩5--统计及格和优秀人数6--退出系统0--清屏②功能这个程序的主要功能是输入学生学号要注意保证学号的唯一性、姓名、成绩并可以对学生成绩按学号或姓名进行查询。该系统具有存储学生数据按学号、姓名查询按需要修改学

原文地址: https://www.cveoy.top/t/topic/hOAv 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录