C课程设计实验报告-职工信息管理系统课程设计_第1页
C课程设计实验报告-职工信息管理系统课程设计_第2页
C课程设计实验报告-职工信息管理系统课程设计_第3页
C课程设计实验报告-职工信息管理系统课程设计_第4页
C课程设计实验报告-职工信息管理系统课程设计_第5页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、h山东交通学院课程设计报告书题目:职工信息管理系统课程设计院部:信息科学与电气工程学院专业:计算机技术与科学班级计算122姓名:耿亚楠学号:12081122910月7日至10月18日共2周指导教师(签字):系主任(签字):年月日hhhh课程设计任务书一、设计内容及要求(1)根据职工信息表,建立只含有姓名和年龄的职工信息简表。(可选功能)(2)使用继承的方法构造3个类,(即雇员类虚基类,教师类和工人类派生类)使用相应的对象放置10个职工信息。(3)编写同名display()成员函数,用来输出数组的内容。(4)按不同类别输出职工信息,比如按系输出教师信息。(可选功能)二、设计原始资料(1)C面向对

2、象程序设计李涛高等教育出版社三、设计完成后提交的文件课程设计报告(30005000字),纸质打印稿及电子版(1)需求分析(功能模块层次图)(2)系统设计(包括详细设计和界面设计)(3)代码设计(主要功能函数)(4)测试记录(测试各项功能的正确性、容错性)(5)课程设计总结四、进度记录10月7号完成选题,完成对职工信息管理系统的功能分析和版面设计10月8号开始学习MFC,完成页面设计10月9号按照已有程序改编hh10月10号改编大致完成,未添加缺失的功能模块,调试不通10月11号仍旧调试不通,与同学交流获取新的设计思路10月12号周六10月13号周日10月14号尝试通过MFC控件操控SQL数据库

3、,未使用代码10月15号继续研究DataGrid控件10月16号控件功能不全,回头尝试MFC不连数据库的半成品,成功10月17号继续尝试添加新功能10月18号总体架构完成五、主要参考资料1.李涛C面向对象程序设计高等教育出版社2.夏冰冰数据库原理及应用SQLServer2000国防工业出版社hh成绩评定表摘要课程设计是我们在学习和掌握所学知识的基础上结合实际应用而进行的一次综合分析设计能力的训练。为了提高我们的实践能力、创造力和解决实际问题的能力,进一步认识到实践对于学习的重要性,学校安排我们进行了为期两周的面向对象课程设计。职工信息管理系统程序的功能是,根据职工信息表,建立只含有姓名和年龄的

4、职工信息简表;可以通过不同的方式对建立的信息表中的职工信息进行添加、删除、修改等,并显示信息;可以实现按不同类别输出职工信息等功能。通过这次课程设计,使我们更加熟悉的掌握了VisualC+语言的运用。帮助我们熟悉了更多VisualC+语言的功能,提高了我们的动手能力,学到了许多解决实际问题的宝贵经验同时也挖掘出了我们潜在的能力,使我们对自己更有自信,对编程也更有兴趣。我相信,只要努力、勤奋、坚持不懈,就没有什么做不到的事,不能还没开始就退缩,要勇于拼搏,敢于创新。hh目录1课程设计概述.51.1开发环境概述.52职工信息管理系统软件总体设计.52.12.2职工信息管理系统软件总体设计思想.5总

5、体设计流程图.62.3需求分析.63职工信息管理系统程序源代码.64程序测试.234.1主菜单界面.234.2添加职工信息界面.244.3完成添加职工信息界面.244.4排序职工信息界面.254.5查询职工信息界面.254.6删除职工信息界面.275设计体会及今后的改进意见.286参考文献.29hh1课程设计概述1.1开发环境概述VisualC+是微软公司的重要产品之一,是一种功能强大行之有效的可视化编程工具。它提供了MFC类库,使用户可以方便的开发自己想实现的功能。VisualC+6.0的主要特点:(1)自动化和宏功能。(2)可以灵活地定制工具栏和菜单。(3)可以直接运行和调试程序,还可以使

