学生成绩管理系统报告文档
学生成绩管理系统报告(完整版)

目录摘要 (1)第1章需求分析 (2)1.1 引言 (2)1.2 用户需求 (2)第2章概念设计 (8)2.1 实体E-R图如下: (8)第3章详细设计 (10)第4章编码和实现阶段 (12)4.1 公共类 (12)4.2 主程序设计 (12)第5章运行维护阶段 (20)第6章总结 (21)学生成绩管理系统设计与实现摘要学生成绩管理系统是学校不可或缺的一个组成部分,随着计算机技术的逐渐发展,计算机在教育系统中的应用得到了巨大的发展。
教务管理正在逐步迈向管理信息现代化。
但是我国的教务管理信息化水平还处在初级阶段,主要表现在对学生的成绩管理、学生的课程管理还是采用原有的人工管理方式。
学校的规模不断扩大,学生数量急剧增加,有关学生的各种数据也成倍增长。
面对庞大的信息量,这时的人工管理几乎无法实现,在这种情况下用数据库进行管理变的尤为必要,这可以发挥计算机的优势,就需要有教务管理系统来提高学生成绩管理工作的效率.通过这样的系统,可以做到信息的规范管理,科学统计和快速的查询,从而减少管理方面的工作量和减少人为的错误。
本次我们组选的就是学生成绩管理系统,要实现对学生成绩、课程的相关管理。
关键字:学生成绩管理系统;Visual Studio 2005 ;Access数据库第1章需求分析1.1 引言进行数据库设计首先必须准确了解也分析用户需求(包括数据和处理)。
目的是为学生成绩管理数据库系统的设计打下牢牢的基础,是数据库开发的重要文件依据,主要为数据库设计人员使用,是用户和系统分析员的项目依据文件。
作为“地基”的需求分析是否做得充分与准确,它决定了在其上构建数据库大厦的速度和质量。
需求分析做得不好,甚至会导致整个数据库设计返工重做。
1.2 用户需求本系统是针对高等院校的学生学籍管理,因此此系统的用户包括系统管理员和学生。
主要涉及系部信息、班级信息、学生信息、课程信息和成绩等多种数据信息。
经走访调查得出教务员有以下要求:(1)管理员、教师和学生登录后可以改自己的密码。
学生成绩管理系统 报告【范本模板】

数据库应用课程设计说明书班级:软件工程1404姓名:徐螣学号:201426811322设计题目:学生成绩管理系统(数据库)设计时间:2017。
6。
25 至2017。
7。
6 指导教师:廖峰峰学生成绩管理系统(数据库)设计总说明考虑到高校学生的成绩管理工作量大、繁杂,人工处理非常困难,出现了学生成绩管理系统。
它借助于计算机强大的处理能力,大大减轻了管理人员的工作量,并提高了处理的准确性。
学生成绩管理系统的开发运用,实现了学生成绩管理的自动化,不仅把广大教师从繁重的成绩管理工作中解脱出来、把学校从传统的成绩管理模式中解放出来,而且对学生成绩的判断和整理也更合理、更公正,同时也给教师提供了一个准确、清晰、轻松的成绩管理环境。
本系统根据我校的一些实际情况开发,用于对学校教师、学生、课程信息的管理,主要用于管理学生成绩。
登录系统时需要访问数据库中的用户信息,确定登录身份.系统完成了日常的教育工作中对学生成绩档案的数字化管理,并且较为系统地对学生信息、成绩信息和课程信息进行管理.查询、增添、修改、删除都变的非常简便,减少了管理的工作量。
基于学校学生众多,为了数据的安全性,系统将学生数据保存在数据库中,以Visual C++设计前台对系统进行设计。
因为成绩管理系统是一项很实用的系统,所面对的数据量很大,所以我们要求系统能够高效快速的处理这些数据,并且要保证数据的正确性、相容性和安全性。
C++作为前台是将数据库中的数据读取出来,有助于用户对这些数据进行相应的操作,使操作更方便,更符合用户的要求。
所以该系统应该要有一个良好的界面,使用户感觉很直观,使用快捷,这就是用C++所要实现的功能。
关键词Visual C++ 6。
0;SQL Server;MFC;学生成绩管理前言本课程设计是在学习了数据库系统和C语言等有关课程后,通过实际的操作来熟悉数据库和相关软件的应用,培养独立的完成对相关课题或者项目的分析能力、设计能力和调试能力。
学生成绩管理系统报告总结

