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

在线等待,快!我要详细的步骤。详细的流程图和代码!!!
一、 实验题目
学生成绩管理
二、 实验目的
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()。
四、 程序流程图

五、 程序代码

第1个回答  推荐于2016-03-18
确实这样的题正是锻炼你的时候,不过看你这么急我可以个你一个模板,是我以前做的一个基本的输入输出文件流,相信你看了会有收获,不过我还是建议你先自己做做试试,不会了看看书,再不行了才看下面的程序。
#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);
}
fclose(fp1);
}
void print()
{
int i,j,m,n,a[N];
float b,sum[3],aver[3];
FILE *fp2;
if((fp2=fopen("stu.list","r"))==NULL)
{
printf("cannot open this file");
printf("Error!");
return;
}
printf("name num score1 score2 score3 sum\n");
for(i=0;i<N;i++)
{
a[i]=0;
fread(&stu[i],sizeof(struct student),1,fp2);
printf("%-6s%-6d",stu[i].name,stu[i].num);
for(j=0;j<3;j++)
{
printf("%-8d",stu[i].score[j]);
a[i]+=stu[i].score[j];
}
printf("%-3d",a[i]);
printf("\n");
}
for(m=0;m<3;m++)
{
b=0;
for(n=0;n<N;n++)
{
b+=stu[n].score[m];
sum[m]=b;
}
aver[m]=sum[m]/N;
printf("average%d: %4.2f\n",m+1,aver[m]);
}
fclose(fp2);
}

这只是一个跟你的题目相识的模板,你可以先调试一下看看,看看它是怎样运行的,在根据这个稍加修改就成了你的题目了,自己动动手吧,总是有好处的。本回答被提问者采纳
第2个回答  2008-05-03
................................................
在C语言程序设计的书籍上这一部分基本上把源程序都给出来了,这程序也不是很难,,自己完成下好。。。。
第3个回答  2008-05-03
之前写过个。。

不想重新写了。。

baidu空间里面有。功能齐全,
http://hi.baidu.com/jeanhonk
第一篇就是。

功能对于你这个题目来说有点多。。

不过可以定制、不过也差不多了。。

学生人数什么可以改开始 的 define。
第4个回答  2008-05-03
顶楼上的回答!找人帮做作业。唉。。。还是好好多学点吧,如果你是计算机专业的更是了。。加油
第5个回答  2008-05-03
不做~ 你自己完成 别浪费了你在大学的时间
相似回答