6、用宏语言来自动操作调试器。(4)支持Internet连接。(5)一个新的便捷的项目系统可以允许一个工作区内包含多个不同的项目类型。(6)在工作区内可以包含多个并列的工程文件。(7)可以在对话框中使用WizardBar将程序同可视化元素联系起来。(8)FindinFile命令支持两个独立的输出窗格,可以保存上一次搜索的结果。这些新特性可以更好地利用VisualC+开发工具进行Windows应用程序开发。2职工信息管理系统软件总体设计2.1职工信息管理系统软件总体设计思想职工信息系统的功能为实现输入数据的存储与读取,同时可添加,删除,查询,排序工人信息。职工信息系统的功能模块有:(1)提供菜单界面

7、,方便用户对程序功能进行选择。(2)接受用户输入的一组数据,例如姓名,年龄,工号,性别,工种等(3)除了添加数据之外,还可以进行删除、查询、添加、排序等操作。程序分为多个小模块,通过调用实现各种功能,增强了程序的可建设性。2.2总体设计流程程序开始主菜单添加职工信息查询职工信息删除职工信息h排序职工信息h2.3需求分析职工信息系统是一个工作单位必不可缺少的管理工具,它的管理数据对于公司的决策者和管理者都是至关重要的,所以职工信息管理系统可以成为为用户提供充足的信息和快捷的查明迅手段,传统的人工方式管理信息,这种方式有很多缺点:效率低、保密性差。时间一长,将产生大量的文件和数据。这样,对于信息的

8、查找、更新和维护都带来了不少的困难。当今社会,传统的方式已经不能满足公司的需求。随着计算机技术的不断提高,计算机作为知识经济时代的产物,它已经进入人类社会的各个行业和领域,并发挥着越来越重要的作用。使用计算机对职工信息进行管理具有:检索迅速、查找方便、可靠性高、储存量大、保密性高、寿命长、成本低等特点。这些优点能够极大的提高职工管理的效率,这也是公司的科学化、正规化管理和与世界接轨的重要条件。计算机职工信息管理系统能提供以下功能添加职工信息并保存查询职工信息浏览所有职工信息删除职工信息将所有职工信息按照工号排序3职工信息管理系统程序源代码/职工信息系统升级版Dlg.cpp:implementa

9、tionfile/#includestdafx.hhh#include职工信息系统升级版.h#include职工信息系统升级版Dlg.h#include#includehh#ifdef_DEBUG#definenewDEBUG_NEW#undefTHIS_FILEstaticcharTHIS_FILE=_FILE_;#endif/CAboutDlgdialogusedforAppAboutclassCAboutDlg:publicCDialogpublic:CAboutDlg();/DialogData/AFX_DATA(CAboutDlg)enumIDD=IDD_ABOUTBOX;/AFX_

10、DATA/ClassWizardgeneratedvirtualfunctionoverrides/AFX_VIRTUAL(CAboutDlg)protected:hhvirtualvoidDoDataExchange(CDataExchange*pDX);/DDX/DDVsupport/AFX_VIRTUAL/Implementationprotected:/AFX_MSG(CAboutDlg)hh/AFX_MSGDECLARE_MESSAGE_MAP();CAboutDlg:CAboutDlg():CDialog(CAboutDlg:IDD)/AFX_DATA_INIT(CAboutDlg

11、)/AFX_DATA_INITvoidCAboutDlg:DoDataExchange(CDataExchange*pDX)CDialog:DoDataExchange(pDX);/AFX_DATA_MAP(CAboutDlg)/AFX_DATA_MAPhhBEGIN_MESSAGE_MAP(CAboutDlg,CDialog)/AFX_MSG_MAP(CAboutDlg)/Nomessagehandlers/AFX_MSG_MAPEND_MESSAGE_MAP()hh/CMyDlgdialogCMyDlg:CMyDlg(CWnd*pParent/*=NULL*/):CDialog(CMyDl

12、g:IDD,pParent)/AFX_DATA_INIT(CMyDlg)m_Sex=-1;m_age=_T();m_id=_T();m_name=_T();m_Show=_T();m_Kind=-1;/AFX_DATA_INIT/NotethatLoadIcondoesnotrequireasubsequentDestroyIconinWin32hhm_hIcon=AfxGetApp()-LoadIcon(IDR_MAINFRAME);voidCMyDlg:DoDataExchange(CDataExchange*pDX)CDialog:DoDataExchange(pDX);/AFX_DAT

