版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、c语言实验报告题 目:学生成绩管理系统院系名称电子工程学院专业名称电子信息工程班 级电子0902学号05091044(10)学生姓名 指导教师 时间2010年6月7日 至2010年6月18日三、需求分析可以实现学生成绩数据的录入,保存,浏览,查找,添加,删除,排序,使学生成绩信息一目了然。三、课程设计目的 加深对c语言课程所学知识的理解,进一步巩固c语言语法规则。学会编制结构清晰、风格良好、数据结构适当的c语言程序,从而具备解决综合性实际问题的能力,使学生通过系统分析、系统设计、编程调试、,写实验报告等环节,初步掌握软件系统设计的方法和步骤,训练灵活运用程序设计语言进行软件开发的能力,提高分析
2、问题和解决问题的能力,提高程序设计水平,培养必要的工程实践动手能力。四、程序内容数据的录入,数据存储、数据读写,数据添加,数据删除,数据查询,数据统计,数据排序 数据打印.五、详细设计及运行结果退 出 程 序从文件读入学生成绩查询统计保存排序显示删除添加输入正确输 入 密 码学生成绩管理系统1 输入信息模块:函数名为shuru,。储 存输 入 模 块依次输入:学生代号,学生姓名以及三科成绩。int count; /*数量统计*/char number10; /*图书号*/char name20; /*书名*/char writer20; /*作者*/char publish50; /*出版社*
3、/char time20; /*出版时间*/float price; /*价格*/char number10; /*图书号*/char name20; /*书名*/char writer20; /*作者*/char publish50; /*出版社*/char time20; /*出版时间*/float price; /*价格*/显示模块:函数名为xianshi,分别打印出输入所有学生的:代号,姓名以及三科成绩。查询模块:函数名为chaxun,输入学生的代号,显示学生信息。 查 询 模 块输出学生信息输入学生代号在链表中查找此代号代号正确错误返回主菜单添加信息模块:函数名为tianjia,输入
4、学生信息,插入信息后,显示添加信息后的学生数量。删除模块:函数名为shanchu,。输入要删除的学生代号,删除信息后显示学生数量。 排序模块:函数名为paixu,按学生代号进行排序。保存文件:函数名为baocun。将学生信息保存到指定位置.:从文件读取信息:函数名为duru,从保存的文件中读入学生信息.main函数:调用以上各功能模块,实现程序功能。六、调试情况,设计技巧及体会调试情况:心得体会:通过这次课程设计,我对c语言有了更深刻的了解,增强了程序的编写能力,巩固了专业知识,对程序的模块化观念也又模糊逐渐变的清晰了。在程序的运行与调试过程中出现了很多错误,通过反复地复习课本上的相关知识,不
5、停地修改与调试,我终于完成了这段程序。在调试过程中,我认识到了c语言的灵活性与严谨性,同一个功能可以由不同的语句来实现,但编写程序时要特别注意细节方面的问题,因为一个小小的疏忽就能导致整个程序不能运行。当然我也认识到了自己的薄弱之处,如对链表相关知识的欠缺,文件运用的不熟练,在以后的学习中我要集中精力、端正态度,争取把知识学得更扎实、更全面。八、附录:源代码#include #include #include #define n sizeof(struct mengtu)#include int n,k;struct mengtu int daihao; char mingzi10; int
6、neili; int daofa; int bufa; struct mengtu *next; struct mengtu *creat(void) struct mengtu *p1,*p2,*head; n=0; p1=p2=(struct mengtu *)malloc(n); system(cls); printf(请输入资料,输0退出!n); while(1) if(n=1) head=p1; else p2-next=p1; p2=p1; p1=(struct mengtu *)malloc(n); printf(请输入代号:); scanf(%d,&p1-daihao); if
7、(p1-daihao=0) break; printf(请输入名字:); scanf(%s,&p1-mingzi); printf(请输入内力成绩:); scanf(%d,&p1-neili); printf(请输入刀法成绩:); scanf(%d,&p1-daofa); printf(请输入步法成绩:); scanf(%d,&p1-bufa); n+; p2-next=null; printf(输入的学生数为:%d个!n,n); printf(按任意键返回主菜单.); getchar(); return(head);baocun(struct mengtu *p1)file *fp; cha
8、r dizhi20; system(cls); printf(请输入文件路径及文件名:); scanf(%s,dizhi); if(fp=fopen(dizhi,w+)=null) printf(不能打开文件!n); return 0; while(p1!=null)fprintf(fp,%dt%st%dt%dt%dtn,p1-daihao,p1-mingzi,p1-neili,p1-daofa,p1-bufa); p1=p1-next; fclose(fp); printf(文件已经保存!n); fflush(stdin); printf(按任意键返回主菜单.); getchar(); re
9、turn 0;duru(struct mengtu *head)struct mengtu *p1,*p2; char dizhi10; file *fp; system(cls); printf(请输入文件路径及文件名:); scanf(%s,dizhi); if(fp=fopen(dizhi,r+)=null) printf(不能打开文件!n); return 0; printf(-n); printf(|代号tt|名字tt|内力t|刀法t|步法t|n); printf(-n); p1=(struct mengtu *)malloc(n); p2=(struct mengtu *)mall
10、oc(n);fscanf(fp,%d%s%d%d%d,&p1-daihao,p1-mingzi,&p1-neili,&p1-daofa,&p1-bufa);printf(|%dt|%st|%dt|%dt|%dt|n,p1-daihao,p1-mingzi,p1-neili,p1-daofa,p1-bufa); head=null; while(!feof(fp) n+; if(n=1) head=p1; else p2-next=p1; p2=p1; p1=(struct mengtu *)malloc(n); fscanf(fp,%d%s%d%d%dn,&p1-daihao,p1-mingz
11、i,&p1-neili,&p1-daofa,&p1-bufa); printf(|%dt|%st|%dt|%dt|%dt|n,p1-daihao,p1-mingzi,p1-neili,p1-daofa,p1-bufa); p2-next=p1; p1-next=null; n+; printf(-n); fclose(fp); fflush(stdin); printf(成功读取%d个学生信息!n,n); printf(按任意键返回主菜单.); getchar(); return (head);shanchu(struct mengtu *head)struct mengtu *p1,*p2;
12、 int daihao; system(cls); printf(输入要删除学徒的代号:); scanf(%d,&daihao); getchar(); p1=head; while(daihao!=p1-daihao&p1-next!=null) p2=p1; p1=p1-next; if(daihao=p1-daihao) if(p1=head) head=p1-next; else p2-next=p1-next; printf(已删除:%dn,daihao); n=n-1; else printf(%d不存在!n,daihao); printf(现在数为:%d个!n,n); fflus
13、h(stdin); printf(按任意键返回主菜单.); getchar(); return(head);tianjia(struct mengtu *head,struct mengtu *stu)struct mengtu *p0,*p1; stu=(struct mengtu *)malloc(n); system(cls); printf(n输入要增加的学徒的资料!n); printf(请输入代号:);scanf(%d,&stu-daihao); printf(输入名字:);scanf(%s,stu-mingzi); printf(请输入内力成绩:);scanf(%d,&stu-ne
14、ili); printf(请输入刀法成绩:);scanf(%d,&stu-daofa); printf(请输入步法成绩:);scanf(%d,&stu-bufa); p1=head;p0=stu; if(p1-next=null) p1-next=p0; p0-next=null; else while(p1-next!=null)p1=p1-next; p1-next=p0; p0-next=null; n+; printf(,添加完成!现在门徒数为:%d个!n,n); fflush(stdin); printf(按任意键返回主菜单.); getchar(); return(head);vo
15、id xianshi(struct mengtu *head)struct mengtu *p; system(cls); printf(-n); printf(|代号tt|名字tt|内力t|刀法t|步法t|n); printf(-n); p=head; while(p!=null)printf(|%dt|%st|%dt|%dt|%dt|n,p-daihao,p-mingzi,p-neili,p-daofa,p-bufa); printf(-n); p=p-next; fflush(stdin); printf(按任意键返回主菜单.);getchar();chaxun(struct mengt
16、u *head)int daihao; struct mengtu *p1; system(cls); printf(输入要查询的门徒的代号:); scanf(%d,&daihao); while(daihao!=0) p1=head; while(daihao!=p1-daihao&p1-next!=null) p1=p1-next; if(daihao=p1-daihao) printf(-n); printf(|代号tt|名字tt|内力t|刀法t|步法t|n); printf(-n); printf(|%dt|%st|%dt|%dt|%dt|n,p1-daihao,p1-mingzi,p
17、1-neili,p1-daofa,p1-bufa); printf(-n); else printf(%d门徒不存在!n,daihao); printf(输入要查询的门徒的代号:); scanf(%d,&daihao); fflush(stdin); printf(按任意键返回主菜单.); getchar();tongji(struct mengtu *head)int sum1=0,sum2=0,sum3=0,ave1=0,ave2=0,ave3=0,max=0; struct mengtu *p; int y=0,i=0; p=head; system(cls); printf(-n);
18、printf(|代号tt|名字tt|内力t|刀法t|步法t|总分t|平均分t|n); printf(-n); while(p!=null) sum1=p-neili+p-daofa+p-bufa; ave1=sum1/3;printf(|%dt|%st|%dt|%dt|%dt|%dt|%dt|n,p-daihao,p-mingzi,p-neili,p-daofa,p-bufa,sum1,ave1); printf(-n); p=p-next; fflush(stdin); printf(按任意键返回主菜单.);getchar(); return(head);paixu(struct mengt
19、u *head) struct mengtu *p,*max; int i,j;int fen;char t10; max=p=head; for(i=1;in;i+) for(j=i+1;jnext; if(max-daihaop-daihao) k=max-daihao; max-daihao=p-daihao; p-daihao=k; strcpy(t,max-mingzi); strcpy(max-mingzi,p-mingzi); strcpy(p-mingzi,t); fen=max-neili; max-neili=p-neili; p-neili=fen; fen=max-neili; max-daofa=p-daofa; p-daofa=fen; fen=max-bufa; max-bufa=p-bufa; p-bufa=fen; max=head; p=head; fflush(stdin); system(cls); printf(排序已经完成.n); printf(按任意键返回主菜单.);getchar(); ret
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年安庆职业技术学院单招综合素质考试题库附答案
- 2025广东清远市英德市大湾镇招聘后勤服务类人员1人参考题库含答案详解(突破训练)
- 2026年烟台汽车工程职业学院单招职业适应性测试题库必考题
- 2026年浙江金华科贸职业技术学院单招职业技能测试必刷测试卷完美版
- 2026年山东省烟台市单招职业适应性测试题库附答案
- 2026年云南轻纺职业学院单招职业适应性考试题库汇编
- 2026年云南交通运输职业学院单招职业适应性测试题库必考题
- 2026年青岛航空科技职业学院单招职业适应性考试必刷测试卷及答案1套
- 2025年甘肃省事业单位招聘考试模拟试卷 公共某础知识(三)含答案详解(黄金题型)
- 2025年滁州海关招聘协管员10人参考题库及答案详解(夺冠系列)
- 2022室外排水设施设计与施工-钢筋混凝土化粪池22S702
- 机械制图(高职)全套教学课件
- 家长会:如何培养孩子的好习惯课件
- 空调水系统完整版本
- 胃癌(英文版)课件
- 混凝土抗渗检测报告
- 品管圈QCC成果汇报提高药物指导知晓率
- 村庄基本情况调查表
- (9.5.1)-10.5失血性休克病理生理学
- 新制度经济学课件-第4讲-契约理论
- GB/T 18369-2008玻璃纤维无捻粗纱
评论
0/150
提交评论