从键盘输入以下 5 个学生的学号、姓名,以及数学、语文和英语成绩,写到文本文件 f3.txt 中,再从文件中取出数据,计算每个学生的总成绩和平均分,并将结果显示在屏幕上。试用vC++6.0编写相应程序。
时间: 2024-03-11 10:50:43 浏览: 50
C++输入函数和成绩显示函数,并计算每位同学的总分和平均分,对成绩排名输出等.pdf
好的,以下是VC++6.0的代码实现:
```c++
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
struct Student {
string id;
string name;
int math;
int chinese;
int english;
int total;
double average;
};
int main() {
// 从键盘输入学生信息
Student students[5];
for (int i = 0; i < 5; i++) {
cout << "请输入第" << i + 1 << "个学生的学号:";
cin >> students[i].id;
cout << "请输入第" << i + 1 << "个学生的姓名:";
cin >> students[i].name;
cout << "请输入第" << i + 1 << "个学生的数学成绩:";
cin >> students[i].math;
cout << "请输入第" << i + 1 << "个学生的语文成绩:";
cin >> students[i].chinese;
cout << "请输入第" << i + 1 << "个学生的英语成绩:";
cin >> students[i].english;
students[i].total = students[i].math + students[i].chinese + students[i].english;
students[i].average = students[i].total / 3.0;
}
// 将学生信息写入文本文件f3.txt中
ofstream outfile("f3.txt");
for (int i = 0; i < 5; i++) {
outfile << students[i].id << " " << students[i].name << " "
<< students[i].math << " " << students[i].chinese << " "
<< students[i].english << endl;
}
outfile.close();
// 从文本文件f3.txt中读取学生信息,计算总成绩和平均分,并输出到屏幕上
ifstream infile("f3.txt");
Student stu;
while (infile >> stu.id >> stu.name >> stu.math >> stu.chinese >> stu.english) {
stu.total = stu.math + stu.chinese + stu.english;
stu.average = stu.total / 3.0;
cout << "学号:" << stu.id << " 姓名:" << stu.name
<< " 总成绩:" << stu.total << " 平均分:" << stu.average << endl;
}
infile.close();
return 0;
}
```
该程序实现了从键盘输入5个学生的学号、姓名、数学、语文和英语成绩,将这些信息写入文本文件f3.txt中,然后再从文本文件f3.txt中读取学生信息,计算总成绩和平均分,并输出到屏幕上。注意,这里使用了文件流fstream库来读写文件,同时还定义了一个结构体Student来存储学生信息。
阅读全文