#include
#include
/* strcmp函数原型包含*/ #define N 100
/*定义最大学生人数为100*/
struct student /*学生结构体定义*/ {
char no[11]; /*学号,10位*/
char name[10];/*姓名,3个汉字*/ float score[5];/*储存5门功课的成绩*/ float ave;/*储存平均分*/ int year;/*入学年*/ }stu[N]; int num;
int panduani(int); /*通过i的值,判断信息要查找的信息是否存在*/ void output(); /*输出学生成绩函数(公共函数)*/ void init(); /*系统初始化函数*/ void newfile(); /*建立新的数据文件*/
void read1(); /*从数据文件中读取数据*/ void weihu(); /*维护界面函数*/
void new1(); /*新增一个学生成绩函数*/ void xiugai(); /*修改学生成绩*/ int xgcj(int); /*修改成绩*/
void delete1(); /*删除学生信息函数*/ void tongji(); /*统计界面函数*/
void tongji1(); /*计算每个学生平均分*/ void tongji2(); /*计算每门课程的平均分*/ void paixu1(); /*排序函数*/ void paino(); /*按学号排序*/ void paiave(); /*按平均分排序*/ void paidkcj(); /*按单科成绩排序*/
void change(int,int); /*交换结构体数组中的两个记录*/ void outputx(int); /*选择输出单科成绩 徐修楼编*/ void find1(); /*查找界面函数*/ int find(char sno[]); /*按学号查找*/ int findname(char cname[]);/*按姓名查找*/ void findyear(int cyear); /*按入学年查找*/ void save(); /*保存文件*/ void stop(); /*停顿函数*/
void stop() /*停顿函数 (公共函数)*/ {
printf(\ getch(); }
精选
void output() /*输出学生成绩函数(公共函数)*/ {
int i,j;
printf(\ printf(\ XingMing RuXueNian C GaoShu DaWu DianLu MoDian\\n\
printf(\ for(i=0;i printf(\ for(j=0;j<5;j++) printf(\ printf(\ } stop(); } void init() /*系统初始化函数 */ { if(access(\ /*判断文件是否存在*/ newfile(); /*若不存在,新建数据文件*/ else read1(); /*若存在,读取数据*/ } void newfile() /*建立新的数据文件 */ { int i; FILE *fp; if((fp=fopen(\创建二进制文件*/ { printf(%un Xing Cheng Xu.\\n\ /*显示“创建文件失败,请重新运行程序”*/ exit(0); /*终止程序*/ } printf(\显示“初次运行,进行数据初始化...”*/ stop(); clrscr(); printf(\显示“请输入学生人数:”*/ scanf(\ for(i=0;i printf(\显示“请输入第i+1个学生的学号:”*/ getchar(); /*吃回车*/ gets(stu[i].no); printf(\显示“姓名:”*/ 精选 gets(stu[i].name); printf(\显示“入学年”*/ scanf(\ printf(\显示“C语言成绩”*/ scanf(\ printf(\显示“高数成绩”*/ scanf(\ printf(\显示“大物成绩”*/ scanf(\ printf(\显示“电路成绩”*/ scanf(\ printf(\显示“模电成绩”*/ scanf(\ fwrite(&stu[i],1,sizeof(struct student),fp); /*把第i+1名学生成绩写入文件*/ } fclose(fp); clrscr(); printf(\ printf(\ /*显示“刚才输入的 num 个数据为:”*/ printf(\ output(); } void read1() /*从数据文件中读取数据 */ { FILE *fp; num=0; /*num为数据文件中实际存储的学生人数*/ fp=fopen(\ if(fp==NULL) /*数据文件不存在*/ { printf(\显示“文件打开失败!重新运行程序”*/ exit(0); } while(!feof(fp)) { fread(&stu[num],1,sizeof(struct student),fp); num++; } num--; fclose(fp); printf(\ printf(\显示“现有 NUM个学生的成绩:”*/ printf(\ output(); } 精选