




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、成绩南京工程学院课程设计说明书(论文)题 目 人员管理信息系统 课 程 名 称 面向对象程序设计B 院(系、部、中心) 通信工程学院 专 业 多媒体通信 班 级 媒体通信111 学 生 姓 名 崔 学 号 208110502 设 计 地 点 信息楼C322 指 导 教 师 郭 丽 红 设计起止时间: 2013年 5月 27日至 2013年 5月31日目 录1系统设计的目的和意义82系统总框架图83软件功能描述84软件代码的设计841数据结构描述与定义942模块设计95软件使用说明96测试结果与分析97比较有特色的函数98存在的不足与对策99课程设计总结9附录:源程序清单9 (正文,宋体,小四,
2、1.5倍行距,每个段落开头空两格)(字数要求:5000字左右,页数10页左右。)课程设计题目1 系统设计的目的和意义 随着现代高科技的迅速发展,计算机技术也有了突飞猛进的快速发展,因此为各个行业的普及应用奠定了基础。由于学校教师学生的数目众多,传统的手工作业已经不再适合学校统计人员信息的需要。传统的手工作业要处理巨额的数据,由于人员不停地改动,例如教工的调职、离职、新教师的加入,学生的入学、毕业等,人事部门要不停的更新数据,进行抄写。由于数据庞大,难免会出现错误,这对于员工管理非常不利。而利用计算机技术可以方便的、准确的、动态的对企业内部员工进行管理,减轻了人事部门的任务,节约人力资源,降低了
3、企业的成本。基于计算机技术的优越性,几乎所有的企业都使用计算机技术来实现对员工基本信息的管理。本系统将利用计算机技术模拟实现对企业员工的基本信息管理,主要实现对人员基本信息的管理,包括教师的姓名、年龄、籍贯、职称、学历、工作日期,学生的姓名、学号、年龄、籍贯、入学日期。如果有新人员加入该学校,可在添加新人员模块进行添加新人员操作。如果有人员辞职或退休,学生毕业或退学,也可以进行删除操作,同时可以通过列表查看所有人员的资料,也可以单独查询某个人员的信息,若是发现某个人员的信息有误,也可以对进行修改操作。2系统总框架图欢迎窗口登录窗口选择窗口教师信息全体学生信息学生信息全体教师信息全体学生信息窗口
4、全体教师信息窗 口增 加查 询删 除修 改删 除查 询增 加修 改3软件功能描述(或设计目标或需求分析)对问题的描述应避开具体的算法和涉及的数据结构,描述系统实现功能及达到的目标。首先增加一个对话窗口,插入自己设计好的图片,做一个人员信息管理系统的界面,然后级联一个窗口,做登录界面。实现用户名/密码的登录。登录界面:通过输入正确的用户名和密码,进入到人员管理系统的选择界面窗口。通过选择四个Button按钮,分别级联到教师信息窗口,学生信息窗口,全体教师信息窗口,全体学生信息窗口。查询:通过Button按钮,编写查询代码。可以通过输入关键字对人员信息进行查询。添加:通过Button按钮,编写添加
5、代码。可以输入相应的人员信息加入到数据库中。删除:通过Button按钮,编写删除代码。可以删除掉需要删除的人员信息。修改:通过Button按钮,编写修改代码。可以对查询到的人员信息进行信息修改。退出:控件自带的Button按钮,可以退出界面。全体教师信息,和全体学生信息:窗口是通过Listctrl(列表控件)实现的,在新建的类中添加一个oninitdialog()函数,然后在函数中写初始化代码,以及数据库中信息映射到列表中的代码,实现全体人员信息的查询,便于管理员管理。4软件代码的设计说明算法(程序)中用到的所有各种数据结构的描述与定义,核心模块设计,每个模块的算法描述及流程图(用WORD,或
6、画图板,或Visio画图软件)建议用Visio。流程图要规范(有开始,结束,一个入口,一个出口)。41数据结构描述与定义所用的到的主要数据结构的描述,标准C+语言定义数据结构void CCQWDlg:OnOK() /在类CCQWDlg中定义用户登录函数void studentinfo:OnSadd() /在类studentinfo中定义增加函数void studentinfo:OnSearch()/在类studentinfo中定义查询函数void studentinfo:OnSchange()/在类studentinfo中定义修改函数void studentinfo:OnSdelete()/在
7、类studentinfo中定义删除函数void teacherinfo:OnSearch2()/在类teacherinfo中定义查询函数void teacherinfo:OnAdd2() /在类teacherinfo中定义增加函数void teacherinfo:OnDelete2()/在类teacherinfo中定义删除函数void teacherinfo:OnChange2()/在类teacherinfo中定义修改函数BOOL allstu:OnInitDialog() /在类allstu中定义InitDialog函数BOOL alltea:OnInitDialog() /在类alltea
8、中定义InitDialog函数42模块设计系统共分几个模块,每个模块的算法描述及流程图(核心模块)。1、登录界面流程图输入用户名和密码用户名与密码符合登录成功密码错误结 束开 始2、查询模块流程图开 始输入关键字查到关键字打开数据源显示记录No data!结 束3、增加模块流程图开 始输入记录打开数据源将记录录入数据库Success结 束4、修改模块流程图开 始打开数据源输入关键字查到关键字修改记录No dataSuccess结 束5、删除模块流程图开 始打开数据源输入关键字查到关键字No data!删除记录结 束6、列表控件(listctrl控件)流程图开 始增加列表控件增加oninitdi
9、alog()函数 初始化函数打开数据源指针指向第一条记录存在记录指针指向下一条记录将记录显示到列表控件结 束5软件使用说明使用本软件之前必须先到数据源里映射下数据库,使它们连接起来。登录时 先进入登录界面的程序查询一下登陆的用户名和密码。6测试结果与分析按系统功能描述(设计目标)测试软件运行是否正确,测试数据的选择要代表性,列出所有测试用的输入数据和相应的输出数据以及测试结果。原始数据库:程序运行结果: 登录界面:按登录键进入选择界面:以教师信息查询为例,输入关键字赵一,点击查询:点击确定键,结果如下图:在选择界面点击全体教师信息或全体学生信息如下:7比较有特色的函数 void CCQWDlg
10、:OnOK() / TODO: Add extra validation herethis->UpdateData(true);if(this->m_name="cuiqianwen" && this->m_passward="4321")select dlg;dlg.DoModal();elseMessageBox("登录有误");CCQWDlg dlg;dlg.DoModal();BOOL allstu:OnInitDialog() CDialog:OnInitDialog();/ TODO: A
11、dd extra initialization herem_list.InsertColumn(0,"姓名",LVCFMT_LEFT,100);m_list.InsertColumn(1,"年龄",LVCFMT_LEFT,100);m_list.InsertColumn(2,"学号",LVCFMT_LEFT,100);m_list.InsertColumn(3,"籍贯",LVCFMT_LEFT,100);m_list.InsertColumn(4,"入学日期",LVCFMT_LEFT,100);
12、 / return TRUE unless you set the focus to a control / EXCEPTION: OCX Property Pages should return FALSE student s(&d1);CString str="select * from student"s.Open(student:dynaset,_T(str); while(!s.IsEOF() int nIndex = m_list.GetItemCount(); nIndex = m_list.InsertItem(nIndex, (char*)(LPC
13、TSTR)str); m_list.SetItemText(nIndex,0,s.m_name);m_list.SetItemText(nIndex,1,s.m_age); m_list.SetItemText(nIndex,2,s.m_number); m_list.SetItemText(nIndex,3,s.m_birth_place);m_list.SetItemText(nIndex,4,s.m_entrance_time); s.MoveNext(); s.Close();return TRUE;8 存在的不足与对策 系统相对来讲还是较简洁的,若是要进行修改操作的话,需先进行查找,
14、然后在每一个记录上修改,这样实行起来比较麻烦,可以设置一个弹出窗口,在弹出的窗口上修改记录。另外,查找时仅仅可以使用主键进行查找,例如学生仅仅可以通过学号进行查找某个学生信息,教师仅仅可以通过姓名查找某个教师信息,我们可以通过多写几个语句,可以通过其他的方式查找。9课程设计总结总结可以包括 : 课程设计 过程的收获、遇到问题、遇到问题解决问题过程的思考、程序调试能力的思考、对C+这门课程的思考、在课程设计过程中对C+课程的认识等内容本次课程设计,使我加深了对C+面向对象程序设计的理解。通过本次课程设计,我学到了很多知识,C+面向对象是通过类来实现的。由于我们对vcMFC编程不熟悉,只通过上课看
15、老师演示一遍是不够的,所以刚开始感觉无从下手,一片茫然,所以就先看了一些教程,再看了一些关于MFC的操作,然后自己尝试做一些重要的模块,比如窗口的级联,然后熟悉了MFC。在做课程设计的时候,我遇到LE 一些问题。有些问题,和同学一讨论就可以解决,比如星期一的时候,我们就尝试做窗口的级联,怎么在主窗口之前插入一个对话框,做了好多遍都不成功,运行时都是直接跳出主窗口,然后上网查了一下资料,在MAINFARM.CPP中插入对话框类的对象,解决了问题。我们在网上也搜寻解决问题的方法,许多问题都可以解决,比如列表框,即Listctrl控件的使用,也得到了解决。在这次课程设计中,我学到了很多知识,不仅仅是
16、关于VC+的知识,还学到了遇到困难不能光着急,要积极寻求解决问题的方法。要懂得和同学交流,然后去共同解决问题。也可以去网上搜寻解决该方案。毕竟一个人的能力有限,不可能一个人解决所有的问题。课程设计其实很能锻炼学生解决问题的能力,可以提高我们对C+的整体认识。在这次课程设计中我锻炼了我的实际编程能力,以前我只是学习简单的语法知识,学习对面向对象的理解,其实只有在试验中,才能体会到它的模块性,它的封装性。这次课程设计的经历为以后的学习和工作积累了很多经验,受益匪浅。 这次课程设计是我独立完成的,刚开始总是出现错误,找不到解决的方法,然后就重新做,这让我明白,编程需谨慎,程序中不允许出现任何小的错误
17、,此外在帮助别人解决问题时,也拓展了我自己解决程序中错误的能力,怎么从提示错误的语句中发现错误的根源,并改正过来是很重要的。这次课程设计能够做成功还是有成就感的,非常感谢老师给我们这次课程设计的机会。附录:源程序清单编码规范,符合软件工程的要求(变量名,函数名见名知义,注释规范占总程序行数的2/5)。CQW.CPP#include "stdafx.h" /CQW为工程文件名#include "CQW.h"#include "CQWDlg.h"#include "select.h" /select为选择对话框的类名#
18、include "enter.h" /enter为欢迎窗口的类名#ifdef _DEBUG#define new DEBUG_NEW#undef THIS_FILEstatic char THIS_FILE = _FILE_;#endifBOOL CCQWApp:InitInstance()AfxEnableControlContainer(); enter d; /为了使在登录窗口之前跳出欢迎界面d.DoModal();#ifdef _AFXDLLEnable3dControls();/ Call this when using MFC in a shared DLL#e
19、lseEnable3dControlsStatic();/ Call this when linking to MFC statically#endifCCQWDlg dlg;m_pMainWnd = &dlg;int nResponse = dlg.DoModal();if (nResponse = IDOK)else if (nResponse = IDCANCEL)return FALSE;CQWDlg.CPP#include "stdafx.h"#include "CQW.h"#include "CQWDlg.h"#i
20、nclude "select.h"#include "student.h"#include "afxdb.h"#ifdef _DEBUG#define new DEBUG_NEW#undef THIS_FILEstatic char THIS_FILE = _FILE_;CDatabase cc;#endifvoid CCQWDlg:OnOK() /用户名、密码登录/ TODO: Add extra validation herethis->UpdateData(true);if(this->m_name="cu
21、iqianwen" && this->m_passward="4321")select dlg;dlg.DoModal();elseMessageBox("登录有误");CCQWDlg dlg;dlg.DoModal();以学生为例;#include "stdafx.h"#include "CQW.h"#include "studentinfo.h"#include "student.h"#ifdef _DEBUG#define new DEB
22、UG_NEW#undef THIS_FILEstatic char THIS_FILE = _FILE_;#endifint flag;CDatabase db;void studentinfo:OnSadd() /增加学生/ TODO: Add your control notification handler code herestudent s(&db);CString str="select * from student"s.Open(student:dynaset,_T(str);UpdateData(true);s.AddNew();s.m_number
23、=m_sno;s.m_age=m_sage;s.m_name=m_sname;s.m_birth_place=m_sbp;s.m_entrance_time=m_sin;s.Update();s.Close();AfxMessageBox("success");void studentinfo:OnSearch() /查找学生信息/ TODO: Add your control notification handler code herestudent s(&db);UpdateData(true);CString str="select * from s
24、tudent"s.Open(student:dynaset,_T(str);while(!s.IsEOF() if(m_sno=s.m_number) m_sname=s.m_name; m_sage=s.m_age;m_sbp=s.m_birth_place;m_sin=s.m_entrance_time; flag=1; break;else s.MoveNext(); if(flag=1) AfxMessageBox("success");else AfxMessageBox("no data");UpdateData(false);s.
25、Close();void studentinfo:OnSchange() /修改学生信息/ TODO: Add your control notification handler code here student s(&db);CString str="select * from student"s.Open(student:dynaset,_T(str);UpdateData(true);while(!s.IsEOF() if(m_sno=s.m_number) flag=1; break; else s.MoveNext();if(flag=1)s.Edit(
26、);s.m_number=m_sno; s.m_age=m_sage; s.m_name=m_sname;s.m_birth_place=m_sbp;s.m_entrance_time=m_sin; s.Update();AfxMessageBox("success");else AfxMessageBox("no data");s.Close();void studentinfo:OnSdelete() /删除学生信息/ TODO: Add your control notification handler code herestudent s(&am
27、p;db);CString str="select * from student"s.Open(student:dynaset,_T(str);UpdateData(true); while(!s.IsEOF()if(m_sno=s.m_number)flag=1;break;else s.MoveNext();if(flag=1) s.Delete(); AfxMessageBox("success");elseAfxMessageBox("no data");s.Close();BOOL allstu:OnInitDialog() /用列表控件显示全体学生信息 CDialog:OnInitDialog();/ TODO: Add extra initiali
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- JIT生产管理基础汇报
- 中医外科临床操作规范
- 怎样设计小学对话课件
- 安全法制教育
- 医美行业岗位介绍
- 定金保证金合同
- 拍卖展示活动器材协议
- 商品质量纠纷调解合同(2篇)
- 2025年统编版小学道德与法治四年级下册《有多少浪费本可避免》说课课件
- 小学雪天安全主题班会教育
- 任务三 辅助出行的出行者信息系统
- 精对苯二甲酸装置简介和重点部位及设备
- 婴幼儿大便问题全解析
- 绿色中国智慧树知到课后章节答案2023年下华东理工大学
- 《旅行社计调业务》第八章自由行、自驾游及在线旅游-计调业务
- 巡察办主任在巡前培训会上的讲话
- 看板管理-精益生产
- 普车加工技能训练(第3版)高职PPT完整全套教学课件
- AQ-1023-2006煤矿井下低压供电系统及装备通用安全技术要求解析
- 2023年中考英语真题分类汇编-阅读理解(判断正误型)
- 拟定装运港目的港条款装运港目的港选择的影响因素
评论
0/150
提交评论