一个实验不会做谁来帮帮忙?
1、现已有文件student.dat,内存有若干个学生的学号、姓名和数学、英语、计算机3门课程的成绩。每位学生的数据由以下结构体来描述: struct student
{
long num; /*学号*/
char name[20]; /*姓名*/
float score[3]; /*3门课程的成绩*/
};
请编制一个学生考试分数管理的程序,该程序功能要求如下:
(1) 调用函数从已有文件中读出学生的各类信息;
(2) 调用函数计算出每个学生的总分、平均分;
(3) 提示用户按键选择可以进行学生信息(包括计算出的总分及平均分)的查询
3.1 调用函数以姓名方式查询某一学生信息(包括计算出的总分及平均分)并显示;
3.2 调用函数以学号方式查询某一学生信息(包括计算出的总分及平均分)并显示;
3.3 调用函数将学生信息(包括计算出的总分及平均分)全部显示;
3.4 调用函数将学生信息(包括计算出的总分及平均分)按总分由高到低方式全部显示;
(4)提示用户按键选择是否继续进行查询,如果用户继续查询则依然可以选择以上四种方式的一种进行查询,如果用户不继续查询则退出程序。
现在有一个不完整的程序 请帮忙写完 #include<stdio.h>
#include<conio.h>
#include<stdlib.h>
#include<string.h>
struct stu1
{
long num;
char name[20];
float score[3];
};
struct stu2
{
long num;
char name[20];
float score[3];
float sum;
float aver;
};
void load(struct stu1 *stud1,int *nn);
void cal(struct stu1 *stud1,struct stu2 *stud2,int n);
void name(struct stu2 *stud,int n);
void num(struct stu2 *stud,int n);
void all(struct stu2 *stud,int n);
void sort(struct stu2 *stud,int n);
void main()
{
struct stu1 stu11[100];
struct stu2 stu22[100];
int n=0,ch;
clrscr();
load(stu11,&n);
}
void load(struct stu1 *stud1,int *nn)
{
FILE *fp;
int i;
struct stu1 *head=stud1;
if((fp=fopen("c:\\tc2\\student.dat","rb"))==NULL)
{
printf("cannot open file!\nstrike any key to exit!\n");
getch();
exit(0);
}
while(!feof(fp))
{
fread(stud1,sizeof(struct stu1),1,fp);
stud1++;
(*nn)++;
}
*nn=*nn-1;
printf("All students' records:\n\n");
printf("num\tname\tmath\tEnglish\tjsj\n\n");
for(i=0,stud1=head;i<*nn;i++,stud1++)
printf("%ld\t%s\t%.2f\t%.2f\t%.2f\n",stud1->num,stud1->name,stud1->score[0],stud1->score[1],stud1->score[2]);
}
void cal(struct stu1 *stud1,struct stu2 *stud2,int n)
{
}
void name(struct stu2 *stud,int n)
{
}
void num(struct stu2 *stud,int n)
{
}
void all(struct stu2 *stud,int n)
{
}
void sort(struct stu2 *stud,int n)
{
}