学生成绩管理系统报告总结篇一:学生成绩管理系统实训报告学号20XX1150120338编号20XX150338研究类型基础研究分类号Tn91《软件工程》实训报告专业:班级:姓名:学号:指导老师:实训时间:实训地点:朱娜曾凡晋宋海军目录一、引言...............................................................................................................1二、项目可行性分析 (2)⑴引言⑵可行性研究的前提⑶技术可行性报告…………………………………………………………………………………。
3⑷系统经济可行性报告……………………………………………………………………………。
4⑸社会因素可行性分析三、需求分析.........................................................................................................5四、系统分析.........................................................................................................6五、详细分析 (7)⑴引言⑵总体设计六、数据流图、E-R图及事件表 (8)七、RoSE建立的系统模型.......................................................................................9八、实训总结.........................................................................................................9九、致谢...............................................................................................................10十、参考文献 (10)一、引言1.编写目的在学校面向现代化、面向世界、面向未来、面向互联网的21世纪,现今社会是一个讲究效率的社会,人们有很强的时间观念,如果仍使用手工操作或使用相当繁琐的软件,既浪费了人力,又浪费了物力,效率无法提高,尤其是在学校里。
学生成绩管理系统设计报告

附录一应用程序综合设计汇报——题目: 学生成绩管理系统2023年1月1.需求分析学生成绩管理系统是学生管理系统旳重要构成部分, 对学生旳德、智、体全面评估有很大旳作用, 因此学生成绩管理系统应当可认为顾客提供以便旳查询平台和数据存储功能。
老式是使用人工旳方式对学生旳信息进行存储, 对于个人旳学生成绩来说, 数据旳整顿和分析就显得很麻烦, 不利于查找、更新和维护。
因此, 顾客但愿制作一种学生成绩管理系统, 来提高老师旳工作效率, 同步予以老师便利。
根据与顾客旳交流, 一般对学生成绩管理系统有如下几点旳规定:A.可认为顾客提供以便旳数据查询功能, 满足复杂、多样旳数据查询需求。
一般我们所需要旳数据都不是可以从原始数据库中直接读取旳, 往往需要一定旳加工, 这样才能使老式复杂旳人工操作变得简朴又精确。
B、成绩管理要可以提供学校考试安排旳管理, 学生考试成绩旳管理, 以及学生单科和总成绩旳记录和分析等功能。
这些是一种学生成绩管理系统最重要旳功能构成, 包括数据旳集成、整合和分析。
上述是顾客对系统需求和功能需求旳两点规定, 我根据顾客对功能旳需求, 将整个学生成绩管理系统提成两个大旳模块, 即基本信息设置模块和成绩管理模块(如图1)。
为了能使本系统可以基本独立, 通过度析, 我又添加了学生基本信息添加功能和班级基本信息添加功能, 这样系统就可以实现本系统旳全面界面化。
2.概要设计根据需求分析, 成绩管理系统重要是实现对考试和学生成绩旳管理功能, 我设计旳整个学生成绩管理系统分为两个大旳模块, 分别为基本信息设置模块和成绩管理模块, 这两个模块包括了成绩管理系统旳所有数据存储和功能需求, 为了愈加清晰了分解学生成绩管理系统, 每个大模块又由几种子功能模块构成, 完毕顾客旳需求。
两个大模块旳子模块详细划分如图2所示:基本信息设置是成绩管理系统中某些基本数据旳添加和修改, 为了可以实现本学生成绩管理系统旳独立性, 我在基本信息设置模块中添加了学生和班级信息添加模块, 以便顾客能直接添加新增旳数据, 而不需要通过程序员来完毕。
学生成绩管理系统报告文档

