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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

班级成绩管理系统C语言课程设计文档格式.docx

1、三、进度安排第一周 星期四: 课题讲解,查阅资料第二周星期一: 总体设计,详细设计星期二: 编程,上机调试、修改程序星期三:上机调试、完善程序星期四:星期五: 答辩星期六-星期天:撰写课程设计报告课程设计报告规范一、 需求分析1、程序的功能。2、输入输出的要求。二、 概要设计1、程序由哪些模块组成以及一个模块之间的层次结构、模块的调用关系;每个模块的功能。2、课题的总体数据结构和数据库结构;即要存储什么数据,这些数据是什么样的结构,它们之间有什么关系等。三、 详细设计1、采用C语言定义相关的数据类型。2、写出各模块的类C码算法。3、画出函数的调用关系图。四、 调试分析以及设计体会1、测试数据:

2、准备典型的测试数据和测试方案,包括正确的输入及输出结果和含有错误的输入及输出结果。2、程序调试中遇到的问题以及解决问题的方法。3、课程设计过程经验教训、心得体会。五、 使用说明用户使用手册:说明如何使用你编写的程序,详细列出每一步的操作步骤。六、 书写格式1、 设计报告要求用A4纸打印成册:2、 标题和正文要求见附13、 封面格式如下页。七、 附录1、参考书目2、源程序清单(带注释)第一章 绪论1.1 课程背景现代社会是飞速发展的信息社会,各行各业皆离不开信息管理与信息处理,正是计算机被广泛应用于信息管理系统的环境。计算机的最大优点在于利用它的信息管理,使用计算机进行信息控制。不仅提高了工作效

