fprintf(fp,\ fprintf(fp,\学号\\t|姓名\\t|语文\\t|数学\\t|英语\\t|\\n\
fprintf(fp,\/*打印表格域*/
while(p1!=NULL) {
fprintf(fp,\p1->mathmatic,p1->english);
p1=p1->next; /*下移一个结点*/
}
fclose(fp);
printf(\文件已经保存!\\n\ return ; }
/*==========调入文件==========*/
/*函数loadfile,功能:从文件读入学生记录*/ score *loadfile(score *head) {
score *p1,*p2; int m=0;
char filename[10]; FILE *fp;
printf(\请输入文件路径及文件名:\
scanf(\输入文件路径及名称*/ if((fp=fopen(filename,\ {
printf(\不能打开文件!\\n\ return 0; }
fscanf(fp,\学生成绩管理系统 \\n\ fscanf(fp,\
fscanf(fp,\ fscanf(fp,\学号\\t|姓名\\t|语文\\t|数学\\t|英语\\t|\\n\
fscanf(fp,\/*读入表格域*/
printf(\学生成绩管理系统 \\n\ printf(\
printf(\ printf(\学号\\t|姓名\\t|语文\\t|数学\\t|英语\\t|\\n\
printf(\/*打印表格域*/
m=m+1; if(m==1) {
p1=(score *)malloc(LEN); /*开辟一个新单元*/
fscanf(fp,\1->english);
printf(\e,p1->mathmatic,p1->english);
/*文件读入与显示*/ head=NULL; do {
n=n+1;
if(n==1) head=p1; else p2->next=p1; p2=p1;
p1=(score *)malloc(LEN); /*开辟一个新单元*/
fscanf(fp,\&p1->english);
printf(\e,p1->mathmatic,p1->english);
/*文件读入与显示*/ }while(!feof(fp)); p2->next=p1; p1->next=NULL; n=n+1; }
printf(\/*表格下线*/
fclose(fp); /*结束读入,关闭文件*/
return (head); }
/*==========统计==========*/
/*函数statistics,功能:统计学生成绩*/ score *statistics(score *head)
{
float sum1=0,sum2=0,sum3=0,ave1=0,ave2=0,ave3=0,max=0,min=0; char maxname[10],minname[10]; score *p;
int x,y=0,i=0; p=head;
printf(\个人总分和平均分\\t2单科平均分\\t3总分最高分和最低分\\n\ scanf(\ getchar();
switch(x) /*用switch语句实现功能选择*/ {
case 1: if(head==NULL) {
printf(\没有任何学生资料!\\n\ return(head); } else {
printf(\
printf(\学号\\t|姓名\\t|语文\\t|数学\\t|英语\\t|总分\\t|平均分\\t|\\n\
printf(\*打印表格域*/
while(p!=NULL) {
sum1=p->chinese+p->mathmatic+p->english; /*计算个人总分*/
ave1=sum1/3; /*计算个人平均分*/
printf(\
name,p->chinese,p->mathmatic,p->english,sum1,ave1); /*打印结果*/
printf(\
p=p->next; }
return(head); break;
case 2: if(head==NULL) {
printf(\没有任何学生资料!\\n\
*/
分*/
结果*/
个人总分*/
return(head); } while(p!=NULL) {
sum1=sum1+p->chinese; sum2=sum2+p->mathmatic;
sum3=sum3+p->english; /*计算总分 y=y+1;
ave1=sum1/y; ave2=sum2/y;
ave3=sum3/y; /*计算平均
p=p->next;/*使p指向下一个结点*/ }
printf(\语文平均分是%.1f\\n\printf(\数学平均分是%.1f\\n\
printf(\英语平均分是%.1f\\n\打印return(head); break; case 3:
if(head==NULL) {
printf(\没有任何学生资料!\\n\}
min=max=p->chinese+p->mathmatic+p->english; while(i i=i+1; sum1=p->chinese+p->mathmatic+p->english; /*计算 if(max max=sum1; strcpy(maxname,p->name); } if(min>sum1) { min=sum1; strcpy(minname,p->name); } p=p->next; } printf(\总分最高分:%.1f,姓名:%s、\ printf(\ printf(\总分最低分:%.1f,姓名:%s\ printf(\ return(head); break; default :printf(\输入错误,请重试!\\n\ } return(head); } } /*==========menu==========*/ /*函数menu,功能:菜单选择界面*/ int menu(int k) { int i; printf(\学生成绩管理系统\\n\ printf(\ for(i=0;i<80;i++) printf(\ printf(\编辑学生的成绩\\t\\t\\t2显示学生的成绩\\t\\t\\t3查询学生的成绩\\n\ printf(\添加学生的成绩\\t\\t\\t5删除学生的成绩\\t\\t\\t6学生成绩排序\\n\printf(\保存学生的资料\\t\\t\\t8统计学生的成绩\\t\\t\\t9读取学生的成绩\\n\ printf(\退出\\n\/*菜单选择界面*/ for(i=0;i<80;i++) printf(\ printf(\欢迎进入学生成绩管理系统,请选择您所要的操作:\ scanf(\ /*选择操作*/ getchar(); return (k); } /*==========主函数==========*/ int main() { int k; score *head=0,*stu=0; while(1) { k=menu(k); switch(k) /*用switch语句实现功能选择*/ 百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库C语言学生成绩管理系统设计报告(6)在线全文阅读。
相关推荐: