
要求基础简单一点的,不要太难,谢谢。
(凑字数不用管只看图片)
(●♡∀♡)(◕ᴗ◕✿)((づ ̄ ³ ̄)づ(´ω`)
关注引自强大而免费的微信小程序:皆我知道。
以下是一个简单的C++学生成绩系统的实现,并提供了一个符合题设要求的students.txt文件内容:
#include <iostream>
#include <fstream>
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
struct Student {
string name;
int score;
};
vector<Student> students;
void addStudent() {
Student newStudent;
cout << "请输入学生姓名:";
cin >> newStudent.name;
cout << "请输入学生成绩:";
cin >> newStudent.score;
students.push_back(newStudent);
cout << "学生信息添加成功!" << endl;
}
void displayStudents() {
cout << "学生信息如下:" << endl;
for (int i = 0; i < students.size(); i++) {
cout << "姓名:" << students[i].name << " 成绩:" << students[i].score << endl;
}
}
bool compare(const Student& s1, const Student& s2)
{
return s1.score > s2.score;
}
void sortStudents() {
sort(students.begin(), students.end(), compare);
cout << "学生成绩排序成功!" << endl;
}
void deleteStudent() {
string name;
cout << "请输入要删除学生的姓名:";
cin >> name;
for (int i = 0; i < students.size(); i++) {
if (students[i].name == name) {
students.erase(students.begin() + i);
cout << "学生信息删除成功!" << endl;
return;
}
}
cout << "未找到该学生信息!" << endl;
}
void modifyStudent() {
string name;
cout << "请输入要修改学生的姓名:";
cin >> name;
for (int i = 0; i < students.size(); i++) {
if (students[i].name == name) {
cout << "请输入修改后的成绩:";
cin >> students[i].score;
cout << "学生信息修改成功!" << endl;
return;
}
}
cout << "未找到该学生信息!" << endl;
}
void searchStudent() {
string name;
cout << "请输入要查询学生的姓名:";
cin >> name;
for (int i = 0; i < students.size(); i++) {
if (students[i].name == name) {
cout << "姓名:" << students[i].name << " 成绩:" << students[i].score << endl;
return;
}
}
cout << "未找到该学生信息!" << endl;
}
void readFromFile() {
ifstream inputFile("students.txt");
if (!inputFile.good()) {
cout << "文件打开失败!" << endl;
return;
}
students.clear();
string name;
int score;
while (inputFile >> name >> score) {
Student student;
student.name = name;
student.score = score;
students.push_back(student);
}
cout << "学生信息从文件中读取成功!" << endl;
inputFile.close();
}
void deleteFile() {
if (remove("students.txt") == 0) {
cout << "学生信息文件删除成功!" << endl;
}
else {
cout << "学生信息文件删除失败!" << endl;
}
}
void saveToFile() {
ofstream outputFile("students.txt");
if (!outputFile.good()) {
cout << "文件打开失败!" << endl;
return;
}
for (int i = 0; i < students.size(); i++) {
outputFile << students[i].name << " " << students[i].score << endl;
}
cout << "学生信息保存成功!" << endl;
outputFile.close();
}
int main() {
int option;
while (true) {
cout << "---------- 成绩管理系统 ----------" << endl;
cout << "1. 录入学生成绩" << endl;
cout << "2. 显示学生成绩" << endl;
cout << "3. 成绩排列信息" << endl;
cout << "4. 添加学生成绩" << endl;
cout << "5. 删除学生成绩" << endl;
cout << "6. 修改学生成绩" << endl;
cout << "7. 查询学生成绩" << endl;
cout << "8. 从文件读入学生成绩" << endl;
cout << "9. 删除文件中学生信息" << endl;
cout << "10. 保存学生信息" << endl;
cout << "11. 退出" << endl;
cout << "请输入操作选项(1-11):";
cin >> option;
switch (option) {
case 1:
addStudent();
break;
case 2:
displayStudents();
break;
case 3:
sortStudents();
break;
case 4:
addStudent();
break;
case 5:
deleteStudent();
break;
case 6:
modifyStudent();
break;
case 7:
searchStudent();
break;
case 8:
readFromFile();
break;
case 9:
deleteFile();
break;
case 10:
saveToFile();
break;
case 11:
cout << "感谢使用成绩管理系统!" << endl;
return 0;
default:
cout << "无效的选项!" << endl;
break;
}
cout << endl;
}
return 0;
}
students.txt文件内容:
Lilei 90
Tom 85
Lucy 92
注意:这只是一个简单的实现示例,并没有考虑输入数据的格式验证等方面。在实际使用中,需要根据具体需求进行完善。