学生成绩管理系统C源代码(共7页).doc
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《学生成绩管理系统C源代码(共7页).doc》由会员分享,可在线阅读,更多相关《学生成绩管理系统C源代码(共7页).doc(7页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上学生成绩管理系统C源代码 搜集者:海水发布时间:06-01-27浏览次数:23242 #include#include#include#defineLENsizeof(structscorenode)#defineDEBUG#includestructscorenodeintnumber;/*学号*/charname10;/*姓名*/floatyuwen;/*语文成绩*/floatyingyu;/*英语成绩*/floatshuxue;/*数学成绩*/structscorenode*next;typedefstructscorenodescore;intn,k;/*n,
2、k为全局变量,本程序中的函数均可以使用它*/*=*/score*creat2311(void)/*函数creat2311,功能:创建链表,此函数带回一个指向链表头的指针*/score*head;score*p1,*p2,*p3,*max;inti,j;floatfen;chart10;n=0;p1=p2=p3=(score*)malloc(LEN);head=p3;/*开辟一个新单元*/printf(请输入学生资料,输0退出!n);repeat1:printf(请输入学生学号(学号应大于0):);/*输入学号,学号应大于0*/scanf(%d,&p1-number);while(p1-numb
3、ernumber);/*输入学号为字符或小于0时,程序报错,提示重新输入学号*/if(p1-number=0)gotoend;/*当输入的学号为0时,转到末尾,结束创建链表*/elsep3=head;if(n0)for(i=0;inumber!=p3-number)p3=p3-next;elseprintf(学号重复,请重输!n);gotorepeat1;/*当输入的学号已经存在,程序报错,返回前面重新输入*/printf(请输入学生姓名:);scanf(%s,&p1-name);/*输入学生姓名*/printf(请输入语文成绩(0100):);/*输入语文成绩,成绩应在0-100*/scan
4、f(%f,&p1-yuwen);while(p1-yuwenyuwen100)getchar();printf(输入错误,请重新输入语文成绩);/*输入错误,重新输入语文成绩直到正确为止*/scanf(%f,&p1-yuwen);printf(请输入英语成绩(0100):);/*输入英语成绩,成绩应在0-100*/scanf(%f,&p1-yingyu);while(p1-yingyuyingyu100)getchar();printf(输入错误,请重新输入英语成绩);/*输入错误,重新输入英语成绩直到正确为止*/scanf(%f,&p1-yingyu);printf(请输入数学成绩(0100
5、):);/*输入数学成绩,成绩应在0-100*/scanf(%f,&p1-shuxue);while(p1-shuxueshuxue100)getchar();printf(输入错误,请重新输入数学成绩);scanf(%f,&p1-shuxue);/*输入错误,重新输入数学成绩直到正确为止*/head=NULL;while(p1-number!=0)n=n+1;if(n=1)head=p1;elsep2-next=p1;p2=p1;p1=(score*)malloc(LEN);printf(请输入学生资料,输0退出!n);repeat2:printf(请输入学生学号(学号应大于0):);sca
6、nf(%d,&p1-number);/*输入学号,学号应大于0*/while(p1-numbernumber);/*输入学号为字符或小于0时,程序报错,提示重新输入学号*/if(p1-number=0)gotoend;/*当输入的学号为0时,转到末尾,结束创建链表*/elsep3=head;if(n0)for(i=0;inumber!=p3-number)p3=p3-next;elseprintf(学号重复,请重输!n);gotorepeat2;/*当输入的学号已经存在,程序报错,返回前面重新输入*/printf(请输入学生姓名:);scanf(%s,&p1-name);/*输入学生姓名*/p
7、rintf(请输入语文成绩(0100):);scanf(%f,&p1-yuwen);/*输入语文成绩,成绩应在0-100*/while(p1-yuwenyuwen100)getchar();printf(输入错误,请重新输入语文成绩);scanf(%f,&p1-yuwen);/*输入错误,重新输入语文成绩直到正确为止*/printf(请输入英语成绩(0100):);scanf(%f,&p1-yingyu);/*输入英语成绩,成绩应在0-100*/while(p1-yingyuyingyu100)getchar();printf(输入错误,请重新输入英语成绩);scanf(%f,&p1-ying
8、yu);/*输入错误,重新输入英语成绩直到正确为止*/printf(请输入数学成绩(0100):);scanf(%f,&p1-shuxue);/*输入数学成绩,成绩应在0-100*/while(p1-shuxueshuxue100)getchar();printf(输入错误,请重新输入数学成绩);scanf(%f,&p1-shuxue);/*输入错误,重新输入数学成绩直到正确为止*/end:p1=head;p3=p1;for(i=1;in;i+)for(j=i+1;jnext;if(max-numberp1-number)k=max-number;max-number=p1-number;p1
9、-number=k;/*交换前后结点中的学号值,使得学号大者移到后面的结点中*/strcpy(t,max-name);strcpy(max-name,p1-name);strcpy(p1-name,t);/*交换前后结点中的姓名,使之与学号相匹配*/fen=max-yuwen;max-yuwen=p1-yuwen;p1-yuwen=fen;/*交换前后结点中的语文成绩,使之与学号相匹配*/fen=max-yingyu;max-yingyu=p1-yingyu;p1-yingyu=fen;/*交换前后结点中的英语成绩,使之与学号相匹配*/fen=max-shuxue;max-shuxue=p1-
10、shuxue;p1-shuxue=fen;/*交换前后结点中的数学成绩,使之与学号相匹配*/max=head;p1=head;/*重新使max,p指向链表头*/p2-next=NULL;/*链表结尾*/printf(输入的学生数为:%d个!n,n);return(head);/*=*/*=*/score*load2311(score*head)/*函数load2311,功能:从文件读入学生记录*/score*p1,*p2;intm=0;charfilepn10;FILE*fp;printf(请输入文件路径及文件名:);scanf(%s,filepn);/*输入文件路径及名称*/if(fp=fo
11、pen(filepn,r+)=NULL)printf(不能打开文件!n);return0;fscanf(fp,考试成绩管理系统n);fscanf(fp,作者:周纯钢班级:信息023学号:11n);fscanf(fp,-n);fscanf(fp,|学号t|姓名t|语文t|英语t|数学t|n);fscanf(fp,-n);/*读入表格域*/printf(考试成绩管理系统n);printf(作者:周纯钢班级:信息023学号:11n);printf(-n);printf(|学号t|姓名t|语文t|英语t|数学t|n);printf(-n);/*打印表格域*/m=m+1;if(m=1)p1=(score
12、*)malloc(LEN);/*开辟一个新单元*/fscanf(fp,%d%s%f%f%f,&p1-number,p1-name,&p1-yuwen,&p1-yingyu,&p1-shuxue);printf(|%dt|%st|%.1ft|%.1ft|%.1ft|n,p1-number,p1-name,p1-yuwen,p1-yingyu,p1-shuxue);/*文件读入与显示*/head=NULL;don=n+1;if(n=1)head=p1;elsep2-next=p1;p2=p1;p1=(score*)malloc(LEN);/*开辟一个新单元*/fscanf(fp,%d%s%f%f%
13、fn,&p1-number,p1-name,&p1-yuwen,&p1-yingyu,&p1-shuxue);printf(|%dt|%st|%.1ft|%.1ft|%.1ft|n,p1-number,p1-name,p1-yuwen,p1-yingyu,p1-shuxue);/*文件读入与显示*/while(!feof(fp);p2-next=p1;p1-next=NULL;n=n+1;printf(-n);/*表格下线*/fclose(fp);/*结束读入,关闭文件*/return(head);/*=*/*=*/score*add2311(score*head,score*stu)/*函数
14、add2311,功能:追加学生资料,并且将所有学生资料按学号排序*/score*p0,*p1,*p2,*p3,*max;inti,j;floatfen;chart10;p3=stu=(score*)malloc(LEN);/*开辟一个新单元*/printf(n输入要增加的学生的资料!);repeat4:printf(请输入学生学号(学号应大于0):);scanf(%d,&stu-number);/*输入学号,学号应大于0*/while(stu-numbernumber);/*输入错误,重新输入学号*/*/if(stu-number=0)gotoend2;/*当输入的学号为0时,转到末尾,结束追
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 学生 成绩管理系统 源代码
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内