回复 2楼 azzbcc
#include<stdio.h>#include<math.h>typedef struct kecheng{ int i; //成绩 char kc[50]; //课程struct student{ int i; //学号 char name[30]; //姓名 int chengji[50]; //成绩};int input_score();int stu_ave();int stu_total();int cour_ave();int cour_pass();int cour_max();int cour_min();int sort_num();int output_best();int makeup();int output_score();int save();int load();int main() { char choice; //显示该程序的主要功能以及基本信息 printf(" 学生管理程序"); printf(" 1:输入每名学生的各科成绩\n"); printf(" 2:每名学生的平均成绩\n"); printf(" 3:每名学生的总分\n"); printf(" 4:每门课程的平均分\n"); printf(" 5:每门课程的及格率\n"); printf(" 6:每门课程的最高成绩\n") printf(" 7:每门课程的最低成绩\n"); printf(" 8:总成绩前5名的学生学号\N); PRINTF(" 9:各科成绩和总分\n"); printf(" D:各科补考学生的学号和成绩\n"); printf(" A:请输入你要输出的编号: \n"); printf(" B:保存信息:\n"); printf(" C:加载信息:\n"); printf(" 0:退出程序\n"); printf(" \n"); printf(" 请选择:"); choice=getch(); printf("\n\n"); switch(choice) {case'1':input_score();break; case'2': stu_ave();break; case'3':stu_total();break; case'4':cour_ave();break; case'5':cour_pass();break; case'6':cour_max();break; case'7':cour_min();break; case'8':sort_num();break; case'9':output_best();break; case'D':makeup();break; case'A':output_score();break; case'B': save();break; case'C':load();break; case'0':return0; } }int input_score(){printf("输入学生姓名,学号,成绩政治,数学,英语,C语言,导论,体育");scanf("%c %d%c%d %c%d %c%d %c%d %c%d",&name,&i,&kc,&chengji,&kc,&chengji,&kc,&chengji,&kc,&chengji,&kc,&chengji); }int stu_ave(){ }int stu_total(){ }int cour_ave(){ }int cour_pass(){ }int cour_max(){ }int cour_min(){ }int sort_num(){ }int output_best(){ }int makeup(){ }int output_score(){ }int save(){int count;int fhandle=open("StudentDate.dat",O_WRONLY|O_CREAT|O_TRUNC);if(fhandle==-1){printf("不能打开文件\n");return 1; }count=write(fhandle,stu,sizeof(Student)*current);close(fhandle);if(count !=sizeof(Student)*current){printf("保存失败\n");return 1; }printf("保存成功\n");return 0; }int load(){ }