急!急!计算机C语言编程

来源:百度知道 编辑:UC知道 时间:2024/05/14 17:15:35
在线等待,快!我要详细的步骤。详细的流程图和代码!!!
一、 实验题目
学生成绩管理
二、 实验目的
1. 掌握一维数组、二维数组的使用方法。
2. 掌握结构体数组的定义和使用。
3. 综合应用数据文件的读写语句保存结构体数组中的数据。
三、 实验要求
有4个学生,每个学生有3门课的成绩,从键盘上输入以上数据,计算每个学生的平均分,并把这些信息(包括学号、姓名、班级、3门课的成绩及平均分)保存到一个文件(score.txt)中,并显示在屏幕上。
具体要求:
定义结构体类型(student_type),其中包括学号(num[11])、姓名(name[8])、班级(class[20])、3门课成绩(score[3])和平均成绩(ave)。利用该结构体类型定义数组stud[4]。
在主函数中输入学生学号、姓名、班级、3门课的成绩,并计算出平均成绩,然后调用save()函数将学生数据保存在score.txt文件中,调用display()函数读取score.txt文件,并将其中的内容显示在屏幕上。
定义保存文件函数save()和显示文件函数display()。
四、 程序流程图

五、 程序代码

确实这样的题正是锻炼你的时候,不过看你这么急我可以个你一个模板,是我以前做的一个基本的输入输出文件流,相信你看了会有收获,不过我还是建议你先自己做做试试,不会了看看书,再不行了才看下面的程序。
#include<stdio.h>
#define N 4
struct student
{
char name[8];
int num;
int score[3];
}stu[N];

void save();
void print();

void main()
{
printf("please input information\n");
save(stu);
print(stu);
}
void save()
{

FILE *fp1;
int i,j;
fp1=fopen("stu.list","w");
//printf("write file error\n");
for(i=0;i<N;i++)
{
printf("name: ");
scanf("%s",stu[i].name);
printf("num: ");
scanf("%d",&stu[i].num);
for(j=0;j<3;j++)
{
printf("score%d: ",j+1);
scanf("%d",&stu[i].score[j]);
}
}
for(i=0;i<N;i++)
{
fwrite(&stu[i],sizeof(struct student),1,fp1);