肉多各种地方做的网站,天津住房和城乡建设部网站,做网站包头,wordpress模板图片路径可接各类C/C管理系统课设 目录
实现功能 部分1#xff1a;系统设置和主菜单
1. 引入头文件
2. 定义结构体
3. 函数声明
4. 主函数
部分2#xff1a;添加学生信息
部分3#xff1a;删除学生信息
部分4#xff1a;修改学生信息
部分5#xff1a;查询学生信息
部分… 可接各类C/C管理系统课设 目录
实现功能 部分1系统设置和主菜单
1. 引入头文件
2. 定义结构体
3. 函数声明
4. 主函数
部分2添加学生信息
部分3删除学生信息
部分4修改学生信息
部分5查询学生信息
部分6显示信息列表
部分7统计学生数据
部分8清空系统数据
部分9 退出系统函数
总结代码 该学生成绩管理系统是一个用C实现的程序通过控制台界面实现对学生信息的增删改查。系统包括以下功能添加学生信息、删除学生信息、修改学生信息、查询学生信息、显示所有学生信息、统计学生成绩数据和清空系统数据。 实现功能 添加学生信息 用户可以通过输入学生的ID、姓名、年龄、性别和成绩来添加学生信息。新添加的学生信息会被存储在一个向量中。 删除学生信息 用户可以通过输入学生的ID来删除学生信息。程序会在向量中查找对应的学生ID如果找到则删除该学生的信息。 修改学生信息 用户可以通过输入学生的ID来修改学生信息。程序会在向量中查找对应的学生ID如果找到则允许用户修改该学生的姓名、年龄、性别和成绩。 查询学生信息 用户可以通过输入学生的ID来查询学生信息。程序会在向量中查找对应的学生ID如果找到则显示该学生的详细信息。 显示信息列表 程序会显示所有存储在向量中的学生信息列表包括每个学生的ID、姓名、年龄、性别和成绩。使用格式化输出使信息更加整齐美观。 统计学生数据 程序会计算并显示学生成绩的平均值、最高值和最低值。这有助于用户了解整体的学生成绩分布情况。 清空系统数据 用户可以选择清空系统中所有学生的数据。这会删除向量中存储的所有学生信息。 退出系统 用户选择退出系统时程序会显示退出提示信息并终止运行。 部分1系统设置和主菜单
首先设置程序的基本结构和主菜单界面。
#include iostream
#include vector
#include string
#include iomanipusing namespace std;// 定义一个结构体来保存学生信息
struct Student {int id;string name;int age;string gender;double grade;
};// 函数声明
void addStudent(vectorStudent students);
void deleteStudent(vectorStudent students);
void modifyStudent(vectorStudent students);
void queryStudent(const vectorStudent students);
void displayStudents(const vectorStudent students);
void statistics(const vectorStudent students);
void clearData(vectorStudent students);
void exitSystem();int main() {vectorStudent students;int choice;while (true) {cout *****************欢迎来到学生成绩管理系统*****************\n;cout 你可以进行以下操作\n;cout 1. 添加学生信息\n;cout 2. 删除学生信息\n;cout 3. 修改学生信息\n;cout 4. 查询学生信息\n;cout 5. 显示信息列表\n;cout 6. 统计学生数据\n;cout 7. 清空系统数据\n;cout 0. 退出\n;cout 请输入你的选择: ;cin choice;switch (choice) {case 1:addStudent(students);break;case 2:deleteStudent(students);break;case 3:modifyStudent(students);break;case 4:queryStudent(students);break;case 5:displayStudents(students);break;case 6:statistics(students);break;case 7:clearData(students);break;case 0:exitSystem();return 0;default:cout 无效的选择请重新输入。\n;}}return 0;
}1. 引入头文件
首先引入了C标准库中的必要头文件
#include iostream
#include vector
#include string
#include iomanipiostream用于输入输出操作。vector用于动态数组向量的使用。string用于字符串操作。iomanip用于格式化输出。
2. 定义结构体
定义了一个结构体 Student用于保存学生信息
struct Student {int id; // 学生IDstring name; // 学生姓名int age; // 学生年龄string gender; // 学生性别double grade; // 学生成绩
};3. 函数声明
在 main 函数之前声明了一些函数这些函数将在后续部分实现
void addStudent(vectorStudent students);
void deleteStudent(vectorStudent students);
void modifyStudent(vectorStudent students);
void queryStudent(const vectorStudent students);
void displayStudents(const vectorStudent students);
void statistics(const vectorStudent students);
void clearData(vectorStudent students);
void exitSystem();4. 主函数
主函数包含了一个无限循环用于显示菜单并处理用户的选择
int main() {vectorStudent students;int choice;while (true) {cout *****************欢迎来到学生成绩管理系统*****************\n;cout 你可以进行以下操作\n;cout 1. 添加学生信息\n;cout 2. 删除学生信息\n;cout 3. 修改学生信息\n;cout 4. 查询学生信息\n;cout 5. 显示信息列表\n;cout 6. 统计学生数据\n;cout 7. 清空系统数据\n;cout 0. 退出\n;cout 请输入你的选择: ;cin choice;switch (choice) {case 1:addStudent(students);break;case 2:deleteStudent(students);break;case 3:modifyStudent(students);break;case 4:queryStudent(students);break;case 5:displayStudents(students);break;case 6:statistics(students);break;case 7:clearData(students);break;case 0:exitSystem();return 0;default:cout 无效的选择请重新输入。\n;}}return 0;
}vectorStudent students定义一个用于存储学生信息的向量。int choice用于存储用户的选择。
部分2添加学生信息
这个功能允许用户输入新的学生信息到系统中。
void addStudent(vectorStudent students) {Student newStudent;cout 请输入学生ID: ;cin newStudent.id;cout 请输入学生姓名: ;cin newStudent.name;cout 请输入学生年龄: ;cin newStudent.age;cout 请输入学生性别: ;cin newStudent.gender;cout 请输入学生成绩: ;cin newStudent.grade;students.push_back(newStudent);cout 学生信息添加成功\n;
}使用 cin 获取用户输入的学生信息并存储在 newStudent 变量中。将 newStudent 添加到 students 向量中。提示用户添加成功。
部分3删除学生信息
这个功能允许用户根据学生ID删除学生信息。
void deleteStudent(vectorStudent students) {int id;cout 请输入要删除的学生ID: ;cin id;for (auto it students.begin(); it ! students.end(); it) {if (it-id id) {students.erase(it);cout 学生信息删除成功\n;return;}}cout 未找到该学生ID。\n;
}获取用户输入的学生ID。使用迭代器遍历 students 向量找到匹配的学生ID并删除。提示用户删除成功或未找到该学生ID。 部分4修改学生信息
这个功能允许用户修改现有的学生信息。
void modifyStudent(vectorStudent students) {int id;cout 请输入要修改的学生ID: ;cin id;for (auto student : students) {if (student.id id) {cout 请输入新的学生姓名: ;cin student.name;cout 请输入新的学生年龄: ;cin student.age;cout 请输入新的学生性别: ;cin student.gender;cout 请输入新的学生成绩: ;cin student.grade;cout 学生信息修改成功\n;return;}}cout 未找到该学生ID。\n;
}获取用户输入的学生ID。遍历 students 向量找到匹配的学生ID并获取新的学生信息进行修改。提示用户修改成功或未找到该学生ID。 部分5查询学生信息
这个功能允许用户根据学生ID查询并显示学生信息。
void queryStudent(const vectorStudent students) {int id;cout 请输入要查询的学生ID: ;cin id;for (const auto student : students) {if (student.id id) {cout 学生ID: student.id \n;cout 学生姓名: student.name \n;cout 学生年龄: student.age \n;cout 学生性别: student.gender \n;cout 学生成绩: student.grade \n;return;}}cout 未找到该学生ID。\n;
}获取用户输入的学生ID。遍历 students 向量找到匹配的学生ID并显示学生信息。提示用户未找到该学生ID。 部分6显示信息列表
这个功能显示所有学生的信息列表。
void displayStudents(const vectorStudent students) {cout setw(10) 学生ID setw(20) 学生姓名 setw(10) 年龄 setw(10) 性别 setw(10) 成绩 \n;for (const auto student : students) {cout setw(10) student.id setw(20) student.name setw(10) student.age setw(10) student.gender setw(10) student.grade \n;}
}使用 setw 设置输出格式确保信息对齐。遍历 students 向量显示每个学生的信息。 部分7统计学生数据
这个功能提供学生成绩的基本统计信息。
void statistics(const vectorStudent students) {if (students.empty()) {cout 没有学生数据。\n;return;}double sum 0;double maxGrade students[0].grade;double minGrade students[0].grade;for (const auto student : students) {sum student.grade;if (student.grade maxGrade) {maxGrade student.grade;}if (student.grade minGrade) {minGrade student.grade;}}double average sum / students.size();cout 学生成绩统计\n;cout 平均成绩: average \n;cout 最高成绩: maxGrade \n;cout 最低成绩: minGrade \n;
}计算并显示学生成绩的平均值、最高值和最低值。如果没有学生数据提示用户。 部分8清空系统数据
这个功能清除系统中的所有学生数据。
void clearData(vectorStudent students) {students.clear();cout 系统数据已清空。\n;
}清空 students 向量中的所有数据。提示用户数据已清空。 部分9 退出系统函数
实现了退出系统时的提示功能
void exitSystem() {cout 感谢使用学生成绩管理系统再见\n;
}提示用户系统退出信息。 总结代码
将所有部分整合在一起形成完整的学生成绩管理系统代码如下
#include iostream
#include vector
#include string
#include iomanipusing namespace std;struct Student {int id;string name;int age;string gender;double grade;
};void addStudent(vectorStudent students);
void deleteStudent(vectorStudent students);
void modifyStudent(vectorStudent students);
void queryStudent(const vectorStudent students);
void displayStudents(const vectorStudent students);
void statistics(const vectorStudent students);
void clearData(vectorStudent students);
void exitSystem();int main() {vectorStudent students;int choice;while (true) {cout *****************欢迎来到学生成绩管理系统*****************\n;cout 你可以进行以下操作\n;cout 1. 添加学生信息\n;cout 2. 删除学生信息\n;cout 3. 修改学生信息\n;cout 4. 查询学生信息\n;cout 5. 显示信息列表\n;cout 6. 统计学生数据\n;cout 7. 清空系统数据\n;cout 0. 退出\n;cout 请输入你的选择: ;cin choice;switch (choice) {case 1:addStudent(students);break;case 2:deleteStudent(students);break;case 3:modifyStudent(students);break;case 4:queryStudent(students);break;case 5:displayStudents(students);break;case 6:statistics(students);break;case 7:clearData(students);break;case 0:exitSystem();return 0;default:cout 无效的选择请重新输入。\n;}}return 0;
}void addStudent(vectorStudent students) {Student newStudent;cout 请输入学生ID: ;cin newStudent.id;cout 请输入学生姓名: ;cin newStudent.name;cout 请输入学生年龄: ;cin newStudent.age;cout 请输入学生性别: ;cin newStudent.gender;cout 请输入学生成绩: ;cin newStudent.grade;students.push_back(newStudent);cout 学生信息添加成功\n;
}void deleteStudent(vectorStudent students) {int id;cout 请输入要删除的学生ID: ;cin id;for (auto it students.begin(); it ! students.end(); it) {if (it-id id) {students.erase(it);cout 学生信息删除成功\n;return;}}cout 未找到该学生ID。\n;
}void modifyStudent(vectorStudent students) {int id;cout 请输入要修改的学生ID: ;cin id;for (auto student : students) {if (student.id id) {cout 请输入新的学生姓名: ;cin student.name;cout 请输入新的学生年龄: ;cin student.age;cout 请输入新的学生性别: ;cin student.gender;cout 请输入新的学生成绩: ;cin student.grade;cout 学生信息修改成功\n;return;}}cout 未找到该学生ID。\n;
}void queryStudent(const vectorStudent students) {int id;cout 请输入要查询的学生ID: ;cin id;for (const auto student : students) {if (student.id id) {cout 学生ID: student.id \n;cout 学生姓名: student.name \n;cout 学生年龄: student.age \n;cout 学生性别: student.gender \n;cout 学生成绩: student.grade \n;return;}}cout 未找到该学生ID。\n;
}void displayStudents(const vectorStudent students) {cout setw(10) 学生ID setw(20) 学生姓名 setw(10) 年龄 setw(10) 性别 setw(10) 成绩 \n;for (const auto student : students) {cout setw(10) student.id setw(20) student.name setw(10) student.age setw(10) student.gender setw(10) student.grade \n;}
}void statistics(const vectorStudent students) {if (students.empty()) {cout 没有学生数据。\n;return;}double sum 0;double maxGrade students[0].grade;double minGrade students[0].grade;for (const auto student : students) {sum student.grade;if (student.grade maxGrade) {maxGrade student.grade;}if (student.grade minGrade) {minGrade student.grade;}}double average sum / students.size();cout 学生成绩统计\n;cout 平均成绩: average \n;cout 最高成绩: maxGrade \n;cout 最低成绩: minGrade \n;
}void clearData(vectorStudent students) {students.clear();cout 系统数据已清空。\n;
}void exitSystem() {cout 感谢使用学生成绩管理系统再见\n;
}