13、A_MAP(CMyDlg)DDX_Control(pDX,IDC_EDIT_NAME,m_NAME);hhDDX_Control(pDX,IDC_EDIT_ID,m_ID);DDX_Control(pDX,IDC_EDIT_AGE,m_AGE);DDX_Control(pDX,IDC_LIST,m_ListControl);DDX_Radio(pDX,IDC_RADIO_M,m_Sex);DDX_Text(pDX,IDC_EDIT_AGE,m_age);DDX_Text(pDX,IDC_EDIT_ID,m_id);DDX_Text(pDX,IDC_EDIT_NAME,m_name);DDX_R

14、adio(pDX,IDC_RADIO_GY,m_Kind);/AFX_DATA_MAPBEGIN_MESSAGE_MAP(CMyDlg,CDialog)/AFX_MSG_MAP(CMyDlg)ON_WM_SYSCOMMAND()ON_WM_PAINT()ON_WM_QUERYDRAGICON()hhON_BN_CLICKED(IDC_BUTTON_ADD,OnAdd)ON_BN_CLICKED(IDC_BUTTON_DELETE,OnDelete)ON_BN_CLICKED(IDC_BUTTON_SEARCH,OnSearch)ON_BN_CLICKED(IDC_RADIO_M,OnRadio

15、M)ON_BN_CLICKED(IDC_BUTTON_SORT,OnSort)ON_BN_CLICKED(IDC_RADIO_GY,OnRadioGy)/AFX_MSG_MAPhhEND_MESSAGE_MAP()/CMyDlgmessagehandlersBOOLCMyDlg:OnInitDialog()CDialog:OnInitDialog();/AddAbout.menuitemtosystemmenu./IDM_ABOUTBOXmustbeinthesystemcommandrange.ASSERT(IDM_ABOUTBOX&0 xFFF0)=IDM_ABOUTBOX);ASSERT

16、(IDM_ABOUTBOXAppendMenu(MF_SEPARATOR);hhpSysMenu-AppendMenu(MF_STRING,IDM_ABOUTBOX,strAboutMenu);/Settheiconforthisdialog.Theframeworkdoesthisautomatically/whentheapplicationsmainwindowisnotadialogSetIcon(m_hIcon,TRUE);/SetbigiconSetIcon(m_hIcon,FALSE);/Setsmallicon/TODO:Addextrainitializationherem_

17、ListControl.InsertColumn(0,工号,LVCFMT_LEFT,100);m_ListControl.InsertColumn(1,姓名,LVCFMT_LEFT,80);m_ListControl.InsertColumn(2,性别,LVCFMT_LEFT,40);m_ListControl.InsertColumn(3,年龄,LVCFMT_LEFT,40);m_ListControl.InsertColumn(4,工种,LVCFMT_LEFT,80);returnTRUE;/returnTRUEunlessyousetthefocustoacontrolhhvoidCMy

18、Dlg:OnSysCommand(UINTnID,LPARAMlParam)if(nID&0 xFFF0)=IDM_ABOUTBOX)CAboutDlgdlgAbout;dlgAbout.DoModal();hhelseCDialog:OnSysCommand(nID,lParam);/Ifyouaddaminimizebuttontoyourdialog,youwillneedthecodebelow/todrawtheicon.ForMFCapplicationsusingthedocument/viewmodel,/thisisautomaticallydoneforyoubythefr

