




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、郑州轻工业学院实 训 报 告实训名称: 学生成绩管理系统 姓 名: 院 系: 国际教育学院 专业班级: 电子商务10-3 学 号: 指导教师: 成 绩: 时间: 2011 年 6 月 27 日至 2011 年 7 月 1 日郑 州 轻 工 业 学 院课 程 设 计 任 务 书题目 学生成绩管理系统 专业班级 电子商务 10-3 学号 541012030317 姓名 主要内容、基本要求、主要参考资料等:主要内容和基本要求:强化c语言中数组及外部文件的内容,独立设计学生成绩管理系统,并编程实现以下功能:1、整个系统均用c语言实现;2、利用二维数组来实现学生成绩管理系统的数据结构设计;3、系统具有输
2、入、显示、查询、删除、排序、保存、读取等基本功能;4、系统的各个功能模块都用函数的形式来实现;5、要求能将学生成绩信息保存在文件中。6、要求能将学生成绩信息从文件中读取出来并进行相关处理。工作计划:1. 布置设计题目,讲解要求和说明 2011.6.27 2. 确定设计任务,确定具体的功能,熟悉相关知识2011.6.273. 按功能需求确定程序的主要模块 2011.6.27 4. 编程实现程序的功能 2011.6.27 2011.6.285. 调试并完善程序2011.6.28 2011.6.296. 撰写课程设计报告2011.6.28 - 2011.6.307. 提交课程设计报告并验收软件 20
3、11.7.1参考资料:1.谭浩强,c程序设计(第3版),清华大学出版社, 2005.23.甘勇,c语言程序设计,中国水利水电出版社,2011.22.谭明金,俞海英,c语言程序设计实例精粹,电子工业出版社,2007.1完成期限:2011年7月1日星期五 指导教师签名: 课程负责人签名: 年 月 日目录目录一、 分析系统功能,绘制系统功能结构框架图41.1 分析系统功能41.2 结构框架图2二、 程序代码以及界面形式22.1 程序代码如下132.2 界面形式7三、 使用说明7四、 日志五、 心得体会19六、 参考文献20七、 流程图八、 鸣谢一、分析系统功能,绘制系统功能结构框架图1.1、 分析系
4、统功能(1) 用户进入主菜单后,就会在看到,菜单选项中添加有系统的各项功能,进入的应的选项就可进行相应的操作.其主要功能有:1、 输入学生成绩2、 成绩排序3、 查询学生成绩 4、 添加学生成绩5、 显示当前成绩 6、 保存当前成绩7、 退出此系统 (2) 用户选择所需操作的选项,进入相应的操作界面,在这里用户就可开始进行操作。1.2、 结构框架图保存当前成绩显示当前成绩添加学生成绩主 菜 单查询学生成绩成绩排序输入学生成绩二、 程序代码以及界面形式#include #include #include #define len sizeof(student)typedef struct stud
5、entint num;char name20;int score4;int sum;struct student *next;student;int n;student *cin(void); student *sort_1(student *head,int); void sort_2(student *head);void print(student *head);student *sort_all(student *head);void find(student *head);void save(student *head);student *add_new(student *head)
6、;student *cin()int flag; student *head,*p1,*p2;n=0;head=(student *)malloc(len);p2=head;printf(n请输入第%d名学生的学号,学号为0表示结束输入:,n+1); scanf(%d,&flag);while(getchar()!=n);for(;flag;) n+; p1=(student *)malloc(len); p1-num=flag; printf(请输入第%d名学生的姓名:,n); scanf(%s,p1-name); printf(请输入第%d名学生的语文成绩:,n); scanf(%d,&p
7、1-score0); printf(请输入第%d名学生的数学成绩:,n); scanf(%d,&p1-score1); printf(请输入第%d名学生的英语成绩:,n); scanf(%d,&p1-score2); printf(请输入第%d名学生的计算机成绩:,n); scanf(%d,&p1-score3); p1-sum=p1-score0+p1-score1+p1-score2+p1-score3; p2-next=p1; p2=p1; printf(n请输入第%d名学生的学号,没有此学生则输入0表示结束:,n+1); scanf(%d,&flag); p2-next=null;pr
8、intf(nn);return head;student *sort_all(student *head)int choose;for(;) printf( |*欢迎使用成绩管理系统*|n);printf( | 请输入选项编号(0-3): |n);printf( |*|n);printf( | 1-按学生学号排序 |n);printf( | 2-按学生总分排序 |n);printf( | 3-显示当前学生成绩 |n);printf( | 0-退出排序系统 |n);printf( |*thank you !*|n); printf(请输入你要执行的操作:); scanf(%d,&choose);
9、 while(getchar()!=n); switch(choose) case 1: case 2:head=sort_1(head,choose);break; case 3:print(head);break; case 0:return head; default: printf(nn请输入0-3之间的数:nn);break; student *sort_1(student *head,int choose)student *p1,*p2=head-next,*pm,*px;student mid;if (!p2) return head;for(p1=p2;p1-next!=nul
10、l;p1=p1-next) pm=p1; for(p2=p1-next;p2!=null;p2=p2-next) switch(choose) case 1:if (pm-nump2-num) pm=p2;break; case 2:if (pm-sumsum) pm=p2;break; if (pm!=p1) mid=*pm; *pm=*p1; *p1=mid; px=pm-next; pm-next=p1-next; p1-next=px; printf(n排序后的成绩表为:n);print(head); return head;void find(student *head)studen
11、t *p;int choose,fnum;char tem20;if (n=0) printf(n当前系统没有任何学生数据!n );return;for(;) printf(1 按学号查询 ; 0 我不查询了。nn); printf(请选择:); scanf(%d,&choose); while(getchar()!=n); if (choose=1) printf(n请输入你要查询的学生的学号,输入0退出学号查询:); scanf(%d,&fnum); for(;fnum;) for(p=head-next;p!=null&p-num!=fnum;p=p-next); if (!p) pri
12、ntf(nn找不到你要查询的学号,请重新输入,输入0表示结束:); scanf(%d,&fnum); else if (p-num=fnum) printf(n学号为%d学生的数据为:n,p-num); printf(学号t姓名t语文成绩 数学成绩 英语成绩 计算机 成绩总分n); printf(%dt%st %d %d %d %d %d n,p-num, p-name,p-score0,p-score1,p-score2,p-score3, p-sum); printf(nn请输入你还要查询的学生的学号,输入0返回上层); scanf(%d,&fnum); else printf(输入1 或
13、者 0 进行查询n);break; student *add_new(student *head)student *p;int flag; printf(nn请输入你要新加入学生的学号,学号为0表示结束输入:); scanf(%d,&flag);while(getchar()!=n);for(;flag;) p=(student *)malloc(len); p-num=flag; printf(请输入新加入学生的姓名:,n); scanf(%s,p-name); printf(请输入新加入学生的语文成绩:,n); scanf(%d,&p-score0); printf(请输入新加入学生的数学
14、成绩:,n); scanf(%d,&p-score1); printf(请输入新加入学生的英语成绩:,n); scanf(%d,&p-score2); printf(请输入第%d名学生的计算机成绩:,n); scanf(%d,&p-score3); p-sum=p-score0+p-score1+p-score2+p-score3; p-next=head-next; head-next=p; n+; printf(n请输入还要加入学生的学号,没有此学生则输入0表示结束:); scanf(%d,&flag); head=sort_1(head,1);printf(加入后的成绩表为:n);pri
15、nt(head); return head; void print(student *head)student *p=head-next;if (!p) printf(nn此系统目前没有任何学生数据!nnn);return;printf(此系统目前共计学生%d名:n,n); printf(*学生成绩统计一览*n);printf(学号t姓名t语文成绩 数学成绩 英语成绩 计算机成绩 总分n);for(;p;p=p-next)printf(%dt%st %d %d %d %d %dn, p-num,p-name, p-score0,p-score1,p-score2,p-score3, p-sum
16、=p-score0+p-score1+p-score2+p-score3); printf(*thank you !*n);void save(student *head) file *fp; student *p=head-next; char outfile10; printf(请输入保存文件的文件名,例如 c:f1te.txt:n); scanf(%s,outfile); if(fp=fopen(outfile,wb)=null) printf(不能打开文件n); exit(1); printf(n正在保存.n); while(p!=null) fwrite(p,sizeof(stude
17、nt),1,fp); p=p-next; fclose(fp); printf(-保存成功!-n);int main()student *head;int choose,i;head=(student *)malloc(len);head-next=null; for(;) printf( |*欢迎使用学籍管理系统*|n);printf( | 请输入选项编号(0-5): |n);printf( |*|n);printf( | 1-输入学生成绩 |n);printf( | 2-成绩排序 |n);printf( | 3-查询学生成绩 |n);printf( | 4-添加学生成绩 |n);print
18、f( | 5-显示当前成绩 |n);printf( | 6-保存当前成绩 |n);printf( | 0-退出此系统 |n);printf( |*电子商务10-3*石兴威!*|n);printf( |*thank you !*|n); printf(n请输入你要执行的操作:); scanf(%d,&choose); while(getchar()!=n); switch(choose) case 1:printf(确定输入数据请按 1 nn); scanf(%d,&i); if (i=1) head=cin();print(head);break; else printf(n你做出别的选择,当
19、作放弃建立!n); break; case 2:head=sort_all(head);break; case 3:find(head);break; case 4:head=add_new(head); case 5:print(head);break; case 6:save(head);break; case 0:system(pause);return 0; default: printf(nn您的输入有误!请重新输入:nn);break; 2.1程序代码如下2.2、界面形式三、 使用说明学生学籍管理系统是针对学生信息的管理,主要功能是添加学生成绩、输入学生成绩、查询学生成绩、学生成绩
20、排序、修改学生成绩、保存成绩。(1)进入主菜单,列出各项功能用户打开程序 (2)输入1进入录入界面,用户即可录入信息, (2)在主菜单中,输入2,则会进入排序界面, (3)、在主菜单中,输入3,则会进入查询界面,输入要查的学生的学号即可查询到信息。 (4)输入4 ,会进入添加学生成绩界面。(5)、在主菜单中,输入5,进入显示学生成绩界面(6)、在主菜单中,输入6,则会进入保存当前成绩,自动进行保存。四、日志 6月27 星期一 从今天起,正式开始做课程设计了。但坐到电脑前想开始做时,却不懂如何开始写起,都感到有点陌生了。因为前一阵一直在忙于各科的考试,好久没碰c语言了,都开始有生疏感了。但还是试
21、着在电脑上编了下,光要写个主函数还很吃力,更头痛的吃力的结果还换来了很多错误,本想编译下,试试的,结果错误警告一大堆。鉴于此,我还是决定先把书再好好看下,“工欲善其事,必先利其器”嘛! 6月28期二 昨天看了一天的书,又加上今天看的,可却连一半还没看完。我是按部就班的顺序往下看的,但因为书的前半部分大多是基础知识,因此在晚上上课时依旧不知如何编写。折腾了一晚上,想编写要调用的函数的,试着编了好多,但都是些到处是错误的程序,根本没法用。而且编的时候还是发现自己好多东西都忘记了,因此觉得还是得接着去看书,没辙,还是先把书吃透,把基本程理论再实践吧! 6月29 星期三 今天又是啃了一天的书,本还想去
22、机房试试的呢,结果都没来得及去,刚够把书看完。今天重点把数组、函数和文件部分看了下。晚上上机的时候在机器上试了下,并为我的主函数编了个结构体数组,用来存录入的信息。同时今晚在调试主函数时发现我的主函数没有清屏的功能,所有工作都在同一屏幕上。问了同学,为里面加了个清屏的语句,但要加这语句得另加个头文件,问为什么要加这头文件,他也不懂,只知道就是这样规定的,并且这些规定都是得记住的。还是学得不够多,得慢慢充实自己! 6月30 星期四 下午c语言考试,复习了一上午,丁点课程设计也没碰。等下午考完试直奔机房,编写了两小时,只给我的程序加了个添加了个“录入学生信息”的函数。在做时候碰到了不少的问题。主要
23、是我的程序一次只能录入一个学生信息,好不容易加了个可以继续录入的语句,可又碰到了新的问题。当我录入学生信息的前三项后,就直接进入“是否继续录入”。我怀疑是有肯能在定义数组长度时定义太大了,当我把它缩小后再编译、连接、运行时居然成功了,可我现在还没确定到底时什么原因。又碰到新问题了。我把其他要调用的函数也加进去了,但是在用的时候发现加进去的那些函数都不能用,就一添加函数在运行时是正常的,而其他的进入是可以,但在执行的时候,它就会出来警告,说不能被读。自己找,也请同学帮忙找了,但都没找出毛病。碰这问题实在是难办,因为不能执行,我也就不知道这些函数在这里运行是否会正常,也就不知道是否需要改动。 关于
24、“警告”的问题到现在还没解决,有点心烦意乱了,改了下程序,可问题又多了。在“查找”项里也出现了问题,在查找时候即使是查找一个人,它却也会每次都会把所查找的人给找出后,接着又会把其他人的信息以“查无此人”显示出来。反复检查下发现好像是算法的问题。是在循环里的时候出了错,它自己不停了,非得把所有的运行一遍在停。在我加了停止条件后问题总算是得到解决了。可“警告的问题今天还是没解决。警告”的问题困扰好久了,真是头痛,都快被它给崩溃了。今天上课时,我又检查和调试了下,可还是没找到问题在哪儿。自己是搞不定了,只能是请教老师了。虽然向老师去请教的人很多,但还是被我逮到机会了,让老师帮我看了下,检查发现原来是在调用函数和主函数中所定义的类型产生了差异。将被掉函数里的改过来后问题久解决。五、心得体会两周的课程过起来其实也是很快的。这是我第一次做课程设计,起初还没做的时候觉得很快自己就将得编一个较大的程序,将会很有意思。带着最初的好奇心,新鲜感就这样开始了第一天的编程,结果是大失所望。做课程设计并不是自己想象中的那样有意思,而是很枯燥,很乏味的。也没想象中的那样简单,并不是像我
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 体育组织人力资源与体育俱乐部治理结构优化考核试卷
- 交通规划与交通基础设施可持续发展评估体系构建考核试卷
- 杀菌工艺参数优化考核试卷
- 医疗设备能源消耗与医疗成本的关系考核试卷
- 2025年中国PET眼药水瓶数据监测报告
- 2025年中国A4打印纸数据监测研究报告
- 2025年中国ADT托架数据监测研究报告
- 2025年中国2-甲硫基吡嗪数据监测报告
- 2025至2030年中国鲜蟹柳市场分析及竞争策略研究报告
- 2025至2030年中国附桂骨痛胶囊市场分析及竞争策略研究报告
- 压力管道安装改造维修质量保证手册1
- 广西南宁市西乡塘区2023-2024学年七年级下学期期末生物学试题(解析版)
- 司考行政法-吴鹏新讲义
- 2023年山东省夏季普通高中学业水平合格考试会考生物试题及参考答案
- 2023-2024学年山东省临沂市兰山区八年级(下)期末数学试卷(含答案)
- 人教版语文四年级下册期末测试卷含答案(4套)
- 中国象棋初级习题500例
- 水力分析与计算智慧树知到期末考试答案章节答案2024年安徽水利水电职业技术学院
- MOOC 中国文化概论-华南师范大学 中国大学慕课答案
- 产品研发合作协议书(二篇)
- 24春国家开放大学《离散数学》大作业参考答案
评论
0/150
提交评论