parent
2fa7fc7cfc
commit
53f566dde7
@ -0,0 +1,107 @@
|
||||
#include <iostream>
|
||||
#include <fstream>
|
||||
#include <string>
|
||||
#include <vector>
|
||||
|
||||
class Student {
|
||||
private:
|
||||
std::string name;
|
||||
int age;
|
||||
int studentNumber;
|
||||
|
||||
public:
|
||||
Student(std::string n, int a, int sn) : name(n), age(a), studentNumber(sn) {}
|
||||
|
||||
std::string getName() const {
|
||||
return name;
|
||||
}
|
||||
|
||||
int getAge() const {
|
||||
return age;
|
||||
}
|
||||
|
||||
int getStudentNumber() const {
|
||||
return studentNumber;
|
||||
}
|
||||
};
|
||||
|
||||
void saveData(const std::vector<Student>& students) {
|
||||
std::ofstream file("student_data.txt");
|
||||
if (file.is_open()) {
|
||||
for (const auto& student : students) {
|
||||
file << student.getName() << " " << student.getAge() << " " << student.getStudentNumber() << std::endl;
|
||||
}
|
||||
file.close();
|
||||
} else {
|
||||
std::cout << "Error: Unable to open file for writing." << std::endl;
|
||||
}
|
||||
}
|
||||
|
||||
void readData(std::vector<Student>& students) {
|
||||
std::ifstream file("student_data.txt");
|
||||
if (file.is_open()) {
|
||||
std::string name;
|
||||
int age, studentNumber;
|
||||
while (file >> name >> age >> studentNumber) {
|
||||
students.push_back(Student(name, age, studentNumber));
|
||||
}
|
||||
file.close();
|
||||
} else {
|
||||
std::cout << "No existing data found." << std::endl;
|
||||
}
|
||||
}
|
||||
|
||||
int main() {
|
||||
std::vector<Student> students;
|
||||
|
||||
// 读取文件中已存在的数据
|
||||
readData(students);
|
||||
|
||||
int choice;
|
||||
do {
|
||||
std::cout << "1. Add student\n";
|
||||
std::cout << "2. Delete student\n";
|
||||
std::cout << "3. Update student\n";
|
||||
std::cout << "4. View all students\n";
|
||||
std::cout << "5. Save and exit\n";
|
||||
std::cin >> choice;
|
||||
|
||||
switch (choice) {
|
||||
case 1: {
|
||||
std::string name;
|
||||
int age, studentNumber;
|
||||
std::cout << "Enter name, age, and student number: ";
|
||||
std::cin >> name >> age >> studentNumber;
|
||||
students.push_back(Student(name, age, studentNumber));
|
||||
break;
|
||||
}
|
||||
case 2: {
|
||||
// Delete student
|
||||
// Your code to delete a student here
|
||||
break;
|
||||
}
|
||||
case 3: {
|
||||
// Update student
|
||||
// Your code to update a student here
|
||||
break;
|
||||
}
|
||||
case 4: {
|
||||
// View all students
|
||||
for (const auto& student : students) {
|
||||
std::cout << student.getName() << " " << student.getAge() << " " << student.getStudentNumber() << std::endl;
|
||||
}
|
||||
break;
|
||||
}
|
||||
case 5: {
|
||||
// Save and exit
|
||||
saveData(students);
|
||||
std::cout << "Data saved. Goodbye!" << std::endl;
|
||||
break;
|
||||
}
|
||||
default:
|
||||
std::cout << "Invalid choice!" << std::endl;
|
||||
}
|
||||
} while (choice != 5);
|
||||
|
||||
return 0;
|
||||
}
|
Loading…
Reference in new issue