3、率,而且大大的提高了其安全性。尤其对于复杂的信息管理,计算机能够充分发挥它的优越性。而C语言是一门高级计算机编程语言,设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。C语言也很适合搭配汇编语言来使用(往往可以通过内联汇编语言或与汇编语言目标文件一起连接。对于任何一种操作系统环境。尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的C语言程序可在许多电脑平台上进行编译,甚至包含一些嵌入式处理器(单片机或称MCU)以及超级电脑等作业平台。本程序可以在短时间内得到总成绩并且得到相应的排名,节省时间。

4、在多名同学参加多门科目考试时很便捷,只要考试成绩出来,输入电脑就可以在短时间内得到总成绩,并知道了某学生在班级的排名,班级的最高分与最底分的情况以及某门课程的平均分,提高了工作效率。1.2 本文所作工作与同组同学一起审阅题目,认真分析该系统需要进行哪些步骤,如何操作,在草稿纸上定好提纲,将功能逐个解析。遇到不懂或解决不了的地方,查阅书籍,参考文献,上网查资料和上机时向老师寻求帮助等。第二章 需求分析对一个有N名学生,每个学生有M门课程的班级做一个系统,实现对班级学生的成绩的管理。该系统应具备成绩输入,成绩查看,成绩查找,成绩统计,成绩排序,成绩修改,成绩添加,成绩删除,成绩保存,退出程序等功能

5、。输入和显示的信息应该为学生的姓名,学号,各科成绩等内容。第三章 总体设计3.1 文字描述依次输入学生的姓名,学号和成绩,如果该生的信息在学生文件中没有记录,给出提示,完善学生信息,然后保存至学生文件中。最后返回主菜单。数据类型定义如下:姓名 char,学号 char,课程名称 char,成绩char。3.1.2 成绩查询打开学生文件或输入相关学生信息后,可以按照学生的“学号”查询成绩,显示该名学生的成绩与信息;如果查询记录不存在,给出提示信息找不到该学生信息。然后任意键返回主菜单。3.1.3 成绩修改开打学生文件或输入相关学生信息后前,用户需输入密码,密码错误无权修改;密码正确则可以按照“学

6、号”,查询信息,依次修改学生的“学号”,“姓名”,“语文成绩”,“数学成绩”,“英语成绩”和“计算机成绩”。先将修改后的学生信息预览,最后保存至学生文件。没有找到需要修改的信息,给出提示,然后按任意键返回主菜单。3.1.4 成绩统计打开学生文件或输入相关学生信息后,对所有科目进行统计,然后显示学生的“学号”,“姓名”以及各科“成绩”最高分的同学的信息和显示该科的平均分。3.1.5 成绩查看打开学生文件或输入相关学生信息后,按“科目名次”查询,进行“排序;如果查询信息不存在,给出提示。3.1.6 成绩保存其他功能的运行都需要从保存的学生文件中调用,对学生文件操作步骤后,利用指针与地址的作用,经过

7、一系列操作,会将信息资料保存成.txt格式。3.1.7 成绩添加打开学生文件或输入相关学生信息发现遗漏的学生后,输入遗漏学生人数,然后依次输入学生的“学号”,“姓名”,“语文成绩”,“数学成绩”,“英语成绩”和“计算机成绩”,然后任意键返回主菜单。3.1.8 成绩删除通过输入学生学号,然后显示该名同学信息,并提示是否删除。操作完成后任意键返回主菜单。3.1.9 退出系统每执行一个具体的功能,程序重新显示菜单;完成相关程序后,退出系统。如果此前没有进行“保存文件”步骤,给出提示是否保存成功,然后任意键返回主菜单。3.2 模板划分图3.2.1 总层次图3.2.2 基本总流程图3.3 功能介绍图3.

8、3.1 成绩查询流程图3.3.2 成绩添加功能第四章 详细设计根据功能模块设计思路,主要功能模块的算法设计思路,班级内同学的相关信息应包括“学号”,“姓名”,“各科成绩”。此程序应具备“成绩输入”,“成绩查看”,“成绩查找”,“成绩统计”,“成绩排序”,“成绩修改”,“成绩添加”,“成绩删除”,“成绩保存”,“退出程序”等功能。详情如下:4.1 系统模块函数4.1.1 模块函数组成01.主函数 void main()02.成绩输入函数 enter()03.成绩查询函数 find()04.成绩修改函数 modify()05.成绩统计函数 count()06.成绩察看函数 look()07.文件保

9、存函数 save()08.成绩添加函数 add()09.成绩删除函数 deleted()10.主界面函数 home()11.退出系统函数 exit()4.1.2 模块函数介绍01.menu():用switch执行功能选项;用do.while执行每种功能完成后返回菜单。02.enter():用scanf一一对应输入学生的信息;用for循环输入多门成绩;最后用save()函数保存。(参考03.find():用于查询全班各科成绩,与学生姓名,学号,科目相对应。为了美观采用5%换行输出,使信息简洁明了。04.modify():用于修改成绩或学生信息。定义好一个密码以及mm=0;如果密码错误mm=1,用

10、do.while执行是否重新输入密码;密码正确获得修改信息的权限。(参考.1.3)05.count():调用一个menu1()执行菜单功能,用switch执行用户想进行的排序,调用paixu1(),paixu2(),再用menu()函数转回菜单。06.look():定义choice1(),根据用户需要对信息执行所需的排序(参考07.save():用于使用系统功能对学生文件产生变化后,保存学生文件。4.2学生信息数组typedef struct student char number10; char name20; float scoreM; float aver;STU;第五章 测试5.1 测

11、试图展示图.1主界面。图.2菜单栏。图.3查看成绩。图.4查询栏。图.5平均成绩。图.6添加功能。图.7删除功能。图.8保存功能。5.2 系统调试01:在enter()函数中对学生成绩的输入用scanf(“%d”,s);当输入一门成绩后就会跳回,使接下来的程序无法运行,改为for(j=1;j=M;j+) scanf(“%d”,&si.scorej);将错误解决。02:在enter函数中,输入姓名用scanf(“%s”,&si.name);错误,在scanf函数中的输入项如果是字符数组名代表该数组的起始地址.则应改为scanf(“%d”,si.name);03:在运行find()函数时,第四门课

12、显示出来的分数并非输入项:错误,在定义时将j=1,要改为j=0。04:学生成绩定义为浮点型,但与scanf连接不起来。是由于所使用的系统不支持该项操作。05:在count()函数中,paixu3();输出的人数比实际的多一人,因为b+:在循环结束之后会自增一次,则比实际的大一。5.3 分析结果为了使调试程序简便,先定义班级的人数N为2人,编译连接后,显示出菜单桌面,先输入学生成绩保存起来。2:选择2.在用循环输出学生的基本信息的最后加printf(“n”);,则输出学生的基本信息是每行显示一位同学的信息。3:选择5.修改函数中用getchar()来覆盖原有的,则就可输出修改的信息。4:在mod

13、ify( )函数中,当输入一个错误的密码时会出现死循环,因为跳出的位置错误了。第六章 使用说明运行系统以后,主界面需要输入帐号和密码,分别为“jintong”,“123456”。进入菜单后,按“1”键进入“输入想添加的学生人数,相关信息与成绩”,按任意键返回主菜单;按“2”键进入“查看全班学生的信息与成绩”功能,可以按任意键返回主菜单;按“3”键进入“按学号查询班级内某个同学的信息与成绩”功能,可以按任意键返回主菜单;按“4”键进入“查询班级平均分与各科平均分”功能,可以按任意键返回主菜单;按“5”键进入“按学号查看和修改班级内某个同学的信息和成绩”功能,可以按任意键返回主菜单;按“6”键进入

14、“想添加的人数和相关学生信息与成绩”功能,可以按任意键返回主菜单;按“7”键进入“按学号查询到班级内某个同学的相关信息并提示是否删除改名学生信息”功能,可以按任意键返回主菜单;按“8”键进入“保存全班同学信息”功能;按“9”键退出程序。第七章 总结课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程.随着科学技术发展的日新日异,当今计算机应用在是生活中可以说得是无处不在。因此作为二十一世纪的大学来说掌握计算机开发技术十分重要的。我的题目是班级成绩管理系统的设计,对于我们这些新手来说,这是很大的考验,我一千次一万次的

15、问自己,怎么才能找到课堂所学与实际应用的最佳结合点?怎么才能让自己的程序在篇幅上简单,在使用价值上丰富?怎样让自己的业余更靠近专业?怎样让自己的计划更具有序性,而不会忙无一用?机会是老师,学校,以及无数代教育工作者给的,而能力是自己的,耐性是需要的。经过自己的琢磨,还查阅了很多书籍,才做到了心中有数,才了解了C语言课程设计的真正用意培养自学能力,养成程序编辑的好习惯。我从来不相信车到山前必有路的说法,认为那只是懒惰者自寻懒惰的借口,我要积极,要把握,要努力。回顾起此次课程设计,至今我仍感慨颇多,的确,从从拿到题目到完成整个编程,从理论到实践,在整整半个学期的日子里,可以学到很多很多的的东西,同

16、时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,比如说结构体等等。通过这次课程设计之后,一定把以前所学过的知识重新温故。这次课程设计终于顺利完成了,在设计中遇到了很多编程问题,最后在郭老师的辛

17、勤指导下,终于游逆而解。同时,在郭老师的身上我学得到很多实用的知识,在次我表示感谢!同时,对给过我帮助的所有同学和各位指导老师再次表示忠心的感谢。做完这个课程设计,我们的自信一下子提高了,我们也会写程序了;尽管对于有些人这种程序会很简单,可对于我们C语言初学者来说,已经很不容易了。这次体验为以后的学习计算机的我们增强了信心。享受劳动成果的滋味实在美妙啊!在课程设计过程中,我学到了很多人生的哲理,懂得怎么样去制定计划,怎么样去实现这个计划,并掌握了在执行过程中怎么样去克服心理上的不良情绪,黑夜过去了,我们收获的是黎明。在本次实践中,给我印象最为深刻的是在文件删除程序的编译过程中,先有我的各个子程

18、序都已经编辑成功,那么这最后的程序就将是我成功的关键。老天不会让我太过顺利,他在这最后的时刻设置的障碍,是要考验我的能力,他要置我于死地?在这个问题的解决上,我打了退堂鼓,我不能忍受长时间的无功而反,时间正在消磨我的意志。没有了柳暗花明的一天,那么我怎么能说经受住了考验?谢谢老师的那句话,她说:人力有所不能及,然而,人的精神是不会败倒的。我鼓起勇气,到处问,到处查资料,黄天不负有心人,在一篇文章上,终于看到了我所特别要求的函数,我实现了组合是关键的理论。不得不说这是精神的胜利,是永不言败的精神让我的程序重见天日。谢谢给我指点迷津的老师。附1:源程序代码#includestring.hwindo

19、ws.hprocess.hconio.h#define N 20#define M 4STU stuN;int n;void enter();/输入void save();/保存void avergescore();/平均分void home();/主界面 void look();/查看void find();/查找void count();/统计void add();/添加void modify();/修改void deleted();/删除void menu();/菜单void exit();/退出void main()/主函数开始 int i,k=0; char username15,p

20、wd6; printf(nn); tn t*n t* *n t* 欢迎使用班级成绩管理系统 *n t* 湖南工程学院 *n t* 指导老师:王颖 *n t* 操作学生:金潼 *n tn for(i=0;i3;i+) printf(n请输入我的名字: gets(username);n请输入权限密码: gets(pwd); if(strcmp(username,jintong)=0)&(strcmp(pwd,123456)=0) printf(n您已经成功登录n k=1; for(i=0;20; printf(. Sleep(100); system(cls home(); break; else

21、n用户名或密码无效 请重新输入:n continue; if(k=0)n连续输入错误3次 将退出程序n Sleep(2000); exit(0);void home() /*功能选项调用*/ int mm=0; menu(); do mm=1; switch(getch() case 1 : enter();break; /*成绩输入*/2 look(); /*成绩查看*/3 find(); /*成绩查找*/4 count(); /*成绩统计*/5 modify(); /*成绩修改*/6 add(); /*成绩添加*/7 deleted(); /*成绩删除*/8 save(); /*成绩保存*

22、/9 /*退出程序*/ default :输入有误n 按任意键继续n getch(); menu(); while (mm=1);void menu() /*进入菜单*/ system(*欢迎进入学生成绩管理系统*n 菜单 n 1、成绩输入 n 2、成绩查看 n 3、成绩查询 n 4、成绩统计 n 5、成绩修改 n 6、成绩添加 n 7、成绩删除 n 8、成绩保存 n 9、退出系统 n*请选择相应的功能号(1-9):*nvoid enter()/*输入信息和成绩功能*/ int i,j;输入班级学生人数: scanf(%d,&n); n;请输入学生%d的学号 姓名:,i+1); scanf(%s%s,stui.number,stui.name);请输入学生成绩:语文t数学t英语t计算机n for(j=0;M;j+) scanf(%fstui.scorej);成功输入nvoid avergescore()/*计算平均分功能*/ stui.aver=0; stui.aver+=stui.scorej;

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

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