#include "stdio.h" #include "string.h" #include "conio.h" #define NUM 50
/*定义结构体数组*/ struct student { int xh; /*学号子*/ char xm[7]; /*姓名*/ float c; /*C成绩*/ float wc; /*网络操作系统*/ float cad; /*CAD*/ float ave; /*平均分*/ int mc; /*名次*/ } s[NUM];
/*系统初始化:建立新的数据文件chengji.txt,将所有数据项都赋初值*/ void chushihua() { /*定义变量*/ FILE *fp; int i; /*以写方式打开文件chengji.txt*/
?填程序
/*初始化数组*/ for(i=0;i<NUM;i++) {
?填程序
} /*将数组数据写入文件*/ for(i=0;i<NUM;i++)
?填程序
fclose(fp); printf("\n\t系统初绐化成功!按任意键继续......"); getch(); }
/*将数据文件chengji.txt中的数据装入数组*/ void dakai() { /*定义变量*/ int i; FILE *fp; /*以读方式打开文件chengji.txt*/
?填程序
/*将数据从文件中装入数组*/ for(i=0;i<NUM;i++)
?填程序
fclose(fp); }
/*将数组中的数据写入数据文件chengji.txt*/ void baocun() { /*定义变量*/ int i; FILE *fp; /*以写方式打开文件chengji.txt*/
?填程序
/*将数组中的数据写入数据文件*/ for(i=0;i<NUM;i++)
?填程序
fclose(fp); }
/*显示表头*/ void biaotou() { int i; clrscr(); printf("\n"); printf("\t\t《简单的学生成绩管理系统》\n\n"); printf("\t\t 03计算机3班期中考试成绩\n"); printf("\t"); /*显示50个=号*/ for(i=1;i<=50;i++) printf("="); printf("\n"); printf("\t学号 姓 名 C语言 网操 CAD 平均分 名次\n"); }
/*显示表尾*/ void biaowei() { int i; printf("\t"); /*显示50个=号*/ for(i=1;i<=50;i++) printf("="); }
/*按学号从小大排序*/ void paixu_xh() { int i,j;struct student a; /*对s数组按学号从小到大排序,采用课本P71的冒泡法*/ for(i=0;i<NUM;i++) for(j=i+1;j<NUM;j++) if(s[i].xh>s[j].xh) { a=s[i]; s[i]=s[j]; s[j]=a; } }
/*显示全班成绩表*/ void xianshi() { int i; /*输出表头*/ biaotou(); /*循环输出50个同学的成绩,每输出15个同学屏幕暂停,按任意键继续*/ for(i=0;i<NUM;i++) {
?填程序
} printf("\n\t按任意键继续...."); getchar(); }
/*录入各同学的成绩*/ void luru() { int i,j,sum; struct student tmp; clrscr(); printf("\n\t温馨提示:每个同学的数据都要输入在一行上,并每项都要输入!"); printf("\n\t准备输入几个同学成绩?:"); scanf("%d",&sum); printf("\t《简单的学生成绩管理系统》\n\n"); printf("\t 03计算机3班期中考试成绩\n"); for(i=1;i<=30;i++) printf("="); printf("\n"); printf("学号 姓 名 C语言 网操 CAD\n"); /*输入sum个同学的成绩*/ for(i=1;i<=sum;i++) {
?填程序
} }
/*按学号找同学后修改成绩*/ void xiugai() { int i,j; int xuehou; clrscr(); printf("\n\t请输入准备修改的同学的学号:"); scanf("%d",&xuehou); /*查找学号并修改成绩*/ for(i=0;i<=NUM;i++) { if(s[i].xh==xuehou) {
?填程序
} } if(i>NUM) printf("\n\t没有该学号!"); else printf("\n\t修改成功!"); }
/*按姓名查询成绩*/ void chaxun() { int i,j; char xingming[7];char ch; clrscr(); printf("\n\t请输入准备查询的同学的姓名:"); scanf("%s",xingming); /*查找姓名并显示成绩*/ for(i=0;i<=NUM;i++) { if(strcmp(s[i].xm,xingming)==0) { ?填程序
} } if(i>NUM) printf("\n\t没有该姓名!"); else printf("\n\t查询成功!"); }
/*按平均分排名输出全班成绩*/ void paiming() { int i,j; float score; struct student a; /*算平均分*/ ?填程序
/*对数组按平均分从大到小排序,采用课本P71的冒泡法*/ ?填程序
/*填入名次*/ j=1;score=s[0].ave;s[0].mc=1; for(i=1;i<NUM;i++)
?填程序
/*输出结果*/ xianshi(); }
/*输出补考名单和及格率*/ void bukao() { int i; int sum;/*保存不及格的总人数*/ int zrs;/*保存全班的总人数*/ clrscr(); printf("\n\t03计算机3班补考名单\n"); /*统计C语言的补考名单和及格率*/ ?填程序
/*统计网操的补考名单和及格率*/ ?填程序
/*统计CAD的补考名单和及格率*/ ?填程序
getchar(); }
/*主函数*/ main() { int xuanzhe,a=1; while(a) { textbackground(WHITE);/*设置文字背景颜色为白色*/ textcolor(RED);/*设置文字颜色为红色*/ clrscr(); printf("\n\n"); printf("\t广 东 省 华 侨 中 专"); printf("\n\n"); printf("\t\t\t03计算机(3)班 XXXXX设计\n\n"); printf("\t《简单的学生成绩管理系统》\n\n"); printf("\t1、录入成绩\n"); printf("\t2、修改成绩\n"); printf("\t3、按姓名查询成绩\n"); printf("\t4、统计及格率并输出补考名单\n"); printf("\t5、按平均分排名输出全班成绩表\n"); printf("\t6、按学号顺序输出全班成绩表\n"); printf("\t7、系统初始化(将所有数据清空)\n"); printf("\t0、退出系统\n\n\n"); printf("\t请选择功能(0-7):"); scanf("%d",&choose); switch(xuanzhe) { case 1:luru(); getch();break;/*录入*/ case 2:xiugai();getch();break;/*修改*/ case 3:chaxun();getchr();break;/*查询*/ case 4:bukao();getch();break;/*输出补考名单*/ case 5:paiming();getch();break;/*按平均分排名输出全班成绩*/ case 6:xianshi();getch();break;/*按学号输出全班成绩*/ case 7:chushihua();getch();break;/*系统初始化*/ case 0:baocun();a=0;break;/*退出*/ } if(!(choose>=0 && choose<=7)) { printf("\n\t输入有错,必须输入0-7数字!按任意键继续......"); getch(); } } } 谁能帮忙做一下啊