《《面向对象程序设计》人员信息管理系统.docx》由会员分享,可在线阅读,更多相关《《面向对象程序设计》人员信息管理系统.docx(22页珍藏版)》请在第一文库网上搜索。
1、成绩南京工程学院课程设计说明书(论文)题 目 人员管理信息系统课程名称面向对象程序设计B院(系、部、中心)通信工程学院专业多媒体通信班级媒体通信In学生姓名崔学号2080502设计地点信息楼C322指导教师郭丽红设计起止时间:2013年5月27日至2013年5月31日目录1 .系统设计的目的和意义22 .系统总框架图33 .软件功能描述34 .软件代码的设计44. 1数据结构描述及定义44. 2模块设计65 .软件使用说明96 .测试结果及分析97 .比较有特色的函数108 .存在的不足及对策129 .课程设计总结13附录:源程序清单13(正文,宋体,小四,1.5倍行距,每个段落开头空两格)(
2、字数要求:5000字左右,页数10页左右。)课程设计题目1.系统设计的目的和意义随着现代高科技的迅速发展,计算机技术也有了突飞猛进 的快速发展,因此为各个行业的普及应用奠定了基础。由于学校 教师学生的数目众多,传统的手工作业已经不再适合学校统计人 员信息的需要。传统的手工作业要处理巨额的数据,由于人员不 停地改动,例如教工的调职、离职、新教师的加入,学生的入学、 毕业等,人事部门要不停的更新数据,进行抄写。由于数据庞大, 难免会出现错误,这对于员工管理非常不利。而利用计算机技术 可以方便的、准确的、动态的对企业内部员工进行管理,减轻了 人事部门的任务,节约人力资源,降低了企业的成本。基于计算机
3、技术的优越性,几乎所有的企业都使用计算机技 术来实现对员工基本信息的管理。本系统将利用计算机技术模拟 实现对企业员工的基本信息管理,主要实现对人员基本信息的管 理,包括教师的姓名、年龄、籍贯、职称、学历、工作日期,学 生的姓名、学号、年龄、籍贯、入学日期。如果有新人员加入该 学校,可在添加新人员模块进行添加新人员操作。如果有人员辞 职或退休,学生毕业或退学,也可以进行删除操作,同时可以通 过列表查看所有人员的资料,也可以单独查询某个人员的信息, 若是发现某个人员的信息有误,也可以对进行修改操作。2.系统总框架图(或设计目标或需求分析)对问题的描述应避开具体的算法和涉 及的数据结构,描述系统实现
4、功能及达到的目标。首先增加一个对话窗口,插入自己设计好的图片,做一个人员 信息管理系统的界面,然后级联一个窗口,做登录界面。实现用户名/密码的登录。登录界面:通过输入正确的用户名和 密码,进入到人员管理系统的选择界面窗口。通过选择四个BUtton按钮,分别级联到教师信息窗口,学生 信息窗口,全体教师信息窗口,全体学生信息窗口。查询:通过BUttOn按钮,编写查询代码。可以通过输入关键字对人员信息进行查询。添加:通过BUtton按钮,编写添加代码。可以输入相应的人员信 息加入到数据库中。删除:通过BUtton按钮,编写删除代码。可以删除掉需要删除的 人员信息。修改:通过BUtton按钮,编写修改
5、代码。可以对查询到的人员信 息进行信息修改。退出:控件自带的BUttOn按钮,可以退出界面。全体教师信息,和全体学生信息:窗口是通过LiStCtrl (列表控 件)实现的,在新建的类中添加一个OninitdiaIog()函数, 然后在函数中写初始化代码,以及数据库中信息映射到列表 中的代码,实现全体人员信息的查询,便于管理员管理。4 .软件代码的设计说明算法(程序)中用到的所有各种数据结构的描述及定义,核 心模块设计,每个模块的算法描述及流程图(用WORD,或画图板, 或Visio画图软件)建议用ViSio。流程图要规范(有开始,结束, 一个入口,一个出口)。5 . 1数据结构描述及定义所用的
6、到的主要数据结构的描述,标准C+语言定义数据结构void CCQWDlg: :OnOK() 在类CCQWDlg中定义用户登录函void studentinfo: :OnSadd () /在类 studentinfo 中定义增加 函数void StUdentinfo: :0nSearch()/在类 studentinfo 中定义查询 函数void StUdentinfo: : OnSchange ()/在类 studentinfo 中定义修 改函数void StUdentinfo: :OnSdelete()/在类 studentinfo 中定义册U 除函数void teacher info: :
7、 OnSearCh2 ()/在类 teacherinfo 中定义查 询函数void teacher info: :0nAdd2 () /在类 teacherinfo 中定义增加 函数void teacherinfo: :OnDeIete2 ()/在类 teacherinfo 中定义册U 除函数void teacher info: : OnChange2 ()/在类 teacherinfo 中定义修 改函数BOOL allstu: :OnInitDialog()在类 allstu 中定义InitDialog 函数BOOL alltea: :OnInitDialog()在类 alltea 中定义I
8、nitDialog 函数系统共分几个模块,每个模块的算法描述及流程图(核心模块)。1、登录界面流程图2、查询模块流程图3、增加模块流程图4、修改模块流程图开始打开数据源/输入关键字/6、列表控件(IiStCtrl控件)流程图6 .软件使用说明使用本软件之前必须先到数据源里映射下数据库,使它们连接起来。登录时 先进入登录界面的程序查询一下登陆的用户名和密码。7 .测试结果及分析按系统功能描述(设计目标)测试软件运行是否正确,测试数据 的选择要代表性,列出所有测试用的输入数据和相应的输出数据以及测试结果。原始数据库:程序运行结果:登录界面:按登录键进入选择界面:以教师信息查询为例,输入关键字赵一,
9、点击查询:点击确定键,结果如下图:在选择界面点击全体教师信息或全体学生信息如下:8 .比较有特色的函数void CCQWDlg: :0n0K()/ TODO: Add extra validation herethis-UPdateData (true);if(this-m_ name=zzcui q i anwezz&this-m_passward=/4321/z)select dig;dig. DoModal () ;elseMessageBox(登录有误);CCQWDlg dig;dig. DoModal () ;BOOL allstu: :OnInitDialogOCDialog:On
10、InitDialog();/ TODO: Add extra initialization herem_list. InsertColunin (O, 姓名,LVCFMT_LEFT, IOO);mjist. InsertColumn(1, 年龄,LVCFMT_LEFT, IOO);In liSt. InsertColuinn (2, 学号,LVCFMT LEFT, 100);m_list. InsertColunin (3, 籍贯,LVCFMT_LEFT, IoO);m_list. InsertCoIUnln (4, 入学日期,LVCFMT_LEFT, IOo);/ return TRUE u
11、nless you set the focus to a control/ EXCEPTION: OCX Property Pages should return FALSEstudent s (&dl);CString Str=select * from student”;s.Open (student: dynaset, _T(str);while (! s. IsEOF() int nlndex =GetItemCount();nlndex =Insertitem(nlndex, (char*) (LPCTSTR)str);SetItemText(nlndex, 0, s. m_name
12、);SetItemText(nlndex, 1, s. m_age);SetItemText(nlndex, 2, s. m_number);SetItemText(nlndex, 3, s. m_birth_place);SetItemText(nlndex, 4, s. m_entrance_time);5. MoveNext ();6. Close ();return TRUE;8 .存在的不足及对策系统相对来讲还是较简洁的,若是要进行修改操作的话,需先进 行查找,然后在每一个记录上修改,这样实行起来比较麻烦,可以设 置一个弹出窗口,在弹出的窗口上修改记录。另外,查找时仅仅可以 使用主键
13、进行查找,例如学生仅仅可以通过学号进行查找某个学生信 息,教师仅仅可以通过姓名查找某个教师信息,我们可以通过多写几 个语句,可以通过其他的方式查找。9 .课程设计总结总结可以包括:课程设计过程的收获、遇到问题、遇到问题解决 问题过程的思考、程序调试能力的思考、对C+这门课程的思考、在 课程设计过程中对C+课程的认识等内容本次课程设计,使我加深了对C+面向对象程序设计的理解。通 过本次课程设计,我学到了很多知识,C+面向对象是通过类来实现 的。由于我们对VCMFC编程不熟悉,只通过上课看老师演示一遍是不 够的,所以刚开始感觉无从下手,一片茫然,所以就先看了一些教程, 再看了一些关于MFC的操作,
14、然后自己尝试做一些重要的模块,比如 窗口的级联,然后熟悉了 MFC。在做课程设计的时候,我遇到LE 一些问题。有些问题,和同学 一讨论就可以解决,比如星期一的时候,我们就尝试做窗口的级联, 怎么在主窗口之前插入一个对话框,做了好多遍都不成功,运行时都 是直接跳出主窗口,然后上网查了一下资料,在MAINFARM. CPP中插 入对话框类的对象,解决了问题。我们在网上也搜寻解决问题的方法, 许多问题都可以解决,比如列表框,即LiStCtrI控件的使用,也得 到了解决。在这次课程设计中,我学到了很多知识,不仅仅是关于 VC+的知识,还学到了遇到困难不能光着急,要积极寻求解决问题的 方法。要懂得和同学
15、交流,然后去共同解决问题。也可以去网上搜寻 解决该方案。毕竟一个人的能力有限,不可能一个人解决所有的问题。 课程设计其实很能锻炼学生解决问题的能力,可以提高我们对C+的 整体认识。在这次课程设计中我锻炼了我的实际编程能力,以前我只是学习 简单的语法知识,学习对面向对象的理解,其实只有在试验中,才能 体会到它的模块性,它的封装性。这次课程设计的经历为以后的学习 和工作积累了很多经验,受益匪浅。这次课程设计是我独立完成的,刚开始总是出现错误,找 不到解决的方法,然后就重新做,这让我明白,编程需谨慎,程序中 不允许出现任何小的错误,此外在帮助别人解决问题时,也拓展了我 自己解决程序中错误的能力,怎么从提示错误的语句中发现错误的根 源,并改正过来是很重要的。这次课程设计能够做成功还是有成就感 的,非常感谢老师给我们这次课