课程设计报告课程名称《数据结构》课题名称 _学生成绩管理系统专业计算机科学与技术专业班级计算机学号姓名 *** 指导教师 ***2012年 12 月 9 日前言设计课题八三十:学生成绩管理系统一、问题描述:现有学生成绩信息文件1(1.txt),内容如下姓名学号语文数学英语张明明01 67 78 82李成友02 78 91 88张辉灿03 68 82 56王露04 56 45 77陈东明05 67 38 47…. .. .. .. …学生成绩信息文件2(2.txt),内容如下:姓名学号语文数学英语陈果31 57 68 82李华明32 88 90 68张明东33 48 42 56李明国34 50 45 87陈道亮35 47 58 77….试编写一管理系统,要求如下:1) 实现对两个文件数据进行合并,生成新文件3.txt2) 抽取出三科成绩中有补考的学生并保存在一个新文件4.txt3) 对合并后的文件3.txt中的数据按总分降序排序(至少采用两种排序方法实现)4) 输入一个学生姓名后,能查找到此学生的信息并输出结果(至少采用两种查找方法实现)5) 要求使用结构体,链或数组等实现上述要求.二、功能要求:1、实现对两个文件数据进行合并,生成新文件3.txt。
2、本系统显示这样的菜单:请选择系统功能项:0.退出1.显示学生信息2.显示按学号排序后的学生信息3.显示按总分排序后的学生信息4.按学号查学生各科分数和总分5.按姓名查学生各科分数和总分6.抽取出三科成绩中有补考的学生并保存三、算法提示:1、数据结构:结构体类型数组四、测试数据:学生人数N=10五、其它:对该系统有兴趣的同学可以在实现上述基本功能后,完善系统的其它功能。
目录第一章绪论第一节课程背景第二节本文所做工作第二章需求分析第三章总体设计第四章详细设计第五章测试第六章使用说明第七章总结附录A 源代码附录B 参考资料第一章绪论学生成绩管理系统是一个教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,所以学生成绩管理系统应该能够为用户提供充足的信息和快捷的查询手段。学生档案管理系统是典型的信息管理系统(MIS),经过分析如此情况,我们用code#blocks开发工具,利用其提供的各种面向对象的开发工具和功能强大的SQL(结构化查询语言)。
【学生成绩管理系统报告】

