1、一、 实验题目
学生成绩管理
二、 实验目的
1. 掌握一维数组、二维数组的使用方法。
2. 掌握结构体数组的定义和使用。
3. 综合应用数据文件的读写语句保存结构体数组中的数据。
三、 实验要求
有4个学生,每个学生有3门课的成绩,从键盘上输入以上数据,计算每个学生的平均分,并把这些信息(包括学号、姓名、班级、3门课的成绩及平均分)保存到一个文件(score.txt)中,并显示在屏幕上。
具体要求:
定义结构体类型(student_type),其中包括学号(num[12])、姓名(name[10])、班级(class[20])、3门课成绩(score[
2、3])和平均成绩(ave)。利用该结构体类型定义数组stud[4]。
在主函数中输入学生学号、姓名、班级、3门课的成绩,并计算出平均成绩,然后调用save()函数将学生数据保存在score.txt文件中,调用display()函数读取score.txt文件,并将其中的内容显示在屏幕上。
定义保存文件函数save()和显示文件函数display()。
四、 程序流程图
不用画
五、 程序代码
#include
#include
#include
#include
//
str
3、uct student_type
{
char num[12];
char name[10];
char Class[20];
float score[3];
float ave_score;
}stud[4];
//新建文件并写入
void save(int i)
{
fstream outfile;
outfile.open("student.txt",ios::app);//新建student.txt用于储存数据
cin>>stud[i].Class>>stud[i].num>>stud[i].name>>stud[i].score[0]>>st
4、ud[i].score[1]>>stud[i].score[2];//输入学生信息
stud[i].ave_score=(stud[i].score[0]+stud[i].score[1]+stud[i].score[2])/3;//计算平均分
outfile.close();//关闭文件
}
//打开文件
void display()
{
fstream infile;
infile.open("student.txt",ios::in);
if(!infile)//判断文件是否能被打开
{
cout<<"student.txt can not open
5、";
abort();//文件不能被打开,结束程序
}
cout<6、