欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    学生成绩管理系统C语言课程设计成绩管理系统毕业设计.docx

    • 资源ID:12707931       资源大小:227.99KB        全文页数:26页
    • 资源格式: DOCX        下载积分:5金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要5金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    学生成绩管理系统C语言课程设计成绩管理系统毕业设计.docx

    1、学生成绩管理系统 C语言课程设计成绩管理系统毕业设计课 程 设 计 任 务 书主要内容和基本要求:强化C语言中数组及外部文件的内容,独立设计学生成绩管理系统,并编程实现以下功能:1、整个系统均用C语言实现;2、利用二维数组来实现学生成绩管理系统的数据结构设计;3、系统具有输入、显示、查询、删除、排序、保存、读取等基本功能;4、系统的各个功能模块都用函数的形式来实现;5、要求能将学生成绩信息保存在文件中。6、要求能将学生成绩信息从文件中读取出来并进行相关处理。工作计划:1. 布置设计题目,讲解要求和说明 2011.6.27 2. 确定设计任务,确定具体的功能,熟悉相关知识2011.6.273.

    2、按功能需求确定程序的主要模块 2011.6.27 4. 编程实现程序的功能 2011.6.27 2011.6.285. 调试并完善程序2011.6.28 2011.6.296. 撰写课程设计报告2011.6.28 - 2011.6.307. 提交课程设计报告并验收软件 2011.7.1参考资料:1.谭浩强,C程序设计(第3版),清华大学出版社, 2005.23.甘勇,C语言程序设计,中国水利水电出版社,2011.22.谭明金,俞海英,C语言程序设计实例精粹,电子工业出版社,2007.1完成期限:2011年7月1日星期五 指导教师签名: 课程负责人签名: 年 月 日目录目录一、 分析系统功能,绘

    3、制系统功能结构框架图 41.1 分析系统功能 41.2 结构框架图 2二、 程序代码以及界面形式22.1 程序代码如下 132.2 界面形式7三、 使用说明7四、 日志五、 心得体会19六、 参考文献20七、 流程图八、 鸣谢一、分析系统功能,绘制系统功能结构框架图1.1、 分析系统功能(1) 用户进入主菜单后,就会在看到,菜单选项中添加有系统的各项功能,进入的应的选项就可进行相应的操作.其主要功能有:1、 输入学生成绩2、 成绩排序3、 查询学生成绩 4、 添加学生成绩5、 显示当前成绩 6、 保存当前成绩7、 退出此系统 (2) 用户选择所需操作的选项,进入相应的操作界面,在这里用户就可开

    4、始进行操作。1.2、 结构框架图二、 程序代码以及界面形式#include #include #include #define LEN sizeof(Student)typedef struct studentint 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 *so

    5、rt_all(Student *head);void find(Student *head);void save(Student *head);Student *add_new(Student *head);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 *)mallo

    6、c(LEN); p1-num=flag; printf(请输入第%d名学生的姓名:,n); scanf(%s,p1-name); printf(请输入第%d名学生的语文成绩:,n); scanf(%d,&p1-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+p

    7、1-score3; p2-next=p1; p2=p1; printf(n请输入第%d名学生的学号,没有此学生则输入0表示结束:,n+1); scanf(%d,&flag); p2-next=NULL;printf(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

    8、-显示当前学生成绩 |n);printf( | 0-退出排序系统 |n);printf( |*Thank you !*|n); printf(请输入你要执行的操作:); scanf(%d,&choose); 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 *he

    9、ad,int choose)Student *p1,*p2=head-next,*pm,*px;Student mid;if (!p2) return head;for(p1=p2;p1-next!=NULL;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; p

    10、m-next=p1-next; p1-next=px; printf(n排序后的成绩表为:n);print(head); return head;void find(Student *head)Student *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请输入你要查询的学生的

    11、学号,输入0退出学号查询:); scanf(%d,&fnum); for(;fnum;) for(p=head-next;p!=NULL&p-num!=fnum;p=p-next); if (!p) printf(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

    12、-score1,p-score2,p-score3, p-sum); printf(nn请输入你还要查询的学生的学号,输入0返回上层); scanf(%d,&fnum); else printf(输入1 或者 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; prin

    13、tf(请输入新加入学生的姓名:,n); scanf(%s,p-name); printf(请输入新加入学生的语文成绩:,n); scanf(%d,&p-score0); printf(请输入新加入学生的数学成绩:,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

    14、; n+; printf(n请输入还要加入学生的学号,没有此学生则输入0表示结束:); scanf(%d,&flag); head=sort_1(head,1);printf(加入后的成绩表为:n);print(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);

    15、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=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=

    16、fopen(outfile,wb)=NULL) printf(不能打开文件n); exit(1); printf(n正在保存.n); while(p!=NULL) fwrite(p,sizeof(Student),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

    17、( |*|n);printf( | 1-输入学生成绩 |n);printf( | 2-成绩排序 |n);printf( | 3-查询学生成绩 |n);printf( | 4-添加学生成绩 |n);printf( | 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) ca

    18、se 1:printf(确定输入数据请按 1 nn); scanf(%d,&i); if (i=1) head=cin();print(head);break; else printf(n你做出别的选择,当作放弃建立!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: pri

    19、ntf(nn您的输入有误!请重新输入:nn);break; 2.1程序代码如下2.2、界面形式三、 使用说明学生学籍管理系统是针对学生信息的管理,主要功能是添加学生成绩、输入学生成绩、查询学生成绩、学生成绩排序、修改学生成绩、保存成绩。(1)进入主菜单,列出各项功能用户打开程序 (2)输入1进入录入界面,用户即可录入信息, (2)在主菜单中,输入2,则会进入排序界面, (3)、在主菜单中,输入3,则会进入查询界面,输入要查的学生的学号即可查询到信息。 (4)输入4 ,会进入添加学生成绩界面。(5)、在主菜单中,输入5,进入显示学生成绩界面(6)、在主菜单中,输入6,则会进入保存当前成绩,自动进

    20、行保存。四、日志 6月27 星期一 从今天起,正式开始做课程设计了。但坐到电脑前想开始做时,却不懂如何开始写起,都感到有点陌生了。因为前一阵一直在忙于各科的考试,好久没碰C语言了,都开始有生疏感了。但还是试着在电脑上编了下,光要写个主函数还很吃力,更头痛的吃力的结果还换来了很多错误,本想编译下,试试的,结果错误警告一大堆。鉴于此,我还是决定先把书再好好看下,“工欲善其事,必先利其器”嘛! 6月28期二 昨天看了一天的书,又加上今天看的,可却连一半还没看完。我是按部就班的顺序往下看的,但因为书的前半部分大多是基础知识,因此在晚上上课时依旧不知如何编写。折腾了一晚上,想编写要调用的函数的,试着编了

    21、好多,但都是些到处是错误的程序,根本没法用。而且编的时候还是发现自己好多东西都忘记了,因此觉得还是得接着去看书,没辙,还是先把书吃透,把基本程理论再实践吧! 6月29 星期三 今天又是啃了一天的书,本还想去机房试试的呢,结果都没来得及去,刚够把书看完。今天重点把数组、函数和文件部分看了下。晚上上机的时候在机器上试了下,并为我的主函数编了个结构体数组,用来存录入的信息。同时今晚在调试主函数时发现我的主函数没有清屏的功能,所有工作都在同一屏幕上。问了同学,为里面加了个清屏的语句,但要加这语句得另加个头文件,问为什么要加这头文件,他也不懂,只知道就是这样规定的,并且这些规定都是得记住的。还是学得不够

    22、多,得慢慢充实自己! 6月30 星期四 下午C语言考试,复习了一上午,丁点课程设计也没碰。等下午考完试直奔机房,编写了两小时,只给我的程序加了个添加了个“录入学生信息”的函数。在做时候碰到了不少的问题。主要是我的程序一次只能录入一个学生信息,好不容易加了个可以继续录入的语句,可又碰到了新的问题。当我录入学生信息的前三项后,就直接进入“是否继续录入”。我怀疑是有肯能在定义数组长度时定义太大了,当我把它缩小后再编译、连接、运行时居然成功了,可我现在还没确定到底时什么原因。又碰到新问题了。我把其他要调用的函数也加进去了,但是在用的时候发现加进去的那些函数都不能用,就一添加函数在运行时是正常的,而其他

    23、的进入是可以,但在执行的时候,它就会出来警告,说不能被读。自己找,也请同学帮忙找了,但都没找出毛病。碰这问题实在是难办,因为不能执行,我也就不知道这些函数在这里运行是否会正常,也就不知道是否需要改动。 关于“警告”的问题到现在还没解决,有点心烦意乱了,改了下程序,可问题又多了。在“查找”项里也出现了问题,在查找时候即使是查找一个人,它却也会每次都会把所查找的人给找出后,接着又会把其他人的信息以“查无此人”显示出来。反复检查下发现好像是算法的问题。是在循环里的时候出了错,它自己不停了,非得把所有的运行一遍在停。在我加了停止条件后问题总算是得到解决了。可“警告的问题今天还是没解决。警告”的问题困扰

    24、好久了,真是头痛,都快被它给崩溃了。今天上课时,我又检查和调试了下,可还是没找到问题在哪儿。自己是搞不定了,只能是请教老师了。虽然向老师去请教的人很多,但还是被我逮到机会了,让老师帮我看了下,检查发现原来是在调用函数和主函数中所定义的类型产生了差异。将被掉函数里的改过来后问题久解决。五、心得体会两周的课程过起来其实也是很快的。这是我第一次做课程设计,起初还没做的时候觉得很快自己就将得编一个较大的程序,将会很有意思。带着最初的好奇心,新鲜感就这样开始了第一天的编程,结果是大失所望。做课程设计并不是自己想象中的那样有意思,而是很枯燥,很乏味的。也没想象中的那样简单,并不是像我们平时上C语言课时,每

    25、次编的那些小程序,没那么简单。我们现在要做的就是将我们平时学的,做的那些小程序都合理的凑到一块儿来。而把这些小程序都加到一块儿来,并不是随意的将它们放到一个程序中就完事的,而是必须得合理,且得顾及到各个方面。正是由于编程的纷繁复杂,且结构的严谨,因此编程的过程中到处是困难和问题。它考验的不仅是我们的平时用功程度,以及我们对所学知识的熟练掌握程度、应用的灵活程度,它还考验我们的毅力。在刚开始的几天时,由于前一阵忙于各科的考试,C语言已经好久没碰了,所学的知识都有点遗忘了,在编写时处处碰壁,一直会停顿翻书,编得自己都开始心烦意乱了,实在是编不下去了,于是索性就停了三天去看书,先把书给吃透。并在后期

    26、的程序调试中也碰到不少的问题,好多问题自己反复检查了几遍都没查出,但在老师的帮助下还是一下就查出了。并不是这些问题多难,而是不够心细。因此做课程设计、编程时,它还考验并锻炼我们的心细程度。经过这次的课程设计的实践,我受益颇多,不仅是对我掌握知识、灵活运用知识的一次考验和锻炼,也是对我生活态度的一次锻炼,让我学会心细和拥有毅力,更具信心和恒心,碰到困难不再退缩,而是坚强面对。六、参考文献1谭浩强编著C程序设计北京:清华大学出版社,19912谭浩强编著C程序设计题解与上机指导北京:清华大学出版社,19923潭浩田淑清编著PASCAL语言程序设计第二版北京:高等教育出版社,19984Herbert Schildt 著戴健鹏译 C语言大全第二版北京:电子工业出版社八 致 谢在此我向在此次课程设计时对我进行指导的老师,还有帮助我的同学们。这个软件的实现固然需要自身的努力,当然也离不开同学们的帮助与讲解。缺少这些也许我的程序就无法调试完成。谢谢老师和同学们的帮助与讲解。 签名: 日期:2011年7月1日cin sortallsort-1 findadd new printsave main本文来自网络,版权归


    注意事项

    本文(学生成绩管理系统C语言课程设计成绩管理系统毕业设计.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开