***********************(微电子技术系)实验报告书课程名称:学生成绩管理系统学号:---------------姓名:------------教师:---------2011年06月10日实验一学生成绩管理系统实验时间:2010年06月08日同组人员:******一、实验目的为了熟练地利用VC环境执行一些初等的函数的运算,从而向生活实际靠拢,解决实际问题,并从中总结经验,为程序开发做铺垫。
二、实验仪器设备电脑VC6.0开发平台三、实验原理和内容原理:C的编译功能调用库函数,使其执行所需功能,从而满足我们的实际需要开发一些具有强大运算功能软件或可视化程序。
内容:见本报告第02~25页。
四、实验步骤1.需求分析2.架构设计3.程序编写4.调试及总结五、实验数据见本报告第07页调试数据六、结果及分析本实验基本达到了学习要求,无论是在程序编写上还是在调试上,都达到了预期目的。
不过在整体思路上还不够成熟,很多地方都存在不足,程序也不够完善。
(备注:以上条目不得更改,务必严格执行,否则成绩为零。
实验报告全部用A4纸打印,并装订成册。
不能手写(若部分图片无法截取和电脑绘制,可以手绘)。
文字部分全部用宋体小四号字体。
目录一、设计任务书---------------------------------------------3二、需求分析------------------------------------------------31、系统和功能需求----------------------------------32、开发环境-------------------------------------------4一、架构设计-----------------------------------------------4二、详细设计-----------------------------------------------6三、所遇到的问题和分析解决--------------------------11四、系统特色及关键技术--------------------------------12五、结论及心得体会--------------------------------------12六、附录(源代码)--------------------------------------13 参考文献-----------------------------------------------------25液晶显示程序课程设计任务书一、题目:学生成绩管理系统设计二、内容与要求学生成绩信息包括:学期,学号,姓名,三门课程成绩(C语、数学、英语)等。
学生成绩管理系统设计报告

学生成绩管理系统设计报告1. 引言学生成绩管理是学校教育管理中的一个重要环节。
为了更好地管理和分析学生成绩数据,提高教育教学质量,设计一个学生成绩管理系统至关重要。
本报告将详细介绍学生成绩管理系统的设计。
2. 系统概述学生成绩管理系统是一种用来管理学生个人信息和成绩数据的软件系统。
它可以帮助教师记录学生成绩,以及生成各种成绩分析报告。
同时,学生和家长也可以通过该系统查看学生成绩和分析报告,以便更好地了解学生的学习进展。
3. 系统功能3.1 学生信息管理•添加学生信息•修改学生信息•删除学生信息•查询学生信息3.2 成绩录入与修改•录入学生成绩•修改学生成绩•批量导入学生成绩3.3 成绩分析与统计•统计班级总分、平均分、最高分、最低分等指标•生成学生成绩排名•生成各科目成绩分布图•分析学生成绩趋势3.4 成绩报告生成与导出•生成学生个人成绩报告单•生成班级成绩报告•将成绩报告导出为Excel或PDF格式4. 系统设计4.1 系统架构学生成绩管理系统采用B/S架构,即浏览器-服务器架构。
用户通过浏览器访问系统,而后台服务器处理用户请求并返回相应的结果。
4.2 数据库设计系统使用关系型数据库存储学生信息和成绩数据。
数据库中包含两个主要的表:学生信息表和成绩表。
学生信息表包括学生ID、姓名、性别、年级等字段。
成绩表包括学生ID、科目、成绩等字段。
4.3 前端设计系统的前端界面需要简洁、直观、易用。
学生和家长可以通过登录界面进入系统,查看学生成绩和成绩分析报告。
教师登录后可以进行学生信息管理、成绩录入与修改等操作。
4.4 后台设计系统的后台使用Java语言进行开发。
后台主要负责处理前端发送的请求,并进行相应的处理,包括学生信息管理、成绩录入与修改、成绩分析与统计以及成绩报告生成与导出等功能。
5. 系统实施与测试5.1 环境要求系统实施和测试需要满足以下环境要求: - 操作系统:Windows/Linux/macOS - 浏览器:Chrome/Firefox/Safari - 数据库:MySQL/Oracle/SQL Server5.2 功能测试对系统的每个功能进行单元测试和集成测试,验证其正确性和可靠性。
学生成绩管理系统测试分析报告

学生成绩管理系统测试分析报告摘要:学生成绩管理系统是一款用于管理学生课程成绩的软件,该报告旨在对该系统进行测试分析,评估其性能和功能的有效性。
通过对系统的各个模块进行详细的测试,我们发现系统在用户管理、课程管理、成绩录入和查询等方面都表现出良好的稳定性和功能完整性。
然而,我们也发现了一些问题和改进的建议,希望能对系统进一步优化和提升其用户体验。
1. 引言学生成绩管理系统是一个为教师和学生提供方便的工具,用于管理学生的课程成绩和个人信息。
该系统的目标是简化成绩管理和查询过程,减少教师和学生的工作负担,提高数据管理的准确性和效率。
2. 测试环境为了保证测试结果的准确性,我们使用了以下配置的测试环境:- 操作系统:Windows 10- 浏览器:Google Chrome、Mozilla Firefox、Microsoft Edge- 数据库:MySQL3. 测试方法我们采用了黑盒测试和白盒测试相结合的方法,以全面评估系统的性能和功能。
3.1 黑盒测试黑盒测试是根据系统的输入和输出来进行测试,不关心系统内部的结构和实现方式。
我们对学生成绩管理系统的各个模块进行了黑盒测试,验证了系统对用户输入的响应和输出的准确性。
3.2 白盒测试白盒测试是基于系统的内部结构和实现方式来进行测试。
我们通过分析系统的源代码,对系统的各个函数和模块进行了覆盖率测试,确保系统的所有代码都经过了测试,提高系统的代码质量和稳定性。
4. 测试结果和分析通过对学生成绩管理系统进行测试,我们得出以下结论:4.1 用户管理模块用户管理模块是学生成绩管理系统的核心模块,用于管理教师和学生的用户信息。
经过测试,系统对用户的注册、登录和信息修改等功能均表现出良好的稳定性和正确性。
然而,我们建议在密码管理方面加强安全性,例如强制要求用户设置复杂密码和加密存储用户密码。
4.2 课程管理模块课程管理模块用于管理学生的课程信息,包括课程名称、授课教师和学分等。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
V .. . ..课程设计报告课程名称《数据结构》课题名称_学生成绩管理系统专业计算机科学与技术专业班级计算机学号姓名***指导教师***2012年12 月9 日前言设计课题八三十:学生成绩管理系统一、问题描述:现有学生成绩信息文件1(1.txt),内容如下姓名学号语文数学英语张明明01 67 78 82李成友02 78 91 88张辉灿03 68 82 56王露04 56 45 77陈东明05 67 38 47…. .. .. .. …学生成绩信息文件2(2.txt),内容如下:姓名学号语文数学英语陈果31 57 68 82李华明32 88 90 68张明东33 48 42 56李明国34 50 45 87陈道亮35 47 58 77….试编写一管理系统,要求如下:1) 实现对两个文件数据进行合并,生成新文件3.txt2) 抽取出三科成绩中有补考的学生并保存在一个新文件4.txt3) 对合并后的文件3.txt中的数据按总分降序排序(至少采用两种排序方法实现)4) 输入一个学生姓名后,能查找到此学生的信息并输出结果(至少采用两种查找方法实现)5) 要求使用结构体,链或数组等实现上述要求.二、功能要求:1、实现对两个文件数据进行合并,生成新文件3.txt。
2、本系统显示这样的菜单:请选择系统功能项:0.退出1.显示学生信息2.显示按学号排序后的学生信息3.显示按总分排序后的学生信息4.按学号查学生各科分数和总分5.按姓名查学生各科分数和总分6.抽取出三科成绩中有补考的学生并保存三、算法提示:1、数据结构:结构体类型数组2、数据库结构:下表构成该系统的基本数据库。
四、测试数据:学生人数N=10五、其它:对该系统有兴趣的同学可以在实现上述基本功能后,完善系统的其它功能。
目录第一章绪论第一节课程背景第二节本文所做工作第二章需求分析第三章总体设计第四章详细设计第五章测试第六章使用说明第七章总结附录A 源代码附录B 参考资料第一章绪论学生成绩管理系统是一个教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,所以学生成绩管理系统应该能够为用户提供充足的信息和快捷的查询手段。学生档案管理系统是典型的信息管理系统(MIS),经过分析如此情况,我们用code#blocks开发工具,利用其提供的各种面向对象的开发工具和功能强大的SQL(结构化查询语言)。
第一节课程背景在我国,各大中小学校的各类信息管理系统并非一个新的课题,但也有的学校根本就没有信息任何管理系统,所有的工作几乎还是手工操作来完成。
计算机技术在日新月异的发展,但是有的很多学校,特别是在西部贫困地区,学校的种类管理都依然由手工操作来完成,这十分落后,效率极低,成本很大,而且极异出错。
随着社会的发展,信息化是社会进程的必然趋势,学校管理只有只有快,准,精才能发挥其价值。
所以机器代替人力是必然的历史发展趋势,只有领导的重视和支持才能从人工操作改为计算机的自动化系统。
人工操作必将被计算机代替。
有些学校虽使用了计算机,甚至管理系统,但是仍然存在很多问题,问题一日不解决,效率就一日提不上去。
第二节本文所做工作本系统是将现代化的计算机技术和传统的教学、教务工作相结合,按照学院的工作流程设计完成的。
为了使系统在学院的管理中发挥更大的作用,实现工作过程的计算机化,提高工作效率和工作质量,现提出如下的系统开发目标:(1)系统管理员进入学生成绩管理系统学生档案管理的主要功能是:实现添加学生的基本信息、修改学生的基本信息、查询学生的基本信息、删除学生的基本信息等基本功能。
(2)系统管理员进入学生成绩管理系统学生成绩管理的主要功能是:实现学生成绩的录入、学生成绩的修改与保存等基本功能。
(3)系统管理员进行学生成绩管理系统查询与统计的主要功能是:实现根据某个学生的基本信息查询他的成绩,还可以根据学生成绩的高低进行排序等基本功能。
1.1 编写目的本需求的编写目的在于研究学生成绩管理系统软件的开发途径和应用方法。1.2 背景及范围本项目的名称: 学生成绩管理系统。本软件基本上能具体化、合理化的管理学生的学籍档案,用结构化的思维方式去了解计算机的基本工作原理和高级程序设计语言。1.3 功能主要功能:学生成绩录入、学生信息和成绩修改、查询成绩。第二章系统需求分析可以使用户录入学生信息,并在系统中显示出来,还能对录入的信息进行保存,当需要时还可以对信息进行修改和删除,还能分别用学号、姓名、性别、年龄对学生信息进行查询,用户进入系统需要输入密码。
第三章总体设计struct student:一个结构体类型,他能存放姓名、学号、语文、数学、英语等成绩等不同类型数据组成的组合型的数据结构。
void main():主函数。
FILE * fp:定义一个指向文件的指针变量fp.fp=fopen("学生成绩","w +"):将fopen函数的返回值赋给指针变量fp,或者说,fp指向了学生信息这个文件。
如果文件不存在,则建立一个新的文本文件。
Fscanf,fprintf:用格式化的方式读写文件。
Strcmp:字符串比较函数。
Strcpy:字符串复制函数。
程序中还用到当型循环、swith分支语句、if语句等。
system("cls");:清屏函数,使界面更简洁。
第四章系统调试系统主界面显示学生信息显示按学号排序后的学生信息(按升序)显示按总分排序后的学生信息按学号查学生各科分数和总分按姓名查学生各科分数和总分抽取出三科成绩中有补考的学生并保存第五章使用说明利用结构体函数类型,使函数显得没那么繁琐,利用文件指针,输入的信息将保存在文件中,以便下次查询和修改,使用“w+”方式读写文件,当指定那个文件不存在时,将建立一个文件,不会出现出错信息。
利用fscanf和fprintf 实现对文件的读写。
不足之处:录入的信息没能保存,每次便已运行需要重新输入数据,对所学的东西没有合理结合。
第七章总结当刚开始听到要课程设计时,心里有点怕怕的,因为毕竟刚接触c语言,虽说也学到了一些皮毛,但当听到要自己去编写程序时,才发现自己不会的不懂的还多着呢,要编写一个程序还是有一些困难的,当真的让我去编写程序时,真的是有点怕怕的感觉。
刚入学时,听到要学习c语言时,我是非常的感兴趣,也非常高兴,因为那游戏、软件都要用c语言来实现,我想探究一下那到底是怎么实现的,能达到那样的效果,所以刚开始我很有激情,每节课我都认真听讲,虽然刚开始听起来有点困难,但是我相信功夫不负有心人,我知道课堂上的知识是不够的,所以我利用课下时间,积极搜寻与之相关的信息,去图书馆借阅相关资料和习题,来增长自己的知识。
当程序写完了,我终于可以松口气了,经过一个思考,查资料,写源程序,上机调试.现在终于告一段落了.看到自己的劳动成果,心中不免有些惊喜,没想到自己还能独立完成初次的课程设计,虽然不敢说这个程序都是我一个人写的,但其中大部分都是我的成果,另外我还参考了别人的意见,对自己的程序进行修改和完善。
这种课程设计对我们是非常有好处的,对C这门程序语言的掌握却有非常大的作用.从开始对题目的分析,就注定摆在我这样一个对C了解不多的新手面前的是一段艰难的旅程.但最终很庆幸的是我居然能够坚持下来,而且完成了设计工作.C语言是很难学的,这也许是因人而异,但对我来说确实是一个障碍。
如今要自己完成一个课程设计,无疑是对自己的一个挑战.先是上网查找有关的资料,分析题目所需的数据,要用到哪些函数等等,星期二上网初步调试,将函数用些结构和语句连接起来,做这个工作时,又将书本翻阅了一遍,重新获得许多东西。
如带参函数的特点,以及一些语句的运用及特点等等。
将工作分配到每块是我完成这个设计的主要方法,然而将每块都完成看起来比较轻松,但实际操作起来却是比较麻烦的.由于平时对C知识的积累较为匮乏,(这可能是最主要的原因了),所以操作起来真是寸步难行,没办法,只有拿出课本找到相应的知识点,临阵磨枪.费了一番功夫,再上机调试时就是最痛苦的时候了,错误一大堆,要一个一个的修改。
经过几翻调试修改之后终于可以执行了,那时还兴奋了好长时间呢!然而执行出来的结果是不令人满意的,界面不美观不说,最重要的是输入太烦琐,而且受到的限制太多,如只能以某种方式输入,且个数受限制。
于是又发费了大量时间去修改,终于比较满意了,但也到了星期五了,也就是答辩的时间。
答辩的时候我才发现还有好多知识是我不会的,老师问了我一些问题,我回答出来的却不多,我体会到我还要很努力的学习,在C的学习上我还有很长的一段路要走。
今天不管怎样把这个设计作出来是件很高兴的事情,不过能够把这个设计顺利完成要归功于我的指导老师,帮了我很多忙,也让我发现了我有好多欠缺的地方,真的很感谢你们,谢谢!不管怎么说,我还是完成了这个设计.虽说累了点,但我想这对我们进一步掌握C,并为下学期的C二级考试是有很大的帮助的.能够编出程序,其实本身就是对自己的一种肯定,是对自己前面一段时间学习C综合水平的一个检阅.当然完成后的兴喜,只有经历过了才能体会到,而我体会到了.C语言课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程.随着科学技术发展的日新日异,当今计算机应用在生活中可以说得是无处不在。
因此作为二十一世纪的大学来说掌握计算机开发技术是十分重要的。
从拿到题目到完成整个编程,从理论到实践,在整整一个星期的日子里,可以学到很多很多的的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。
通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。
在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,比如说结构体……通过这次课程设计之后,一定把以前所学过的知识重新温故。
这次课程设计我最要感谢的就是我们的几位指导老师,老师们每天都不辞劳苦为我们服务,不管我们有什么问题,他们都耐心的为我们解答,我们有什么错误他们都积极给我们指正出来,虽然有时也批评一下,但这对我们是有很大帮助的,有这么多优秀的指导老师,我想我以后的学习会更上一层楼。
附录A 源代码# include <stdio.h># include <stdlib.h> # include <string.h> # include <stdbool.h> # include <math.h> # include <conio.h># define eps 1;typedef struct{char name[50];int num;int Chinese;int Math;int English;int sum;}Node;Node student[1000];int n;char text[50];int cmp(const void *a, const void *b){return (*(Node *)b).sum > (*(Node *)a).sum?1:-1; }int cmpnum(const void *a, const void *b){return (*(Node *)a).num > (*(Node *)b).num?1:-1; }void showstudent(){int i;printf(" \t姓名\t学号\t语文\t数学\t英语\t总分\n");for(i=0;i<n;i++){printf("\t%s\t%d\t%d\t%d\t%d\t%d\n",student[i].name,st udent[i].num,student[i].Chinese,student[i].Math,student[i].Engli sh,student[i].sum);}getch();menu();}void sortnum(){int i,j,k;char a[55];for(i=0;i<n;i++){for(j=0;j<n-i-1;j++){if(student[j].num>student[j+1].num){k=student[j].num;student[j].num=student[j+1].num;student[j+1].num=k;k=student[j].Chinese;student[j].Chinese=student[j+1].Chinese;student[j+1].Chinese=k;k=student[j].Math;student[j].Math=student[j+1].Math;student[j+1].Math=k;k=student[j].English;student[j].English=student[j+1].English;student[j+1].English=k;k=student[j].sum;student[j].sum=student[j+1].sum;student[j+1].sum=k;strcpy(a,student[j].name);strcpy(student[j].name,student[j+1].name);strcpy(student[j+1].name,a);}}}showstudent();getch();menu();}void sortsum(){qsort(student, n, sizeof(Node), cmp);showstudent();getch();menu();}void searchnum(int number){int min = 0, max = n-1, mid;bool escape = false;qsort(student, n, sizeof(Node), cmpnum);while(min <= max){mid = (min + max) / 2;if(student[mid].num > number){max = mid - eps;}else if(student[mid].num < number){min = mid + eps;}else{escape = true;printf("\t姓名\t学号\t语文\t数学\t英语\t总分\n");printf("\t%s\t%d\t%d\t%d\t%d\t%d\n", student[mid].name, student[mid].num, student[mid].Chinese, student[mid].Math, student[mid].English, student[mid].sum);break;}}if(!escape){printf("\t查无此人");}getch();menu();void searchname(){ int i;for(i=0;i<n;i++){if(strcmp(text,student[i].name)==0){printf("\t姓名\t学号\t语文\t数学\t英语\t总分\n");printf("\t%s\t%d\t%d\t%d\t%d\t%d\n", student[i].name, student[i].num, student[i].Chinese, student[i].Math, student[i].English, student[i].sum);break;}}if(i>=n){printf("\t查无此人\n");}getch();menu();}void save(){FILE *fp;fp=fopen("4.txt","w");int i;fprintf(fp, "\t姓名\t学号\t语文\t数学\t英语\t总分\n");for(i=0;i<n;i++){if(student[i].Chinese<60||student[i].Math<60||student[i]. English<60){printf("\t%s\t%d\t%d\t%d\t%d\n",student[i].name,student[i]. num,student[i].Chinese,student[i].Math,student[i].English);fprintf(fp,"\t%s\t%d\t%d\t%d\t%d\n",student[i].name,stud ent[i].num,student[i].Chinese,student[i].Math,student[i].English );}}printf("\n");printf("┏━━━━┓\n");printf("┃保存成功┃\n");printf("┗━━━━┛\n");getch();menu();}void menu(){int choice;system("cls");printf(" 菜单\n");printf("┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓\n");printf("┃0.退出┃\n");printf("┃ 1.显示学生信息┃\n");printf("┃ 2.显示按学号排序后的学生信息┃\n");printf("┃ 3.显示按总分排序后的学生信息┃\n");printf("┃ 4.按学号查学生各科分数和总分┃\n");printf("┃ 5.按姓名查学生各科分数和总分┃\n");printf("┃ 6.抽取出三科成绩中有补考的学生并保存┃\n");printf("┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛\n");printf(" 选择代码(0,1,2,3,4,5,6):");scanf("%d", &choice);switch(choice){case 0:{system("cls");printf("谢谢使用!\n");exit(0);}case 1:{system("cls");showstudent();}case 2:{system("cls");sortnum();}case 3:{system("cls");sortsum();}case 4:{system("cls");int num;printf("\t请输入要查找学生的学号:");scanf("%d", &num);searchnum(num);}case 5:{system("cls");printf("\t请输入要查找学生的姓名:");scanf("%s", text);searchname();}case 6:{system("cls");save();}}}int main(){n = 0;FILE * fp;fp=fopen("1.txt","r+");{while(fscanf(fp, "%s %d %d %d %d",student[n].name, &student[n].num, &student[n].Chinese, &student[n].Math, &student[n].English)!=EOF){student[n].sum = 0;student[n].sum += student[n].Chinese;student[n].sum += student[n].Math;student[n].sum += student[n].English;n++;}fclose(fp);}fp=fopen("2.txt","r+");{while(fscanf(fp, "%s %d %d %d %d", student[n].name, &student[n].num, &student[n].Chinese, &student[n].Math, &student[n].English)!=EOF){student[n].sum = 0;student[n].sum += student[n].Chinese;student[n].sum += student[n].Math;student[n].sum += student[n].English;n++;}fclose(fp);}menu();return 0;}附录B 参考资料《C程序设计(第三版)》谭浩强主编清华大学出版社《C语言常用函数速查手册》陈超主编化学工业出版社《C语言程序设计实用教程》曹岩、刘佳主编西北工业大学出版社《算法竞赛入门》刘汝佳主编清华大学出版社。