《学生学籍管理系统程序设计.docx》由会员分享,可在线阅读,更多相关《学生学籍管理系统程序设计.docx(15页珍藏版)》请在三一办公上搜索。
1、数据库原理课程设计设计题目:学生信息管理数据库系统设计学生侯鹏涛学生闫立波学生李跃学生惠超学生王真龙学生刘豪杰专 业计算机科学与技术班 级计科一班西安理工大学高科学院2012年第2学期1概 述11.1课程设计目的11.2课程设计内容12系统总体设计22.1系统目标22.2主体功能22.3系统流程32.4开发环境53系统详细设计53.1系统主界面设计53.2输入模块设计63.3输出模块设计63.4查询模块设计63.5更改模块设计63.6统计模块设计63.7保存退出模块设计64测试74.1测试方案74.2测试结果75小结11参考文献13小组分工13学生学籍管理系统程序的设计与实现1概 述1.1课程
2、设计目的1、巩固并加深学生对C+语言程序设计知识的理解;2、培养学生面向对象的程序设计思想,使学生认识面向过程和面向对象两种设计 方法的区别;3、进一步掌握和应用VC+ 6.0集成开发环境;4、提高运用C+语言解决实际问题的能力;5、初步掌握开发小型实用软件的基本方法,能独立设计、实现具有实际功能的小 系统;6、掌握书写程序设计开发文档的能力(书写课程设计实验报告)。1.2课程设计要求1、根据分组情况对规定的课程设计题目要求进行分析、设计;2、利用Visual C+独立编写程序代码,并调试程序使其能正确运行;3、源程序要有适当的注释,使程序容易阅读;4、设计完成的软件要便于操作和使用,采用模块
3、化设计方法,可以根据实际情况选择SDI、MDI或Dialog-Based方式实现系统;5、要求系统的用户界面尽量简单、合理,鼓励学生自动增加新功能模块(视情况 可另行加分);6、完成并提交课程设计报告,具体要求见相关说明文档。1.3课程设计内容课题名称:学籍管理系统说明:学生学籍记录以下信息:姓名、家庭住址、学号,成绩、性别等。可以用能 表示学生学籍信息的类存储数据。要求:1)具备对学籍的管理功能(添加、删除、排序)2)具备按姓名、学号查询学生学籍的功能。3)给定某个班级的班号,显示该班所有学生的作业完成情况;4)给定某位学生的学号,修改该学生的作业完成信息;5)给定某位学生的学号,删除该学生
4、的信息;6)提供一些统计各类信息的功能。2系统总体设计2.1系统目标(1) 根据查询条件实现学生的作业的完成情况查询(2) 学生的作业完成信息的增加、删除、修改(3) 方便各任课教师记录,统计所带班学生的在作业完成情况,提高工作效率, 减轻负担;总结经验,提高教学质量(4) 为教务处管理人员提供各学期、各班级学生的作业完成情况,以作为其进 行作业分数的汇总,分析和总结评比的依据。2.2主体功能据需求把整个系统分化成不同的模块,每个模块完成一个特定的子功能。把这 些模块结合起来组成一个整体。逐一实现各个功能。输 出 模 块输 入 模 块统 计 模 块更改模块保存退出查 询 模 块图2-1系统功能
5、模块图2.3系统流程按姓名查询按学号查询退 出 模 块退 出 模 块删 除 模 块修改模块添 加 模 块分数排序退 出 模 块数据的录入:如录入学生的基本信息数据的修改:如修改指定学号、或者指定姓名的学生信息,数据的插入:插入某个学生信息;数据的查询:如按学号查询、按姓名查询等;数据的删除:如删除指定学号、或者指定姓名的学生;列出不及格学生清单(学号、姓名、不及格的课程和成绩)。用文件把数据保存起来2.4开发环境系统开发环境:Microsoft Visual C+ 6.0系统开发语言:C语言3系统详细设计3.1系统主界面设计由主函数界面分成留个子模块主函数界面图4-13.2输入模块设计数据的录
6、入:录入学生的基本信息,如姓名、学号3.3输出模块设计两部分:1.按总分名次输出2.按学号顺序输出3.4查询模块设计查询信息:本功能实现是调用struct stu *findnum(void)函数查找该条信息 的地址,然后再采用for循环进行信息的输出,本功能的实现比较简单,难点在于 对函数的调用的灵活运用。3.5更改模块设计信息的修改:本系统采用的是按学号查找信息,系统采用一个由判断语句和循 环语句构成的查询函数struct stu *findnum(void)来提供信息存储地址;再按照 地址来进行修改,其中采用switch语句和循环语句来控制使系统能够提供选择修 改的功能。在这一功能的设计
7、中,作者感到课程信息的修改中的添加课程信息功能 是一个难点,解决方案是按插入方案来进行设计。增加信息:本系统采用的是按学号顺序来进行插入的,在这一功能的设计中, 首先在开辟一个结构体空间将插入学生的信息存储于其中,在采用判断语句和循环 语句来查找该条信息应该插入位置的地址,将上一结点的下行指针指向本结点,再 将该节点的下行指针指向下一个结点从而达到插入信息的目的。在这一功能的设计 中作者感到插入的具体算法是个难点,本系统采用的教材书本上的方法。删除信息:系统采用按学号删除的方案,在这一功能的设计中我没有采用直接 调用struct stu *findnum(void)函数,而是又重写查找地址程序
8、,这是出于考虑 系统功能的更好实现而采用的举措。具体删除算法采用该节点上一个结点的下行指 针直接指向该结点下一个结点从而达到删除该结点的目的。在此功能的设计中,本 作者感到难点不在于算法而在于思维设计的是否缜密。3.6统计模块设计排序学生成绩:通过菜单选择排序依据,采用排序算法(冒泡、插入、选择等) 对数据进行排序并输出结果。首先要读文件。3.7保存退出模块设计每次执行完修改信息包括添加、录入、修改、删除等都需要保存信息。当然在 每个修改函数最后都需要调用一下保存函数。4测试4.1测试方案测试方案一:登录学生作业完成管理系统测试方案二:录入学生信息测试方案三:显示学生信息测试方案四:查找学生作
9、业完成情况的信息 测试方案五:修改学生作业完成情况的信息 测试方案六:删除学生信息测试结果七:添加学生信息测试结果八:保存退出4.2测试结果测试结果一:g C:DOCUIENTS AND SETTINGSCEN桌面、工程文档 Debugl. ese欢迎使用学生作业完成情况管理系统青青兀完息自心业 业自心自心自心自心 简简简简简 生生生生生生生生 入示找改除加入存出 择 .显善.ffl.is.ft.fi选 123456789 请C GUS ER幼蒋保ESKTO PT5dDebugl.exe”请输入添加的学生数量在面以内输入第1个学生的信息 .入学生的学号:1 *入学生的姓名:蒋侃青输入学生第一次
10、作业分数由6青输入学生第二次作业分数泅6i!测试方案三:作业分数=81 青输入学生第四次作业分数汕5青输入学生第五次作业分数泅4 青输入学生第六次作业分数汕? 青输入学生第七次作业分数:朋 青输入学生第八次作业分数叫6 请输入学生第九次作业分数:83 请输入学生第十次作业分数汕2.班级学生作业完成情况的列表请选择Ld前出 髀生信息次膏名学及寰不 图8-1测试结果五:请输入要修改的学生的学号、图8-2图9-1测试结果七:Press any key to continue图 10-15小结为期两周的课程设计结束了,在老师和同学的帮助下,我基本完成系统的设计。 我按照系统工程软件设计的要求,从需求分
11、析,概念设计,总体设计,详细设计, 系统测试等各个步骤,分步完成系统的各项任务,实现了系统中的学生作业完成情 况的查询,学生信息更新,学生信息添加等模块的功能。在这两个星期里我收获如下:1、巩固和加深了对C+的理解,提高综合运用本课程所学知识的能力。2、培养了我选用参考书,查阅手册及文献资料的能力。培养独立思考,深入 研究,分析问题、解决问题的能力。3、通过实际编译系统的分析设计、编程调试,掌握应用软件的分析方法和工 程设计方法。根据我在课程设计中遇到的问题,我将在以后的学习当中注意以下几点:1、认真上好专业实验课,多在实践中锻炼自己。2、写程序的过程中要考虑周到,严密。3、在做设计的时候要有信心,有耐心,切勿浮躁。4、认真的学习课本知识,掌握课本中的知识点,并在此基础上学会灵活运用。5、在课余时间里多写程序,熟练掌握在调试程序的过程中所遇到的常见错误, 以便能节省调试程序的时间。参考文献1 谭浩强.C+程序设计(第二版)M.北京:清华大学出版社,2012.2 谭浩强.C+程序设计题解与上机指导(第二版)M.北京:清华大学出版社, 2012.小组分工:王真龙:课程设计目的及内容;侯鹏涛:系统总设计;李悦:输入,输出,查询模块设计;闫立波:更改,通缉,保存退出模块设计;惠超,刘豪杰:测试方案以及测试结果.