电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

学生成绩管理系统课程设计报告

36页
  • 卖家[上传人]:ni****g
  • 文档编号:494642667
  • 上传时间:2023-03-20
  • 文档格式:DOCX
  • 文档大小:133.48KB
  • / 36 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 1、目录引言1一、系统概述2二、需求分析21、系统需求22、开发环境4三、详细设计6四、所遇到的问题和分析解决15五、系统特色及关键技术 16六、结论及心得体会16七、附录(源代码)17参考文献35引言通过本课程设计,使自己更加系统地理解和掌握数据结构的基本概念;能自如地 根据实际要求,设计相应的数据结构,并运用 c或C+语言实现所设计的算法,编写 较大型的程序,分析和解决实际应用问题,进一步加深、巩固所学专业课程的基本理 论知识,理论联系实际,进一步培养自己综合分析问题和解决问题的能力。掌握C语言或C+语言独立的编写、调试应用程序和进行其它相关设计的技能。此项目主要是考察我们对结构体、数组、文件等具体操作,以及对C语言语法的掌握,所以做成此项目要求比较高的设计要求,对整体有很熟悉的概括,同时调试过 程也是很重要的,对程序界面的要求也比较高,要设计的合理同时也要美观一点,能 够人性化的描述清楚你的各个功能,一目了然,对其他用户使用本程序简单易懂,这 才能成本程序或本系统是成功的。对于学生成绩管理系统,此项目每年都有学生去做,但是能够在其他项目中脱颖 而出,还要有自己的设计特色,用简单的语言

      2、详细描述系统的功能,这才是关键。这个设计能够练习我们的理解和运用结构化程序设计的思想和方法,掌握开发一 个小型实用系统的基本方法,学会调试一个比较长的程序的基本方法,同时掌握书写 程序设计开发文档的能力。1一、系统概述1、课程设计应完成的工作(1)编写算法(2)算法测试,并有具体的测试结果和结果分析(3)撰写课程报告,内容包括: 封面 目录 课程设计报告正文 使用说明 参考文献2、总体设计工作(包含几大功能模块)(1)输入学生信息并保存到文件(2)读取文件并输岀学生信息(3)按学号及学期查询(4)按姓名及学期查询(5)按学号及学期修改信息(6)插入信息(7)按学号及学期删除信息(8)按数据结构降序(冒泡)排序(9)按总分降序(选择)排序(10)统计各科成绩的总分和平均分(11)退岀二、需求分析1、系统需求(1)问题描述:该系统实现对若干个大学生的学习成绩进行管理。至少包括以下信息:学号、姓名、科目、成绩,学期。学期取值范围可为1-8。2(2)功能要求:1 使用中文菜单,界面设计和用户输入输岀要人性化些;2.将学生信息保存在文本文档中,具体对学生信息进行插入删除查询操作时,将保存在文本

      3、文档中的学生信息提取岀来,保存在自己定义的数据结构中,然后再对该数据结构进行操 作,所有操作完成,或者在相应的命令后,再将学生信息保存到文本文档中。3具有数据输入功能,输入的数据能最终保存在文件中;4 具有数据删除功能,能最终从文件中删除;5 排序功能,根据自己设计的数据结构,设计排序算法6具有多种查询(如按学号查询、按姓名查询、按成绩查询等)及输岀功能;7其它功能(如各种统计,统计每个学生所有课程的平均分,统计某门课程所有学生的平均分等等)8学生信息的修改(比如修改学生姓名,修改学生某门课程的成绩)(3)说明: 功能各方面越完善越好 自定义的数据结构可以使用数组,链表,树等,然后根据不同的数据结构,设计不同的排序,查找算法。其中,排序算法至少有两种,可以使用多种数据结构来存放数据,然后在其上使用不同的排序算法。 若用数组,必须动态分配空间(文本文件中最好有一行表示学生人数)(4)、输入输出的形式本系统是一个学生成绩管理系统,采用 VC+6.0编译器作为开 发环境,这个环境是我们在学 习C+的平台。输入数据类型主要是char、int、float等数据类型,输入内容包括:学期、学号、姓名

      4、、高等数学成绩,数据机构成绩,组成原理成绩,总分,平均分等数据。用户在输入学生数据 时要保证输入数据格式的正确性,系统不会自动检测输入的数据是否正确,输出形式与输入形式类似,根据需要可以选择显示输入的各项内容,还可以选择显示计算好平均分后并排序后的记录, 示内容包括:学期、学号、姓名、高等数学成绩,数据机构成绩,组成原理成绩,总分,平均分等 数据。32、开发环境Visual C+不仅仅是是一个 C+编译器,而是一个基于 Windows操作系统的可视化集成开发环境IDE,这种环境开发岀来的软件稳定性好、可移植性强,可以编制各种各样的Windows应用程序。三、详细设计1,即可进入输入学生数据页面)在本界面里用户可以输入学生相关的信息数据,按照提示进行操作即可,例如:所有操作均有提示语,比较人性化的管理,易懂,简单。3、大概设计模块(1) 先编入系统所需的库函数,从而使程序可运行。#include#include#include主要是对cin,cout之类的一些操纵运算,是I/O流控制头文件。#include /文件和标准控制台的输入输岀#include(2) Main()函数的设计在ma

      5、in()函数中主要运用 do-while循环语句和 switch()-case选择判断语句来调用相关功能模块。系统的运行是在一个永真的循环里进行的,只有在主界面并选择“退岀”时,才会跳岀永 真循环,并退出程序。(3)主界面的设计在主界面中包括“输入学生信息并保存到文件读取文件并输岀学生信息按学号及学期查询按姓名及学期查询按学号及学期修改信息插入信息按学号及学期删除信息按数据结构降序(冒泡)排序 按总分降序(选择)排序 统计各科成绩的总分和平均分11退岀”等全部的功能,之所以设计这麽一个主界面,一是因为能使用户对程序操作的流程更加清晰简明,二是保证了用 户同时只能对一个文件进行操作系统的要求,保证了系统不会打开文件紊乱或者岀现致命的错误。每 个函数体如下:Void main();/主函数void input(Student *r);/输入学生信息及数据void output(Student *r);/输岀学生信息及数据void searchnum(Student *r);按学号及学期查找学生信息void searchname(Student *r);/按姓名及学期查找学生信息void c

      6、hange(Student *r);/按学号及学期修改学生信息Student *insert(Student *r);/ 插入学生信息void shanchu(Student *r);/按学号及学期删除循声信息void maopao(Student *r);/按数据结构降序(冒泡)排序void xuanze(Student *r);/按总分降序(选择)排序void tongji(Student *r);/统计各科总分和平均分信息4、详细设计思想(1) 确定语言算法由于之前都没有做过类似的设计,所以一时间不能够确定到底使用何种语言来设计本系统,所 以在网上看了一些其他人设计的程序,链表的、数组的,C+的,各种各样的,也不知如何选择,但是仔细地看了其中的设计思想,最终还是用C+和指针数组的来做,一是觉得本人对链表掌握的不是很熟练,那么在设计过程中容易产生不能理解的错误,耽误时间,二是想运用C+,可以巩固一下所学的数据结构的知识,之前做实验的时候一直用C来做,都没怎么用所学的知识,这时候想练练。就这样确定了整体的结构算法。(2) 确定程序主要功能模块这个就比较简单了,主要是根据系统设计的说明

      7、及要求来设计,从而设计了十大功能模块,有文件操作,有系统维护功能,排序和统计功能,有输入输出等基本功能,比较人性化,添加了较多的 提示语。这个程序的主要功能时输入学生的学号,姓名,学期和三科成绩来对其进行存储,在存储后 可以对学生的成绩按学号及学期或姓名及学期来进行查询,同时输岀此同学的平均分及总分,之后可 以对某个同学的成绩进行各种操作,例如修改,删除等,同时还可以对学生们的成绩按照总分或单科成绩排序,在整个过程中所做的操作都会保存到student.txt文件中并显示。(3) 系统结构体的设计Stude ntint term;/ 学期int num;/ 学号char name12; 姓名float markl;/ 成绩float mark2;float mark3;float sum;/ 总分float average;/ 平均分;Stude nt结构体说明表名称属性说明term数据成员说明学生学期:num数据成员说明学生学号n ame数据成员说明学生名字markl数据成员说明学生高等数学成绩mark2数据成员说明学生数据结构成绩mark3数据成员说明学生组成原理成绩sum数据成员说

      8、明学生总成绩average数据成员说明学生平均成绩(4) 各功能模块的设计* 主函数模块用函数void main() 来实现主要是来显示主菜单,使用户选择操作。首先定义一个指针数组(全局使用)Stude nt *p=(Student *)new Studentnum;在此处num是指学生个数,并不是学号,之前有定义的(不要弄混了),在这里应用了 do-while 和switch-case语句来进行选择,是个比较简单实现的模块。最后若选择“ 11”则是保存记录并退岀永真循环。*输入学生记录模块用函数 void input(Student *r);来实现主要功能用来对学生的成绩进行收集和输入。首先会有个提示“输入最初要求的学生数”,之 后跳岀主菜单,选择1,进入输入模块输入所需学生个数的学生信息,比如学期,学号,姓名,成绩 等。输完之后会自动跳岀主菜单,根据主菜单来在此基础上进行操作。期间会有一些提示语,按此操 作即可。根据if和for语句来判定期间是否有重复学号输入,在本操作中,允许有重复学生姓名岀 现。在此模块中,用到了文件操作的指针FILE *fp;同时也用到了一个控制变量t,它是用来判定的条件变量,t=1表示找到了与之重复的学号,t=0表示未岀现重复学号。在此期间会根据语句算岀总分和平均分,并默认按学号排序保存到文件中去。之后返回主菜单。写文件操作代码:if(fp=fope n(stude nt.txt,w)=NULL) cout文件不能打开endl;exit(O);for(n=O;n i; n+)fprin tf(fp,%d %s %.1f %.1f %.1f %d %.1f %.1f,r n.n um,r n . name,r n.mark1,r n.mark2,r n.mark3,r n .term,r n.sum,r n.average);fprin tf(fp,n);fclose(fp);cout文件已经写入endl;*显示学生记录模块用函数 void output(Student *r);来实现主要功能是用来显示学生的信息

      《学生成绩管理系统课程设计报告》由会员ni****g分享,可在线阅读,更多相关《学生成绩管理系统课程设计报告》请在金锄头文库上搜索。

      点击阅读更多内容
    最新标签
    监控施工 信息化课堂中的合作学习结业作业七年级语文 发车时刻表 长途客运 入党志愿书填写模板精品 庆祝建党101周年多体裁诗歌朗诵素材汇编10篇唯一微庆祝 智能家居系统本科论文 心得感悟 雁楠中学 20230513224122 2022 公安主题党日 部编版四年级第三单元综合性学习课件 机关事务中心2022年全面依法治区工作总结及来年工作安排 入党积极分子自我推荐 世界水日ppt 关于构建更高水平的全民健身公共服务体系的意见 空气单元分析 哈里德课件 2022年乡村振兴驻村工作计划 空气教材分析 五年级下册科学教材分析 退役军人事务局季度工作总结 集装箱房合同 2021年财务报表 2022年继续教育公需课 2022年公需课 2022年日历每月一张 名词性从句在写作中的应用 局域网技术与局域网组建 施工网格 薪资体系 运维实施方案 硫酸安全技术 柔韧训练 既有居住建筑节能改造技术规程 建筑工地疫情防控 大型工程技术风险 磷酸二氢钾 2022年小学三年级语文下册教学总结例文 少儿美术-小花 2022年环保倡议书模板六篇 2022年监理辞职报告精选 2022年畅想未来记叙文精品 企业信息化建设与管理课程实验指导书范本 草房子读后感-第1篇 小数乘整数教学PPT课件人教版五年级数学上册 2022年教师个人工作计划范本-工作计划 国学小名士经典诵读电视大赛观后感诵读经典传承美德 医疗质量管理制度 2
    关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
    手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
    ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.