ImageVerifierCode 换一换
格式:DOCX , 页数:19 ,大小:20.69KB ,
资源ID:8650635      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/8650635.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(学生成绩登记系统C语言程序.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

学生成绩登记系统C语言程序.docx

1、学生成绩登记系统C语言程序#include#include#include#defineLENsizeof(structscorenode)#defineDEBUG#includestructscorenodeintnumber;/*学号*/charname10;/*姓名*/floatyuwen;/*语文成绩*/floatyingyu;/*英语成绩*/floatshuxue;/*数学成绩*/structscorenode*next;typedefstructscorenodescore;intn,k;/*n,k为全局变量,本程序中的函数均可以使用它*/*=*/score*creat2311(v

2、oid)/*函数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-numbernumber);/*输入学号为字符或小于0时,程序报错,提示重新输入学号*/if(

3、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*/scanf(%f,&p1-yuwen);while(p1-yuwenyuwen100)getc

4、har();printf(输入错误,请重新输入语文成绩);/*输入错误,重新输入语文成绩直到正确为止*/scanf(%f,&p1-yuwen);printf(请输入英语成绩(0100):);/*输入英语成绩,成绩应在0-100*/scanf(%f,&p1-yingyu);while(p1-yingyuyingyu100)getchar();printf(输入错误,请重新输入英语成绩);/*输入错误,重新输入英语成绩直到正确为止*/scanf(%f,&p1-yingyu);printf(请输入数学成绩(0100):);/*输入数学成绩,成绩应在0-100*/scanf(%f,&p1-shuxue

5、);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):);scanf(%d,&p1-number);/*输入学号,学号应大于0*/while(p1-n

6、umbernumber);/*输入学号为字符或小于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);/*输入学生姓名*/printf(请输入语文成绩(0100):);scanf(%f,&p1-yuwen);/

7、*输入语文成绩,成绩应在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-yingyu);/*输入错误,重新输入英语成绩直到正确为止*/printf(请输入数学成绩(0

8、100):);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-number=k;/*交换前后结点中的学号值,使得学号大者移到后面的结点中*/str

9、cpy(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-shuxue;p1-shuxue=fen;/*交换前后结点中的数学成绩,使之与学号相匹

10、配*/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=fopen(filepn,r+)=NULL)printf(不能打开文件!n);return

11、0;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*)malloc(LEN);/*开辟一个新单元*/fscanf(fp,%d%s%f%f

12、%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%fn,&p1-number,p1-name,&p1-yuwen,&p1-yingyu,

13、&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)/*函数add2311,功能:追加学生资料,并且将所有学生资料按学号排序*/score*p0,

14、*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时,转到末尾,结束追加*/elsep3=head;if(n0)for(i=0;inumber!=p3-nu

15、mber)p3=p3-next;elseprintf(学号重复,请重输!n);gotorepeat4;/*当输入的学号已经存在,程序报错,返回前面重新输入*/*/printf(输入学生姓名:);scanf(%s,stu-name);/*输入学生姓名*/printf(请输入语文成绩(0100):);scanf(%f,&stu-yuwen);/*输入语文成绩,成绩应在0-100*/while(stu-yuwenyuwen100)getchar();printf(输入错误,请重新输入语文成绩);scanf(%f,&stu-yuwen);/*输入错误,重新输入语文成绩直到正确为止*/printf(请输

16、入英语成绩(0100):);scanf(%f,&stu-yingyu);/*输入英语成绩,成绩应在0-100*/while(stu-yingyuyingyu100)getchar();printf(输入错误,请重新输入英语成绩);scanf(%f,&stu-yingyu);/*输入错误,重新输入英语成绩直到正确为止*/printf(请输入数学成绩(0100):);scanf(%f,&stu-shuxue);/*输入数学成绩,成绩应在0-100*/while(stu-shuxueshuxue100)getchar();printf(输入错误,请重新输入数学成绩);scanf(%f,&stu-sh

17、uxue);/*输入错误,重新输入数学成绩直到正确为止*/p1=head;p0=stu;if(head=NULL)head=p0;p0-next=NULL;/*当原来链表为空时,从首结点开始存放资料*/else/*原来链表不为空*/if(p1-next=NULL)/*找到原来链表的末尾*/p1-next=p0;p0-next=NULL;/*将它与新开单元相连接*/elsewhile(p1-next!=NULL)/*还没找到末尾,继续找*/p2=p1;p1=p1-next;p1-next=p0;p0-next=NULL;n=n+1;p1=head;p0=stu;for(i=1;in;i+)for

18、(j=i+1;jnext;if(max-numberp1-number)k=max-number;max-number=p1-number;p1-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-shuxue;p1-shuxue=fen;/*交换前后结点中的数学成绩,使之与学号相匹配*/max=head;p1=head;/*重新使max,p指向链表头*/end2:printf(现在的学生数为:%d个!n,n);return(head);/*=*/*=*/score*search2311(score*head)/*函数search2311,功能:查询学生成绩*/intnumber

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1