请用c++语言完成3.文件“stu_info1.txt”包含学生的基本信息(姓名、学号、籍贯三项),现在需 要从该文件中读出信息,并依次为每位学生输入三门课程成绩,计算平均成绩,再将学生 完整信息(姓名、学号、籍贯、课程 1、课程 2、课程 3、平均分)写入文件 “stu_info2.txt”并保存于磁盘上
时间: 2023-12-22 10:13:02 浏览: 66
以下是用C++语言实现读取学生基本信息、输入三门课程成绩、计算平均成绩并将所有信息写入文件的代码:
```c++
#include <iostream>
#include <fstream>
using namespace std;
struct Student { // 定义学生结构体
string name;
string id;
string hometown;
double score1, score2, score3, average;
};
int main() {
ifstream infile("stu_info1.txt"); // 打开文件
ofstream outfile("stu_info2.txt");
if (!infile) {
cout << "无法打开文件" << endl;
return 0;
}
Student s;
while (infile >> s.name >> s.id >> s.hometown) { // 读取学生基本信息
cout << "请输入" << s.name << "的三门课程成绩:" << endl;
cin >> s.score1 >> s.score2 >> s.score3;
s.average = (s.score1 + s.score2 + s.score3) / 3; // 计算平均成绩
outfile << s.name << " " << s.id << " " << s.hometown << " " << s.score1 << " " << s.score2 << " " << s.score3 << " " << s.average << endl; // 将学生完整信息写入文件
}
infile.close(); // 关闭文件
outfile.close();
return 0;
}
```
需要注意的是,如果输入的文件路径不正确或文件不存在,程序会报错。在这种情况下,应该及时对程序进行修改,避免出现错误。
阅读全文