版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
学习情境九综合应用实例任务一员工信息管理系统任务二俄罗斯方块游戏的开发返回任务一员工信息管理系统知识导读在信息时代,传统的管理方法必然被计算机以基础的信息管理所取代。作为计算机应用的一部分,使用计算机对信息进行管理,具有手工管理所无法比拟的优点,例如检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高员工信息管理的效率,也是企业实现科学化、正规化管理,与世界接轨的重要条件。知识点详解1.开发背景现代企业需要一款管理软件,以完成公司员工信息的管理,从而大大减轻管理者的负担。下一页返回任务一员工信息管理系统2.系统分析1)需求分析一个典型的员工信息管理系统需要具有下面的功能:(1)登录模块;(2)员工基本信息管理模块;(3)员工简历信息管理模块;(4)员工工资信息管理模块。2)功能分析根据需求分析,本综合实例设计的员工管理系统由三个功能模块组成。在这三个模块中,用户都可以进行添加、删除、修改、查询、生成报表等操作。上一页下一页返回任务一员工信息管理系统3.系统设计1)绘制用例图设计系统功能员工信息管理系统是企业用于管理内部人员所用的系统,通过它可以完成企业对员工管理的常用操作。系统用户有两种类型,第一种是管理员,管理员能够查看、修改、删除所有用户,是超级用户;第二种是普通用户,只能修改自己的用户密码。管理员和普通用户都能对数据库进行信息维护、信息录入、信息查询、信息输出等操作。管理员和普通用户的用例图如图9-1和图9-2所示。上一页下一页返回任务一员工信息管理系统2)绘制系统流程图启动系统之后,首先对用户的身份进行识别,进入系统后,首先进入系统主界面,然后用户就可以通过系统的菜单项或按钮来进行各种操作。系统流程图如图9-3所示。4.数据库的设计与分析1)数据库分析由于系统较小,所以采用Access数据库进行开发。在Access中建立一个名称为“员工管理系统库”的数据库,然后在该数据库下创建系统所需的数据表,用来存储数据。“员工管理系统库”数据库包含“员工基本信息表”“员工工资信息表”“用户信息表”“员工简历信息表”,如图9-4所示。上一页下一页返回任务一员工信息管理系统2)数据库概念设计根据系统需求,系统划分出4个实体对象,分别是员工基本信息实体、员工简历信息实体、员工工资信息实体、用户信息表。员工基本信息实体的E-R图如图9-5所示。员工简历信息实体的E-R图如图9-6所示。员工工资信息实体的E-R图如图9-7所示。3)数据库逻辑结构设计根据设计好的各实体E-R图创数据库的逻辑结构,见表9-1、表9-2和表9-3。上一页下一页返回任务一员工信息管理系统5.员工基本信息管理模块1)生成员工基本信息表步骤1创建项目并设计界面。(1)创建一个项目名为“StaffManage”的对话框应用程序,并为其添加相应的控件。设置列表视图属性View为Report类型,如图9-8所示。(2)控件ID和Caption的设置情况见表9-4。(3)在资源视图中插入一个新的对话框,利用这个对话框实现数据的添加和修改操作。首先设置其Caption为“员工基本信息管理”,ID为IDD_DIALOG_STAFFINFO,然后为其添加相应的控件,如图9-9所示。上一页下一页返回任务一员工信息管理系统(4)双击“员工基本信息管理”对话框界面,为其关联对话框类CStaffInfoDlg。(5)控件ID和Caption的设置情况见表9-5。(6)编辑框关联变量见表9-6。步骤2布局列表控件。为列表框关联一个CListCtrl类型变量m_listStaffInfo。在CStaffManageDlg::OnInitDialog()函数中添加对话框初始化代码,完成视图列表框控件的布局。代码如下:上一页下一页返回任务一员工信息管理系统BOOLCStaffManageDlg::OnInitDialog(){//TODO:在此添加额外的初始化代码m_listStaffInfo.SetExtendedStyle(LVS_EX_GRIDLINES|LVS_EX_FULL⁃ROWSELECT);//设置列表视图为网格类型且全选状态m_listStaffInfo.InsertColumn(0,"工号",LVCFMT_CENTER,80);m_listStaffInfo.InsertColumn(1,"姓名",LVCFMT_CENTER,80);m_listStaffInfo.InsertColumn(2,"性别",LVCFMT_CENTER,60);m_listStaffInfo.InsertColumn(3,"年龄",LVCFMT_CENTER,60);上一页下一页返回任务一员工信息管理系统m_listStaffInfo.InsertColumn(4,"职务",LVCFMT_CENTER,60);m_listStaffInfo.InsertColumn(5,"生日",LVCFMT_CENTER,60);m_listStaffInfo.InsertColumn(6,"住址",LVCFMT_CENTER,160);m_listStaffInfo.InsertColumn(7,"电话号码",LVCFMT_CENTER,80);returnTRUE;//除非将焦点设置到控件,否则返回TRUE上一页下一页返回任务一员工信息管理系统步骤3在主对话框添加菜单项。(1)添加菜单资源,修改ID为“IDR_MANAGEMENU”并完成菜单设计。(2)回到主对话框,选择“Menu”属性,再从中选择“IDR_MANAGEMENU”。步骤4编写显示员工基本信息的函数。为了能够便捷地显示数据库数据,需要为CStaffManageDlg类编写一个显示员工基本信息的函数ListStaffInfo(),以完成数据的显示任务。上一页下一页返回任务一员工信息管理系统步骤5“添加”功能的实现。(1)在CStaffManageDlg.h中添加成员变量:public:CStringm_strName;//姓名CStringm_strId;//工号CStringm_strAge;//年龄CStringm_strStatus;//职务CStringm_strSex;//性别CStringm_strBirthday;//生日CStringm_strAddress;//地址CStringm_strPhone;//电话上一页下一页返回任务一员工信息管理系统(2)双击“添加”按钮,为其添加消息响应函数:#include"StaffInfoDlg.h"//包含新对话框类的头文件voidCStaffManageDlg::OnBnClickedButtonAdd(){//TODO:在此添加控件通知处理程序代码_ConnectionPtrm_pConnection;//创建连接对象指针m_pConnection.CreateInstance(__uuidof(Connection));//创建连接对象实例try{m_pConnection->Open("Provider=Microsoft.ACE.OLEDB.12.0;Data上一页下一页返回任务一员工信息管理系统Source=员工管理系统库.accdb","","",adModeUnknown);}catch(_com_errore){MessageBox("数据库连接失败,确认数据库"员工管理系统库.accdb"是否在当前路径下!");return;}_RecordsetPtrm_pRecordset;//创建记录集指针m_pRecordset.CreateInstance(__uuidof(Recordset));上一页下一页返回任务一员工信息管理系统//创建记录集对象实例try{m_pRecordset->Open(//打开记录集对象250VisualC++.NET案例设计教程"SELECT*FROM员工基本信息表",//执行的SQL语句m_pConnection.GetInterfacePtr(),//获取库接库的IDispadOpenDynamic,/动态光标adLockOptimistic,//乐观锁定方式adCmdText//CommandText是文本命令上一页下一页返回任务一员工信息管理系统);}catch(_com_error*e){MessageBox(e->ErrorMessage());}CStaffInfoDlgdlg;if(dlg.DoModal()!=IDOK)//如果用户没有单击“确定”按钮则直接返回,不执行下面操作上一页下一页返回任务一员工信息管理系统{return;}m_strName=dlg.m_strName;//姓名m_strId=dlg.m_strId;//学号m_strAge=dlg.m_strAge;//年龄m_strStatus=dlg.m_strStatus;//职务m_strSex=dlg.m_strSex;//性别m_strBirthday=dlg.m_strBirthday;//生日m_strAddress=dlg.m_strAddress;//地址m_strPhone=dlg.m_strPhone;//电话m_pRecordset->AddNew();//添加新记录上一页下一页返回任务一员工信息管理系统m_pRecordset->PutCollect("Employees_Id",_variant_t(m_strId));m_pRecordset->PutCollect("Employees_Name",_variant_t(m_strName));m_pRecordset->PutCollect("Sex",_variant_t(m_strSex));m_pRecordset->PutCollect("Age",_variant_t(m_strAge));m_pRecordset->PutCollect("Birthday",_variant_t(m_strBirthday));m_pRecordset->PutCollect("Phone_number",_variant_t(m_str⁃Phone));上一页下一页返回任务一员工信息管理系统m_pRecordset->PutCollect("Status",_variant_t(m_strStatus));m_pRecordset->PutCollect("Address",_variant_t(m_strAddress));m_pRecordset->Update();//更新记录集m_pRecordset->Close();//关闭记录集对象m_pRecordset=NULL;if(m_pConnection->State)m_pConnection->Close();//关闭连接对象m_pConnection=NULL;ListStaffInfo("select*from员工基本信息表");上一页下一页返回任务一员工信息管理系统步骤6“添加员工基本信息”菜单功能的实现。(1)用鼠标右键单击“添加员工基本信息”菜单项,添加COMMAND命令,如图9-11所示。(2)在StaffManageDlg..cpp中添加如下代码,实现单击菜单弹出对话框功能:#includeStaffInfoDlg.h"voidCStaffManageDlg::OnStaffadd(){//TODO:在此添加命令处理程序代码CStaffInfoDlgdlg;dlg.DoModal();}上一页下一页返回任务一员工信息管理系统步骤7查询员工基本信息。(1)按姓名查询:voidCStaffManageDlg::OnSearchSalaryByName(){//TODO:在此处添加额外代码m_dlgSearch.m_str_search.Empty();if(IDCANCEL==m_dlgSearch.DoModal())//打开“查询”对话框输入查询条件{return;上一页下一页返回任务一员工信息管理系统}CStringstrSQL;strSQL.Format("select*fromsalaryWHEREEmployees_Name='%s'",m_dlgSearch.m_str_search);//构造SQL语句DrawSalaryList(strSQL);//在数据库中查询并显示查询结果}上一页下一页返回任务一员工信息管理系统(2)按工号查询:voidCStaffManageDlg::OnSearchSalaryById(){//TODO:在此处添加额外代码m_dlgSearch.m_str_search.Empty();if(IDCANCEL==m_dlgSearch.DoModal())//打开“查询”对话框输入查询条件{return;}CStringstrSQL;上一页下一页返回任务一员工信息管理系统strSQL.Format("select*fromsalaryWHEREEmployees_Id='%s'",m_dlgSearch.m_str_search);//构造SQL语句DrawSalaryList(strSQL);//在数据库中查询并显示查询结果}上一页下一页返回任务一员工信息管理系统6.员工简历管理模块本模块与上一模块实现的是相同的功能,读者可参照本书源代码自己动手完成本任务。7.员工工资信息管理模块本模块与上一模块实现的是相同的功能,读者可参照本书源代码自己动手完成本任务。本子任务详细地介绍了管理软件的开发过程,数据库的设计等,是一个VC++的很好的综合实例,希望读者认真体会。上一页返回任务二俄罗斯方块游戏的开发知识导读相信许多人都玩过俄罗斯方块游戏,该游戏既可以锻炼反应能力又可以提高思维能力。知识点详解1.俄罗斯方块游戏的操作方法游戏通过“上”方向键控制方块的变化,通过“左”“右”和“下”方向键移动从上落下的方块。下一页返回任务二俄罗斯方块游戏的开发2.俄罗斯方块的游戏规则预先设置随机发生器不断地输出单个方块到游戏界面的顶部,以一定的规则进行移动、旋转、下落和摆放,并填充到游戏界面下方的方块中。每次摆放时如果将下面方块的一行或多行完全填满,则组成这些行的所有小方块将被消除,并且以此换取一定的积分奖
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年海外仓智能称重系统 运费优化与包裹合规检测
- 2026年北京市思想政治工作人员专业职务评定考试(专业课初级)模拟试题及答案
- 2026年上海市普通高中学业水平等级性测试政治真题
- 2025年中国红色雨花石市场调查研究报告
- 2025年中国空气幕架体市场调查研究报告
- 2025年中国真空淬火油市场调查研究报告
- 2025年中国瓷芯快开水龙头市场调查研究报告
- 河北省沧州盐山中学2026届高三下学期第二次诊断性测验化学试题含解析
- 2026一年级下册语文看图写话五感法课件
- 2026一年级下册语文狼来了阅读指导课件
- 2026江苏苏州市姑苏区机关事务管理中心招聘公益性岗位人员2人考试参考试题及答案解析
- 2026江苏南京六合经济开发区所属国有企业招聘6人笔试历年参考题库附带答案详解
- 第13课 每个人都有梦想 课件(内嵌视频)2025-2026学年道德与法治二年级下册统编版
- 2026年高考数学终极押题猜想(上海专用)(原卷版)
- 水利水电工程单元工程施工质量检验表与验收表(SLT631.5-2025)
- 石油资源与国家安全【高效备课精研+知识精讲提升】 高二地理 教学课件(湘教版2019选择性必修3)
- 室外水泥砂浆抹灰工程施工工艺
- GB/T 5271.17-2010信息技术词汇第17部分:数据库
- 芸香目芸香科课件
- 诊断性研究证据的分析与评价课件
- 第七章-《蒙太奇段落的剪辑》课件
评论
0/150
提交评论