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

提交評論