最新C课程设计报告--学生成绩管理系统.doc

上传人:1595****071 文档编号:34716914 上传时间:2022-08-18 格式:DOC 页数:68 大小:252KB
返回 下载 相关 举报
最新C课程设计报告--学生成绩管理系统.doc_第1页
第1页 / 共68页
最新C课程设计报告--学生成绩管理系统.doc_第2页
第2页 / 共68页
点击查看更多>>
资源描述

《最新C课程设计报告--学生成绩管理系统.doc》由会员分享,可在线阅读,更多相关《最新C课程设计报告--学生成绩管理系统.doc(68页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、Four short words sum up what has lifted most successful individuals above the crowd: a little bit more.-author-dateC课程设计报告-学生成绩管理系统C语言程序设计课程设计学生成绩管理系统课程设计一,需求分析: 晴天霹雳,在毫无准备的情况下,老师突然给我们布置了一个课程设计,而且时间只有一个星期,非常紧急.虽然题目可以自己决定,范围很乏,很多题目在脑里飞来飞去,但都是一闪而过,总是捕捉不到一个明确的课题,一开始自己的头脑里犹如一片空白,该选什么课题来做呢?为了想这个问题,我绞尽了脑汁

2、,最后,根据实用性,我决定设计一个学生成绩管理系统.由于自己也是一个学生,经常跟成绩打交道,以前的成绩自己搞得很乱,每次想找以前的成绩看一下,做个总结,以便制定新一个近期计划.可是以前的成绩都没有系统的管理,所以搞起来很麻烦,于是决定做一个学生成绩管理系统.这个系统实用性非常强,操作起来也非常简单,可以很容易的查找到你所要的信息.例如:如果你要查看某个学生的成绩,只需要输入那个学生的姓名就可以了,系统会自动打印出该学生的有关信息,如学号,姓名,每一学科的成绩等,非常简洁,一目了然. 由于时间的紧迫,也由于这是自己第一次设计系统,没什么经验,基础知识也还不是很扎实,所以这个学生成绩管理系统还存在

3、着一定的局限性,希望老师和同学们多多指正,也希望它能为大家带来方便!二,概要设计:1. 数据结构设计 设计这个系统,我选择了用结构体来存放不同类型的数据.在这个过程当中,我有打算过用指针,但由于指针这章节非常复杂,而且刚讲不久,自己了解的还不够透切,而且用指针要非常的小心,不然很容易出错,对刚学不久的同学来说,要查出其中的错误,也不那么简单,所以为了尽量减少发生错误,我就没有将指针利用到其中. 2.系统的结构设计主函数 退出系统功能选择进入系统 删除学生成绩排序学生成绩插入学生成绩查看学生成绩3,算法设计说明查看成绩输入姓名是否相等输出相关信息结束YN插入成绩输入相关信息进行整理输出插入结果结

4、束YN删除成绩输入要删除的学号与哪个相等将之删除输出删除结果结束YN排序成绩按字母大小输出排好的信息结束YN按学号排按字母排按学号大小输出排好的信息YN4,资料库里包含有的学生成绩信息:1,li,85,86,87,81, 2,zhang,75,76,78,72, 3,wu,65,66,67,69, 4,chen,85,76,71,63, 5,dai,65,68,94,83, 6,hua,64,84,82,86, 7,zhuang,71,78,68,74, 8,ye,82,83.76,65, 9,zeng,91,83,86,78, 10,wang,68,88,76,95,三,详细设计 1.建立主

5、函数与界面#include#include#includevoid interface();void search();void insert();void dayin();void dele();void paixu();void xuehao();void zimu();void exit();struct student int num; char name20; int computer; int math; int english; int physics; stu10=1,li,85,86,87,81, 2,zhang,75,76,78,72, 3,wu,65,66,67,69,

6、4,chen,85,76,71,63, 5,dai,65,68,94,83, 6,hua,64,84,82,86, 7,zhuang,71,78,68,74, 8,ye,82,83.76,65, 9,zeng,91,83,86,78, 10,wang,68,88,76,95, ;void main() int j,i; interface(); for(i=0;i5;i+) printf( 请输入你要进行操作的编号,以回车键结束n); scanf(%d,&j); switch(j) case 1: search(); break;case 2: insert(); break;case 3:

7、dele(); break;case 4: paixu(); break;case 5: exit(0); default:printf(errorn); void interface() printf( $n); printf( n); printf( 学生成绩管理系统 n); printf( n); printf( 设计者:陈宗华 n); printf( n); printf( $n); printf( n); printf( & n); printf( & & n); printf( & 1,查询学生成绩; & n); printf( & & n); printf( & 2,插入学生成绩

8、; & n); printf( & & n); printf( & 3,删除学生成绩; & n); printf( & & n); printf( & 4,排序学生成绩; & n); printf( & & n); printf( & 5,退出. & n); printf( & & n); printf( & n);2,查找学生成绩资料void search() int i; char stu_name20; printf(请输入所要查询的学生的姓名n); scanf(%s,stu_name); for (i=0;i10;i+) if(strcmp(stu_name,stui.name)=0)

9、 printf(学号:%d,姓名:%s,计算机:%d,数学:%d,英语:%d,物理:%dn,stui.num,stui.name,puter,stui.math,stui.english,stui.physics);3,插入新学生成绩void insert() int k; printf(要进行插入操作请按1,要查看插入结果请按2n); scanf(%d,&k); switch(k) case 1:tianjia();break; case 2: dayin();break; tianjia() int n,z; for(n=0;n30;n+) if(stun.num=0) printf(请输

10、入新学生的学号:n); scanf(%d,&stun.num); printf(请输入新学生的姓名:n); scanf(%s,stun.name); printf(请输入新学生计算机的成绩:n); scanf(%d,&puter); printf(请输入新学生数学的成绩:n); scanf(%d,&stun.math); printf(请输入新学生英语的成绩:n); scanf(%d,&stun.english); printf(请输入新学生物理的成绩:n); scanf(%d,&stun.physics); printf(恭喜插入成绩成功n); break; insert(); void d

11、ayin() int z,i; for(z=0;z30;z+) if(stuz.num=0) for (i=0;iz;i+) printf(学号:%d,姓名:%s,计算机:%d,数学:%d,英语:%d,物理:%dn,stui.num,stui.name,puter,stui.math,stui.english,stui.physics); printf(n); break; 4,删除学生成绩void dele() int i,j,k,n; for(n=0;nn) printf(输入错误n); else for(j=0;j9;j+) if(stuj.num=k) for(i=j;ik) stui

12、.num=stui+1.num-1; strcpy(stui.name,stui+1.name); puter=stui+puter; stui.math=stui+1.math; stui.english=stui+1.english; stui.physics=stui+1.physics; printf(删除成功,请看删除结果n); for(i=0;in-1;i+) printf(%d,%s,%d,%d,%d,%dn,stui.num,stui.name,puter,stui.math,stui.english,stui.physics); 5,排序学生成绩void paixu() in

13、t i,m; for(i=0;i2;i+) printf(按学号排序请按1,按字母排序请按2n); scanf(%d,&m); switch(m) case 1:xuehao();break; case 2:zimu();break; void xuehao() int i,j,t; char m20; for(j=0;j=10;j+) for(i=0;istui+1.num) t=stui.num; stui.num=stui+1.num; stui+1.num=t; strcpy(m,stui.name); strcpy(stui.name,stui+1.name); strcpy(stu

14、i+1.name,m); t=puter; puter=stui+puter; stui+puter=t; t=stui.math; stui.math=stui+1.math; stui+1.math=t; t=stui.english; stui.english=stui+1.english; stui+1.english=t; t=stui.physics; stui.physics=stui+1.physics; stui+1.physics=t; for(i=0;i10;i+)printf(%d,%s,%d,%d,%d,%dn,stui.num,stui.name,puter,stu

15、i.math,stui.english,stui.physics); void zimu() int i,j,t; char m20; for(j=0;j=10;j+) for(i=0;i0) t=stui.num; stui.num=stui+1.num; stui+1.num=t; strcpy(m,stui.name); strcpy(stui.name,stui+1.name); strcpy(stui+1.name,m); t=puter; puter=stui+puter; stui+puter=t; t=stui.math; stui.math=stui+1.math; stui

16、+1.math=t; t=stui.english; stui.english=stui+1.english; stui+1.english=t; t=stui.physics; stui.physics=stui+1.physics; stui+1.physics=t; for(i=0;i10;i+)printf(%s,%d,%d,%d,%d,%dn,stui.name,stui.num,puter,stui.math,stui.english,stui.physics); 四,调试分析1,当系统无误,顺利进入学生成绩管理系统时,会看到一个菜单界菜单界面的最下方有提示操作(请输入你要进行操作

17、的编号,以回车键结束),告诉你如何使用该系统!该系统操作非常简单,你所要进行的每一步操作它都会提示你该如何做,就算你是第一次接触该系统,你也可以很顺利地利用它完成你所要做的事!例如你按1,过程及结果如下: 根据提示按你所要进行操作的编号(按1),然后它会继续提示你(输入所要查询的学生的姓名),当你输入(wang)完毕后,系统会自动把你要查询的那个学生(wang)的资料打印出来,你可以很清楚的看到该学生(wang)的相关资料.2,当你觉得当前学生资料不够完善时,可以按2为它添加新的资料;过程如下:当你插入新生成绩成功时,系统会有提示(恭喜插入成绩成功);这时,如果你想查看插入结果,可以按2;结果

18、如下:这时,系统会将资料库里面的所有资料跟你刚才插入进去的新资料一起打印出来;但此时会发现系统有一个缺点,就是我刚才插入进去的新学生成绩信息没有继续保存下来,此时要是我按1执行查看的时候,输入刚才所输入的新学生名字luo,系统不输出luo的信息,这是它的一个不足之处,以后有时间我会将其完善的.该系统不但可以添加新资料,也可以删除你觉得没用的资料,其操作是按功能选择键3,然后按提示一步一步操作,过程如下: 删除之前 可以看到,删除之后原来学号5之后的学生成绩资料已经向前移动一个位置,自动把原来学号5的位置填补上. 当你想为了工作方便一点,要把学生的资料按一定的要求排序的话,可以按4,过程及结果如

19、下: 上面左边的是按学号排序的,右边是按字母排序的,用户可以按照自己的要求选择不同的功能来实现自己的目的.五,课程设计总结 紧张而又充实的一个星期即将过去,在这一个星期里,通过做课程设计,自己的感触甚多,收获也很多.发现自己对课本知识的认知提升到了一个新的层次,就好像站在一个山峰上俯瞰,可以比较系统地,全面的理解课本上的内容.过去觉得理解得模模糊糊的知识点,现在基本上都可以掌握了.这又一次验证了实践能够反作用于认识,只有自己真真正正地动手去做了,将自己学到的,或者是只学到一半半的课本知识应用到实际中去,当遇到问题时,再细心地,耐心地慢慢去推敲,去查找错误,看看是哪一步错了,错在哪里.找出问题后

20、再翻翻课本,看课本还解决不了问题就问同学问老师,直到解决问题为止.这时,当你回头看时,你会突然发现自己已经学到了很多东西,有课本上之前不明白的知识点,也有在程序设计过程中遇到问题时该如何去面对,如何去解决的方法.其实,我发现导致程序出现问题错误或运行不了,很大部分原因归结于对课本知识点的不熟悉或理解错误.这些要是不亲自动手去做,光看课本是没有多大作用的.当我通过自己的努力或老师跟同学的帮助下,解决了一个问题,才发现原来这个知识点应该这样用. 通过这次课程设计,我体会最深的就是,不能只看课本,要经常动手去练习一下,看课本加上做练习,效果非常好,可以做到事半功倍.这样知识点记得会比较牢固一些.通过

21、练习还可以培养自己的设计思维,让自己以后设计程序时思维会活跃一些,转得快一些. 在这课程设计接近尾声时,我总结了一下自己在设计时经常犯的一些错误,诸如for循环语句,括号里面的条件之间应该是用分号分开的,而我经常会忘记,都是用逗号来分开的,这导致程序运行不了,自己检查了一遍又一遍还是发现不了问题的所在,后来叫同学帮忙看了一下,才发现问题出现在哪里.就这么简单的,基本的一个错误,常常会令自己花上半个小时或者更长的时间,都无法找出来.类似的错误还有,就是经常会在语句后面忘了加上分号.但现在这些问题不会再出现了,经过这次的实践,我懂得了很多,很多语句用起来都比较熟悉了,更重要的是积累了一些经验,将来可以少走些弯路,不再像刚开始的时候,像一个迷路羔羊一样到处乱窜. 虽然这次的课程设计即将结束,设计的系统也可以运行了,但我知道它现在还只是个雏形,还不够完善,还存在不足之处,还需要我的进一步改善.今后我会更加努力,学习更多的知识来完善它,把它的功能做大,做强!-

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 成人自考

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