vc++课程设计。
学生日常行为管理系统。
班级:信息安全(2)班。
学号:110420209
姓名:方建辉
日期:2013-09-08
目录。一、需求分析3
二、概要设计4
三、详细设计4
四、调试分析6
五、用户使用说明7
六、遇到的难题及解决办法7
七、测试结果及运行界面9
八、源**12
九、总结22
学生日常行为管理系统。
一、 需求分析:
1、 选题的意义:
随着学校在全国甚至世界的全面扩张,学生人数急剧增加,对于大学生的日常管理的难处也相应增加。大学学生虽然都具有一定的自控能力,但是还需要学校及教师的监督。课堂上的点名和作业的统计过程都耗费了大量时间。
计算机在生活中的作用越来越重要,开发出一种用于记录学生课堂签到和作业完成状况的程序,节省大时间,为教师提供方便,有助于提高教学质量。使用程序对学生日常行为进行管理记录,方便快捷,防止数据丢失,提高工作效率。
2、 软件系统需求分析:
学生日常行为管理系统记录了学生的缺课情况及其信息管理,它包括:课堂签到、成绩记录、学生人员管理、学生行为评价。现设计学生日常行为管理系统,使之能提供以下功能:
图1 整体功能模块图。
二、 概要设计:
1、课堂签到:进入课堂签到界面时,可以先随机选择点名,也可以以随机点名的那名同学为基础,选择和他(她)同寝室的或者同班的进行点名,还可以对整个大班进行全员点名。该功能也包含了历史未到标记及其相应的记录未到和取消记录。
2、成绩记录:可以显示出所以学生信息,也可以按照顺序一个个显示,还可以按照学号或者姓名或者班级进行查找,最后录入学生的平时成绩进行加分。
3、学生人员管理:可以对新加入的新同学进行添加,然后更新出添加后的学生相应信息。
4、学生行为评价:可以对全部学生信息进行查询,也可以按成绩查询,还可以按课堂未到查询,还可以按照学号或者姓名或者性别或者班级或者寝室进行查询。
5、系统以菜单方式工作。(所谓菜单指用户可以自由选择所要执行的功能。老师可以通过以上功能对学生进行课堂点名、成绩录入、学生人员管理、学生行为评价),除了要实现上述的基本功能之外,本系统还应该在细节上下工夫,使用户使用方便,在使用的过程中保持一个愉快的心情。
学生考勤管理系统有广大的用户群,这其中有老师、有教务处主任、有公司管理人员,也可以供给一般用户使用。总之该系统可以满足用户需求,实现对其管理的人员的考勤工作。
三、 详细设计:
1、 学生点名功能模块:课堂签到界面,可实现随机点名,按同寝室人员点名,按同班级人员点名,按全体人员点名(防止同寝人员或者同班人员代替签到)和按历史未到人员点名;
图2 学生点名功能模块设计图。
2、 学生成绩录入模块:成绩录入界面,通过按键实现学生成绩录入;并设置查询按钮,方便指定条件学生查找录入,输入一个学号或姓名或班级号进行查找录入;
图3 学生成绩录入功能模块设计图。
3、 学生信息录入删除模块:学生人员管理界面,包括学生学号、姓名、性别、班级、专业、寝室等主要信息的录入和删除;
4、学生信息查询模块:学生日常表现界面,显示学生及相关信息,并能通过成绩排序、课堂未到排序,并且输入一个学号或姓名或性别或班级号或寝室号进行查询,有序输出学生信息。
图4 学生信息查询功能模块设计图。
四、 调试分析:
程序编写完成后,我进行了程序调试。调试过程中,出现了以下问题:当录入学生基本信息时,出现了无法退出录入函数的情况,主要原因是输入函数中while循环语句没有设置跳出循环的条件。
除此之外,修改某学生基本信息时,如果没有该学生的基本信息,系统没有提示用户不存在该学生的信息,也没有建议用户重新输入要修改的学生姓名。由此我发现了该系统修改学生基本信息的不足。于是,我对修改函数进行了修改与完善。
在该函数中,我设置了if语句用来判断系统中是否存有用户要修改的学生缺课信息。如果没有,则提示用户没有该学生的缺课信息,用户可以选择继续输入要修改的学生姓名或者退出修改环节,可以在循环语句中改变循环进行的条件从而终止循环。至于在修改后显示该学生的缺课信息,运行时发现系统并没有做到这一点,对源**检查之后发现是修改函数中显示函数的调用出了点问题,显示函数的实参有误,应该把要修改缺课信息的学生所在的信息类对象作为实参,然后用显示函数的形参引用实参对象,通过对象调用信息类的成员函数,从而实现显示功能。
至于该系统的查询功能的实现,在调试时发现还有欠缺,当随便输入一个学生姓名时,系统没有显示该学生的缺课信息,也没有提示系统没有找到该学生的有关信息,经过在查询函数while循环中加入一个if条件语句后,系统实现了提示用户的功能,如果系统中没有你要查询的学生缺课信息,系统将会提示用户,用户可以继续输入要查询的学生姓名也可以通过按系统设置的退出键选择退出查询环节。至于两个统计功能至今没有完善,主要是特定时间学生缺课次数和课程的缺课人次的统计问题尚待解决,现如今只完成了一两条学生缺课信息的统计。主要问题是特定时间这个前提条件对我造成了一定的障碍。
对系统中存储的信息进行查找和统计运用对象指针比较方便,但我没有使用,也算有点遗憾。在调试过程中我出现的最严重的问题是函数形参引用对象数组,结果系统提示将近几十个错误,在我把函数形参改为对象数组后,错误一下减少了很多。还有比较突出的问题是整个程序不知哪掉了个 }号系统会提示有错,但就不懂那专业术语啥意思。
还有就是我以为派生类公有继承的基类的保护成员在派生类内为公有成员,可编译时才发现是不对的。通过认真调试,我发现我有了收获。
五、用户使用说明:
点击相应按键使用相应的功能,严格按照要求使用。
六、 遇到的难点及解决办法:
这次的课设,我写的程序也没有什么独到之处,我觉得唯一可以从我的程序可以看出的是数组用得比较多,反正是没啥特色,不仅如此,还写得功能不全,实在是惭愧。现在在这里也只能说说它的不足之处了。
类层次不够清晰,纵观整个程序可以发现四个类之间的关系不甚恰当,我有这个感觉,但我不知如何改进。
函数参数设定不够完美,整个程序中对指针的运用比较少。对于指针的巧妙运用把握得不够。还有就是容易missing;或者是},这都是些应该改掉的毛病。
除此以外,我对于怎样用文件保存数据还没深入了解,但我将数据保存到文件后又因文件打不开而无法访问文件中的数据,对于动态链表,我不是很清晰,也就是说无法做到熟稔运用。在调试过程中我发现在主函数中把字符数组名name赋值给字符指针p即p=name;然后用cout<在调用系统的显示功能时,如果在getname()函数前加一个*号输出的只是一个字符,不加反而能输出所有字符。getname()函数的返回值为指针类型,但前面说过利用函数返回指针类型的值并不能输出字符数组中所有的字符,为什么这里又可以呢?
老天,这是为什么?我不知道这一知识,这也算我的程序的不足之处吧!
对于两个统计函数的功能不全,我感到无能为力,我为了这两函数苦思了两天,硬是没凑合来。到后来,脑子里都乱了,运行时屏幕上尽是些乱七八糟的东西。老师帮我看看,看有没有什么简单的方法一下搞定它。
结果不是很好,但过程够了就行。这也是自欺欺人的看法,让我再一次自责吧。
七、 主要窗口界面:
学生日常表现功能模块:
成绩录入功能模块:
课堂查到功能模块:
学生管理功能模块:
八、 源程序:
/txt文本存入数组。
char la[99][20],lb[99][20],lc[99][20],ld[99][20],le[99][20],lf[99][20],lg[99][20],li[99][20],lj[99][20];
int lh[99];
bool check::oninitdialog()
cdialog::oninitdialog();
file *fp;
int tmp=0;
fp = fopen(""r+")
while(tmp<99)
todo: add extra initialization here
return true; /return true unless you set the focus to a control
exception: ocx property pages should return false
void check::onselchangelist1课堂查到显示框关联编辑框。
int t= m_
if(t < 0)
return;else
m_checknumber=lb[t];
c语言课程设计报告 课程设计报告
周口师范学院。课程设计报告。院 系 计算机科学与技术学院 班级。学生姓名学号。设计题目 职工工资管理系统。完成日期 年月日 课程设计任务书。设计题目 工资管理系统 教研室主任指导教师 年月日。摘要11设计内容 任务及具体要求2 1.1设计内容2 1.2设计任务及具体要求2 2概要设计3 2.1该系统...
C课程设计报告
题目各类图形面积与周长计算和高考倒计时。学生姓名张磊 学号 20131344054 学院计算机与软件学院 专业软件工程 指导教师马瑞。二 一五年六月 25 日。目录。1 引言 1 1.1 系统开发背景和意义 1 1.2 服务器运行环境 2 1.3 课题内容 2 2 系统需求分析及相关技术介绍 2 2...
C 课程设计报告
c 程序课程设计报告。学院 资源与安全工程学院 专业班级 城市地下空间工程1303 姓名卢途。指导教师 彭述权。课程设计时间 2013 2014学年第二学期18 19周。一 题目一 设计一 学生成绩管理系统 它的主要功能是对学生的成绩进行输入 修改和管理。系统功能要求 界面要求 学生成绩管理系统 1...