学生学籍管理系统程序设计.docx
- 文档编号:25478849
- 上传时间:2023-06-09
- 格式:DOCX
- 页数:14
- 大小:229.86KB
学生学籍管理系统程序设计.docx
《学生学籍管理系统程序设计.docx》由会员分享,可在线阅读,更多相关《学生学籍管理系统程序设计.docx(14页珍藏版)》请在冰豆网上搜索。
学生学籍管理系统程序设计
数据库原理
课程设计
设计题目:
学生信息管理数据库系统设计
学生侯鹏涛学生闫立波
学生李跃学生惠超
学生王真龙学生刘豪杰
专业计算机科学与技术
班级计科一班
西安理工大学高科学院
2012年第2学期
小组分工..........................................................13
学生学籍管理系统程序的设计与实现
1概述
课程设计目的
1、巩固并加深学生对C++语言程序设计知识的理解;
2、培养学生面向对象的程序设计思想,使学生认识面向过程和面向对象两种设计方法的区别;
3、进一步掌握和应用VC++集成开发环境;
4、提高运用C++语言解决实际问题的能力;
5、初步掌握开发小型实用软件的基本方法,能独立设计、实现具有实际功能的小系统;
6、掌握书写程序设计开发文档的能力(书写课程设计实验报告)。
课程设计要求
1、根据分组情况对规定的课程设计题目要求进行分析、设计;
2、利用VisualC++独立编写程序代码,并调试程序使其能正确运行;
3、源程序要有适当的注释,使程序容易阅读;
4、设计完成的软件要便于操作和使用,采用模块化设计方法,可以根据实际情况选择SDI、MDI或Dialog-Based方式实现系统;
5、要求系统的用户界面尽量简单、合理,鼓励学生自动增加新功能模块(视情况可另行加分);
6、完成并提交课程设计报告,具体要求见相关说明文档。
课程设计内容
课题名称:
学籍管理系统
说明:
学生学籍记录以下信息:
姓名、家庭住址、学号,成绩、性别等。
可以用能表示学生学籍信息的类存储数据。
要求:
1)?
具备对学籍的管理功能(添加、删除、排序)
2)?
具备按姓名、学号查询学生学籍的功能。
3)给定某个班级的班号,显示该班所有学生的作业完成情况;
4)给定某位学生的学号,修改该学生的作业完成信息;
5)给定某位学生的学号,删除该学生的信息;
6)提供一些统计各类信息的功能。
2系统总体设计
系统目标
(1)根据查询条件实现学生的作业的完成情况查询
(2)学生的作业完成信息的增加、删除、修改
(3)方便各任课教师记录,统计所带班学生的在作业完成情况,提高工作效率,减轻负担;总结经验,提高教学质量
(4)为教务处管理人员提供各学期、各班级学生的作业完成情况,以作为其进行作业分数的汇总,分析和总结评比的依据。
主体功能
据需求把整个系统分化成不同的模块,每个模块完成一个特定的子功能。
把这些模块结合起来组成一个整体。
逐一实现各个功能。
学生学籍管理系统
输入模块
输出模块
更改模块
查询模块
统计模块
保存退出
排序学生成绩
退出模块
按姓名查询
按学号查询
退出模块
添加学生学籍信息
删除学生学籍信息
修改学生学籍信息
退出模块
图2-1系统功能模块图
系统流程
图3-1
✧数据的录入:
如录入学生的基本信息
✧数据的修改:
如修改指定学号、或者指定姓名的学生信息,
✧数据的插入:
插入某个学生信息;
✧数据的查询:
如按学号查询、按姓名查询等;
✧数据的删除:
如删除指定学号、或者指定姓名的学生;
✧列出不及格学生清单(学号、姓名、不及格的课程和成绩)。
✧用文件把数据保存起来
开发环境
✧系统开发环境:
MicrosoftVisualC++
✧系统开发语言:
C语言
3系统详细设计
系统主界面设计
由主函数界面分成留个子模块
图4-1
输入模块设计
数据的录入:
录入学生的基本信息,如姓名、学号
输出模块设计
两部分:
1.按总分名次输出2.按学号顺序输出
查询模块设计
查询信息:
本功能实现是调用structstu*findnum(void)函数查找该条信息的地址,然后再采用for循环进行信息的输出,本功能的实现比较简单,难点在于对函数的调用的灵活运用。
更改模块设计
信息的修改:
本系统采用的是按学号查找信息,系统采用一个由判断语句和循环语句构成的查询函数structstu*findnum(void)来提供信息存储地址;再按照地址来进行修改,其中采用switch语句和循环语句来控制使系统能够提供选择修改的功能。
在这一功能的设计中,作者感到课程信息的修改中的添加课程信息功能是一个难点,解决方案是按插入方案来进行设计。
增加信息:
本系统采用的是按学号顺序来进行插入的,在这一功能的设计中,首先在开辟一个结构体空间将插入学生的信息存储于其中,在采用判断语句和循环语句来查找该条信息应该插入位置的地址,将上一结点的下行指针指向本结点,再将该节点的下行指针指向下一个结点从而达到插入信息的目的。
在这一功能的设计中作者感到插入的具体算法是个难点,本系统采用的教材书本上的方法。
删除信息:
系统采用按学号删除的方案,在这一功能的设计中我没有采用直接调用structstu*findnum(void)函数,而是又重写查找地址程序,这是出于考虑系统功能的更好实现而采用的举措。
具体删除算法采用该节点上一个结点的下行指针直接指向该结点下一个结点从而达到删除该结点的目的。
在此功能的设计中,本作者感到难点不在于算法而在于思维设计的是否缜密。
统计模块设计
排序学生成绩:
通过菜单选择排序依据,采用排序算法(冒泡、插入、选择等)对数据进行排序并输出结果。
首先要读文件。
保存退出模块设计
每次执行完修改信息包括添加、录入、修改、删除等都需要保存信息。
当然在每个修改函数最后都需要调用一下保存函数。
4测试
测试方案
测试方案一:
登录学生作业完成管理系统
测试方案二:
录入学生信息
测试方案三:
显示学生信息
测试方案四:
查找学生作业完成情况的信息
测试方案五:
修改学生作业完成情况的信息
测试方案六:
删除学生信息
测试结果七:
添加学生信息
测试结果八:
保存退出
测试结果
测试结果一:
图6-1
测试结果二:
测试方案三:
图7-1
测试结果三:
图7-2
测试结果四:
图8-1
测试结果五:
图8-2
测试结果六:
图9-1
测试结果七:
图9-2
测试结果八:
图10-1
5小结
为期两周的课程设计结束了,在老师和同学的帮助下,我基本完成系统的设计。
我按照系统工程软件设计的要求,从需求分析,概念设计,总体设计,详细设计,系统测试等各个步骤,分步完成系统的各项任务,实现了系统中的学生作业完成情况的查询,学生信息更新,学生信息添加等模块的功能。
在这两个星期里我收获如下:
1、巩固和加深了对C++的理解,提高综合运用本课程所学知识的能力。
2、培养了我选用参考书,查阅手册及文献资料的能力。
培养独立思考,深入研究,分析问题、解决问题的能力。
3、通过实际编译系统的分析设计、编程调试,掌握应用软件的分析方法和工程设计方法。
根据我在课程设计中遇到的问题,我将在以后的学习当中注意以下几点:
1、认真上好专业实验课,多在实践中锻炼自己。
2、写程序的过程中要考虑周到,严密。
3、在做设计的时候要有信心,有耐心,切勿浮躁。
4、认真的学习课本知识,掌握课本中的知识点,并在此基础上学会灵活运用。
5、在课余时间里多写程序,熟练掌握在调试程序的过程中所遇到的常见错误,以便能节省调试程序的时间。
参考文献
[1]谭浩强.C++程序设计(第二版)[M].北京:
清华大学出版社,2012.
[2]谭浩强.C++程序设计题解与上机指导(第二版)[M].北京:
清华大学出版社,2012.
小组分工:
王真龙:
课程设计目的及内容;
侯鹏涛:
系统总设计;
李悦:
输入,输出,查询模块设计;
闫立波:
更改,通缉,保存退出模块设计;
惠超,刘豪杰:
测试方案以及测试结果.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 学生 学籍 管理 系统 程序设计