5、设计一学生注册信息登记程序,该程序要求达到以下要求: 1)学生信息包括姓名,学号,性别; 2)学生信息要求能够循环从键盘输入,如果输入0 0 0,则退出输入; 3)将所有输入的学生信息按文本文件的方式存储到一名为stureginfo.txt的文件中,文件中存储信息的格式如下: 姓名:张三 学号:10521030146 性别:男 4)停止输入后,程序读出存储到stureginfo.txt文件中的所有信息,并显示在屏幕上。
时间: 2024-03-27 13:40:37 浏览: 23
好的,下面是一个实现上述要求的简单示例代码:
```c++
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
struct Student {
string name;
string id;
string gender;
};
int main() {
ofstream outfile("stureginfo.txt"); // 打开文件
if (!outfile.is_open()) {
cout << "无法打开文件!" << endl;
return 1;
}
Student s;
while (true) { // 循环输入学生信息
cout << "请输入学生信息(姓名 学号 性别):";
cin >> s.name >> s.id >> s.gender;
if (s.name == "0" && s.id == "0" && s.gender == "0") { // 输入0 0 0,退出循环
break;
}
// 将学生信息写入文件
outfile << "姓名:" << s.name << " 学号:" << s.id << " 性别:" << s.gender << endl;
}
outfile.close(); // 关闭文件
// 读取并输出文件中的学生信息
ifstream infile("stureginfo.txt");
string line;
while (getline(infile, line)) {
cout << line << endl;
}
infile.close(); // 关闭文件
return 0;
}
```
在程序中,我们定义了一个结构体Student,用来存储学生的姓名、学号和性别。然后,我们打开文件stureginfo.txt,并循环输入学生信息,将每个学生的信息以指定的格式写入文件中。如果输入0 0 0,则退出输入循环。
接下来,我们关闭文件并重新打开文件,读取文件中的学生信息,并按照每行一个的格式输出到屏幕上。
注意,在实际使用中,可能需要对输入的学号进行重复性检查等操作,这里仅作为一个简单的示例。