19、amework.voidCMyDlg:OnPaint()if(IsIconic()CPaintDCdc(this);/devicecontextforpaintingSendMessage(WM_ICONERASEBKGND,(WPARAM)dc.GetSafeHdc(),0);/CentericoninclientrectanglehhintcxIcon=GetSystemMetrics(SM_CXICON);intcyIcon=GetSystemMetrics(SM_CYICON);CRectrect;GetClientRect(&rect);intx=(rect.Width()-cxIc

20、on+1)/2;inty=(rect.Height()-cyIcon+1)/2;hh/Drawtheicondc.DrawIcon(x,y,m_hIcon);elseCDialog:OnPaint();/Thesystemcallsthistoobtainthecursortodisplaywhiletheuserdrags/theminimizedwindow.HCURSORCMyDlg:OnQueryDragIcon()return(HCURSOR)m_hIcon;voidCMyDlg:OnAdd()hh/TODO:Addyourcontrolnotificationhandlercode

21、hereUpdateData(TRUE);m_ID.GetWindowText(m_id);m_ListControl.InsertItem(0,m_id);m_NAME.GetWindowText(m_name);hhm_ListControl.SetItemText(0,1,m_name);m_AGE.GetWindowText(m_age);m_ListControl.SetItemText(0,3,m_age);UpdateData(TRUE);if(m_Sex=0)m_ListControl.SetItemText(0,2,男);elseif(m_Sex=1)m_ListContro

22、l.SetItemText(0,2,女);UpdateData(TRUE);if(m_Kind=0)m_ListControl.SetItemText(0,4,雇员类);elseif(m_Kind=1)m_ListControl.SetItemText(0,4,教师类);elseif(m_Kind=2)hhm_ListControl.SetItemText(0,4,工人类);UpdateData(TRUE);m_id=;m_name=;m_Sex=-1;m_age=;m_Kind=-1;hhUpdateData(FALSE);voidCMyDlg:OnDelete()/TODO:Addyour

23、controlnotificationhandlercodehereUpdateData(TRUE);inti=0,num=0,idx;while(m_ListControl.GetItemText(i,0)!=)i+;num+;m_ID.GetWindowText(m_id);for(i=0;inum;i+)hhif(m_id=m_ListControl.GetItemText(i,0)m_ListControl.DeleteItem(i);break;hhUpdateData(TRUE);m_id=;UpdateData(FALSE);idx=m_ListControl.GetSelect

24、ionMark();m_ListControl.DeleteItem(idx);UpdateData(TRUE);voidCMyDlg:OnSearch()/TODO:Addyourcontrolnotificationhandlercodehereinti=0,num=0,k=0;CStringstr;while(m_ListControl.GetItemText(i,0)!=)i+;hhnum+;for(i=0;inum;i+)m_ID.GetWindowText(m_id);if(m_ListControl.GetItemText(i,0)=m_id)hhm_ListControl.Se

25、tItemState(i,LVIS_SELECTED,LVIS_SELECTED);str=工号:+m_ListControl.GetItemText(i,0)+n+姓名:+m_ListControl.GetItemText(i,1)+n+m_ListControl.GetItemText(i,2)+n+m_ListControl.GetItemText(i,3)+n+m_ListControl.GetItemText(i,4);MessageBox(str);break;elsek+;if(k=num)MessageBox(该职工不存在!);UpdateData(TRUE);m_id=;h性

26、别年龄工种:hUpdateData(FALSE);voidCMyDlg:OnRadioM()/TODO:AddyourcontrolnotificationhandlercodeherehhvoidCMyDlg:OnSort()/TODO:AddyourcontrolnotificationhandlercodehereCStringStrText1,StrText2;intnum,i,flag,j;intid1,id2;num=0;i=0;while(m_ListControl.GetItemText(i,0)!=)num+;i+;structItemListItem100;for(i=0;

27、i=0;i-)UpdateData(TRUE);m_ListControl.DeleteItem(i);UpdateData(FALSE);for(i=0;inum-1;i+)flag=1;for(j=0;jnum-i-1;j+)StrText1=ListItemj.StrID;id1=_tcstoul(StrText1,NULL,10);StrText2=ListItemj+1.StrID;hhid2=_tcstoul(StrText2,NULL,10);if(id1id2)structItemTempItem;TempItem.StrID=ListItemj.StrID;TempItem.

28、StrName=ListItemj.StrName;TempItem.StrSex=ListItemj.StrSex;hhTempItem.StrAge=ListItemj.StrAge;TempItem.StrKind=ListItemj.StrKind;ListItemj.StrID=ListItemj+1.StrID;ListItemj.StrName=ListItemj+1.StrName;ListItemj.StrSex=ListItemj+1.StrSex;ListItemj.StrAge=ListItemj+1.StrAge;ListItemj.StrKind=ListItemj

29、+1.StrKind;ListItemj+1.StrID=TempItem.StrID;ListItemj+1.StrName=TempItem.StrName;ListItemj+1.StrSex=TempItem.StrSex;ListItemj+1.StrAge=TempItem.StrAge;ListItemj+1.StrKind=TempItem.StrKind;flag=0;hhif(flag=1)Break;for(i=0;inum;i+)m_ListControl.InsertItem(0,ListItemi.StrID);m_ListControl.SetItemText(0

30、,1,ListItemi.StrName);hhm_ListControl.SetItemText(0,2,ListItemi.StrSex);m_ListControl.SetItemText(0,3,ListItemi.StrAge);m_ListControl.SetItemText(0,4,ListItemi.StrKind);voidCMyDlg:OnRadioGy()/TODO:Addyourcontrolnotificationhandlercodehere4程序测试4.1主菜单界面hh这是该程序主界面,如图所示,该程序有添加,删除,查询,排序等功能。可以输入职工的工号,姓名,年

31、龄,性别以及工种等信息。将各种需求分成多个小模块,通过调用实现各种功能,增强了程序的可建设性。该界面通过控件和代码共同连接VC,但并没有连接数据库,该界面输入的所有信息和操作保存在当地文件夹里,并不能保存到数据库中。所以,只能供当次操作使用,不能重复使用。hh4.2添加职工信息如上图所示,该程序为用户提供菜单界面,用户可以对程序的各种功能进行选择,方便用户使用。添加职工信息。该功能实现字符串各类字符的累加统计。完成职工信息的添加,将添加的职工信息贮存在本地文件中,等关闭系统后,职工信息将不再存在。添加的职工信息将显示在左侧界面上。如图所示。4.3完成添加职工信息hh如图所示,则完成了职工信息的

32、添加。可以进行其他的操作。hh4.4排序职工信息上图为排序,该职工信息系统根据职工的工号进行排序,如图所示,职工的工号已经按照从小到大的顺序排列。该操作只需将需要排序的数据输入后,点击一下排序按键即可。4.5查询职工信息显示,该职工不存在,这是因为,图上工号选框为空。所以现实如图所示信息。hh如图所示,在工号选框内输入你想查询的职工工号,单击查询按键,界面上将显示如图所示信息框。输出你想查询的职工信息。简单方便。4.6删除职工信息如图所示,这幅图与上图相比,大家可以看到工号为23的职工信息已将不再界面显示框内了,这是职工信息系统的删除操作,操作很简单,在显示框中点击你想删除的职工的工号,再单击删除按键,该职工信息将不再存在。hh5设计体会及今后的改进意见为了提高我们的实践能力,让我们学以致用,能灵活运用所学的知识进行再创造,学校特安排我们进行为期二周的VisualC+课程设计实习,并安排了指导

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论