c++課程設(shè)計(jì)實(shí)驗(yàn)報(bào)告---職工信息管理系統(tǒng)課程設(shè)計(jì)_第1頁(yè)
已閱讀1頁(yè),還剩26頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、<p><b>  課程設(shè)計(jì)報(bào)告書</b></p><p>  題 目: 職工信息管理系統(tǒng)課程設(shè)計(jì)</p><p>  院部 : 信息科學(xué)與電氣工程學(xué)院 </p><p>  專 業(yè): 計(jì)算機(jī)技術(shù)與科學(xué) </p><p>  班

2、 級(jí) 計(jì)算122 </p><p>  姓 名: </p><p>  學(xué) 號(hào): </p><p>  10月 7 日 至 10 月 18 日 共 2 周</p><p>  指導(dǎo)教師(簽字):

3、 </p><p>  系 主 任(簽字): </p><p>  年 月 日</p><p><b>  課程設(shè)計(jì)任務(wù)書</b></p><p><b>  成 績(jī) 評(píng) 定 表</b></

4、p><p><b>  摘要</b></p><p>  課程設(shè)計(jì)是我們?cè)趯W(xué)習(xí)和掌握所學(xué)知識(shí)的基礎(chǔ)上結(jié)合實(shí)際應(yīng)用而進(jìn)行的一次綜合分析設(shè)計(jì)能力的訓(xùn)練。為了提高我們的實(shí)踐能力、創(chuàng)造力和解決實(shí)際問題的能力,進(jìn)一步認(rèn)識(shí)到實(shí)踐對(duì)于學(xué)習(xí)的重要性,學(xué)校安排我們進(jìn)行了為期兩周的面向?qū)ο笳n程設(shè)計(jì)。</p><p>  職工信息管理系統(tǒng)程序的功能是,根據(jù)職工信息表,建

5、立只含有姓名和年齡的職工信息簡(jiǎn)表;可以通過不同的方式對(duì)建立的信息表中的職工信息進(jìn)行添加、刪除、修改等,并顯示信息;可以實(shí)現(xiàn)按不同類別輸出職工信息等功能。</p><p>  通過這次課程設(shè)計(jì),使我們更加熟悉的掌握了Visual C++語(yǔ)言的運(yùn)用。幫助我們熟悉了更多Visual C++語(yǔ)言的功能,提高了我們的動(dòng)手能力,學(xué)到了許多解決實(shí)際問題的寶貴經(jīng)驗(yàn).同時(shí)也挖掘出了我們潛在的能力,使我們對(duì)自己更有自信,對(duì)編程也更有

6、興趣。我相信,只要努力、勤奮、堅(jiān)持不懈,就沒有什么做不到的事,不能還沒開始就退縮,要勇于拼搏,敢于創(chuàng)新。</p><p><b>  目 錄</b></p><p><b>  1課程設(shè)計(jì)概述5</b></p><p>  1.1開發(fā)環(huán)境概述5</p><p>  2職工信息管理系統(tǒng)軟件總體設(shè)

7、計(jì)5</p><p>  2.1職工信息管理系統(tǒng)軟件總體設(shè)計(jì)思想5</p><p>  2.2總體設(shè)計(jì)流程圖6</p><p>  2.3 需求分析..........................................................6</p><p>  3職工信息管理系統(tǒng)程序源代碼.......

8、........................6</p><p>  4程序測(cè)試................................................23</p><p>  4.1 主菜單界面.......................................................23</p><p>  4.2

9、 添加職工信息界面.................................................24</p><p>  4.3 完成添加職工信息界面.............................................24</p><p>  4.4 排序職工信息界面...................................

10、.............25</p><p>  4.5 查詢職工信息界面.................................................25</p><p>  4.6 刪除職工信息界面.................................................27</p><p>  5設(shè)計(jì)體會(huì)及

11、今后的改進(jìn)意見................................28</p><p>  6參考文獻(xiàn)................................................29</p><p><b>  1 課程設(shè)計(jì)概述</b></p><p><b>  1.1開發(fā)環(huán)境概述</b>

12、</p><p>  Visual C++是微軟公司的重要產(chǎn)品之一, 是一種功能強(qiáng)大行之有效的可視化編程工具。它提供了MFC類庫(kù),使用戶可以方便的開發(fā)自己想實(shí)現(xiàn)的功能。Visual C++6.0的主要特點(diǎn):</p><p> ?。?)自動(dòng)化和宏功能。</p><p> ?。?)可以靈活地定制工具欄和菜單。</p><p> ?。?)可以直接運(yùn)

13、行和調(diào)試程序,還可以使用宏語(yǔ)言來自動(dòng)操作調(diào)試器。</p><p> ?。?)支持Internet連接。</p><p> ?。?)一個(gè)新的便捷的項(xiàng)目系統(tǒng)可以允許一個(gè)工作區(qū)內(nèi)包含多個(gè)不同的項(xiàng)目類型。</p><p> ?。?)在工作區(qū)內(nèi)可以包含多個(gè)并列的工程文件。</p><p> ?。?)可以在對(duì)話框中使用WizardBar將程序同可視化元素

14、聯(lián)系起來。</p><p>  (8)Find in File命令支持兩個(gè)獨(dú)立的輸出窗格,可以保存上一次搜索的結(jié)果。</p><p>  這些新特性可以更好地利用Visual C++開發(fā)工具進(jìn)行Windows應(yīng)用程序開發(fā)。</p><p>  2職工信息管理系統(tǒng)軟件總體設(shè)計(jì)</p><p>  2.1職工信息管理系統(tǒng)軟件總體設(shè)計(jì)思想</

15、p><p>  職工信息系統(tǒng)的功能為實(shí)現(xiàn)輸入數(shù)據(jù)的存儲(chǔ)與讀取,同時(shí)可添加,刪除,查詢,排序工人信息。</p><p>  職工信息系統(tǒng)的功能模塊有:</p><p> ?。?)提供菜單界面,方便用戶對(duì)程序功能進(jìn)行選擇。</p><p> ?。?)接受用戶輸入的一組數(shù)據(jù),例如姓名,年齡,工號(hào),性別,工種等</p><p> 

16、?。?)除了添加數(shù)據(jù)之外,還可以進(jìn)行刪除、查詢、添加、排序等操作。</p><p>  程序分為多個(gè)小模塊,通過調(diào)用實(shí)現(xiàn)各種功能,增強(qiáng)了程序的可建設(shè)性。</p><p><b>  2.2總體設(shè)計(jì)流程</b></p><p><b>  2.3 需求分析</b></p><p>  職工信息系統(tǒng)是一

17、個(gè)工作單位必不可缺少的管理工具,它的管理數(shù)據(jù)對(duì)于公司的決策者和管理者都是至關(guān)重要的,所以職工信息管理系統(tǒng)可以成為為用戶提供充足的信息和快捷的查明迅手段,傳統(tǒng)的人工方式管理信息,這種方式有很多缺點(diǎn):效率低、保密性差。時(shí)間一長(zhǎng),將產(chǎn)生大量的文件和數(shù)據(jù)。這樣,對(duì)于信息的查找、更新和維護(hù)都帶來了不少的困難。當(dāng)今社會(huì),傳統(tǒng)的方式已經(jīng)不能滿足公司的需求。</p><p>  隨著計(jì)算機(jī)技術(shù)的不斷提高,計(jì)算機(jī)作為知識(shí)經(jīng)濟(jì)時(shí)代的

18、產(chǎn)物,它已經(jīng)進(jìn)入人類社會(huì)的各個(gè)行業(yè)和領(lǐng)域,并發(fā)揮著越來越重要的作用。使用計(jì)算機(jī)對(duì)職工信息進(jìn)行管理具有:檢索迅速、查找方便、可靠性高、儲(chǔ)存量大、保密性高、壽命長(zhǎng)、成本低等特點(diǎn)。這些優(yōu)點(diǎn)能夠極大的提高職工管理的效率,這也是公司的科學(xué)化、正規(guī)化管理和與世界接軌的重要條件。</p><p>  計(jì)算機(jī)職工信息管理系統(tǒng)能提供以下功能</p><p> ?、?添加職工信息并保存</p>

19、<p><b> ?、?查詢職工信息</b></p><p>  ③ 瀏覽所有職工信息</p><p><b> ?、?刪除職工信息</b></p><p>  ⑤將所有職工信息按照工號(hào)排序</p><p>  3 職工信息管理系統(tǒng)程序源代碼</p><p>  /

20、/ 職工信息系統(tǒng)升級(jí)版Dlg.cpp : implementation file</p><p>  //#include "stdafx.h"</p><p>  #include "職工信息系統(tǒng)升級(jí)版.h"</p><p>  #include "職工信息系統(tǒng)升級(jí)版Dlg.h"</p>&

21、lt;p>  #include<fstream.h></p><p>  #include<malloc.h></p><p>  #ifdef _DEBUG#define new DEBUG_NEW#undef THIS_FILE</p><p>  static char THIS_FILE[] = __FILE__;#endif&

22、lt;/p><p>  /////////////////////////////////////////////////////////////////////////////</p><p>  // CAboutDlg dialog used for App About</p><p>  class CAboutDlg : public CDialog</

23、p><p><b>  {</b></p><p><b>  public:</b></p><p>  CAboutDlg();</p><p>  // Dialog Data</p><p>  //{{AFX_DATA(CAboutDlg)</p><

24、;p>  enum { IDD = IDD_ABOUTBOX };</p><p>  //}}AFX_DATA</p><p>  // ClassWizard generated virtual function overrides</p><p>  //{{AFX_VIRTUAL(CAboutDlg)</p><p>  pro

25、tected:</p><p>  virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support</p><p>  //}}AFX_VIRTUAL</p><p>  // Implementation</p><p>  protected:</p>

26、;<p>  //{{AFX_MSG(CAboutDlg)</p><p>  //}}AFX_MSG</p><p>  DECLARE_MESSAGE_MAP()</p><p><b>  };</b></p><p>  CAboutDlg::CAboutDlg() : CDialog(CAbout

27、Dlg::IDD)</p><p><b>  {</b></p><p>  //{{AFX_DATA_INIT(CAboutDlg)</p><p>  //}}AFX_DATA_INIT</p><p><b>  }</b></p><p>  void CAbout

28、Dlg::DoDataExchange(CDataExchange* pDX)</p><p><b>  {</b></p><p>  CDialog::DoDataExchange(pDX);</p><p>  //{{AFX_DATA_MAP(CAboutDlg)</p><p>  //}}AFX_DATA_

29、MAP</p><p><b>  }</b></p><p>  BEGIN_MESSAGE_MAP(CAboutDlg, CDialog)</p><p>  //{{AFX_MSG_MAP(CAboutDlg)</p><p>  // No message handlers</p><p>

30、;  //}}AFX_MSG_MAP</p><p>  END_MESSAGE_MAP()</p><p>  /////////////////////////////////////////////////////////////////////////////</p><p>  // CMyDlg dialog</p><p>  

31、CMyDlg::CMyDlg(CWnd* pParent /*=NULL*/)</p><p>  : CDialog(CMyDlg::IDD, pParent)</p><p><b>  {</b></p><p>  //{{AFX_DATA_INIT(CMyDlg)</p><p>  m_Sex = -1;&l

32、t;/p><p>  m_age = _T("");</p><p>  m_id = _T("");</p><p>  m_name = _T("");</p><p>  m_Show = _T("");</p><p>  m_Kind

33、 = -1;</p><p>  //}}AFX_DATA_INIT</p><p>  // Note that LoadIcon does not require a subsequent DestroyIcon in Win32</p><p>  m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);</p

34、><p><b>  }</b></p><p>  void CMyDlg::DoDataExchange(CDataExchange* pDX)</p><p><b>  {</b></p><p>  CDialog::DoDataExchange(pDX);</p><p&

35、gt;  //{{AFX_DATA_MAP(CMyDlg)</p><p>  DDX_Control(pDX, IDC_EDIT_NAME, m_NAME);</p><p>  DDX_Control(pDX, IDC_EDIT_ID, m_ID);</p><p>  DDX_Control(pDX, IDC_EDIT_AGE, m_AGE);</p&g

36、t;<p>  DDX_Control(pDX, IDC_LIST, m_ListControl);</p><p>  DDX_Radio(pDX, IDC_RADIO_M, m_Sex);</p><p>  DDX_Text(pDX, IDC_EDIT_AGE, m_age);</p><p>  DDX_Text(pDX, IDC_EDIT_I

37、D, m_id);</p><p>  DDX_Text(pDX, IDC_EDIT_NAME, m_name);</p><p>  DDX_Radio(pDX, IDC_RADIO_GY, m_Kind);</p><p>  //}}AFX_DATA_MAP</p><p><b>  }</b></p>

38、;<p>  BEGIN_MESSAGE_MAP(CMyDlg, CDialog)</p><p>  //{{AFX_MSG_MAP(CMyDlg)</p><p>  ON_WM_SYSCOMMAND()</p><p>  ON_WM_PAINT()</p><p>  ON_WM_QUERYDRAGICON()</

39、p><p>  ON_BN_CLICKED(IDC_BUTTON_ADD, OnAdd)</p><p>  ON_BN_CLICKED(IDC_BUTTON_DELETE, OnDelete)</p><p>  ON_BN_CLICKED(IDC_BUTTON_SEARCH, OnSearch)</p><p>  ON_BN_CLICKED

40、(IDC_RADIO_M, OnRadioM)</p><p>  ON_BN_CLICKED(IDC_BUTTON_SORT, OnSort)</p><p>  ON_BN_CLICKED(IDC_RADIO_GY, OnRadioGy)</p><p>  //}}AFX_MSG_MAP</p><p>  END_MESSAGE_MA

41、P()</p><p>  /////////////////////////////////////////////////////////////////////////////</p><p>  // CMyDlg message handlers</p><p>  BOOL CMyDlg::OnInitDialog()</p><p&

42、gt;<b>  {</b></p><p>  CDialog::OnInitDialog();</p><p>  // Add "About..." menu item to system menu.</p><p>  // IDM_ABOUTBOX must be in the system command ran

43、ge.</p><p>  ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);</p><p>  ASSERT(IDM_ABOUTBOX < 0xF000);</p><p>  CMenu* pSysMenu = GetSystemMenu(FALSE);</p><p>  i

44、f (pSysMenu != NULL)</p><p><b>  {</b></p><p>  CString strAboutMenu;</p><p>  strAboutMenu.LoadString(IDS_ABOUTBOX);</p><p>  if (!strAboutMenu.IsEmpty())&

45、lt;/p><p><b>  {</b></p><p>  pSysMenu->AppendMenu(MF_SEPARATOR);</p><p>  pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);</p><p><b> 

46、 }</b></p><p><b>  }</b></p><p>  // Set the icon for this dialog. The framework does this automatically</p><p>  // when the application's main window is no

47、t a dialog</p><p>  SetIcon(m_hIcon, TRUE);// Set big icon</p><p>  SetIcon(m_hIcon, FALSE);// Set small icon</p><p>  // TODO: Add extra initialization here</p><p&g

48、t;  m_ListControl.InsertColumn(0,"工號(hào)",LVCFMT_LEFT,100);</p><p>  m_ListControl.InsertColumn(1,"姓名",LVCFMT_LEFT,80);</p><p>  m_ListControl.InsertColumn(2,"性別",LVCFM

49、T_LEFT,40);</p><p>  m_ListControl.InsertColumn(3,"年齡",LVCFMT_LEFT,40);</p><p>  m_ListControl.InsertColumn(4,"工種",LVCFMT_LEFT,80);</p><p>  return TRUE; // ret

50、urn TRUE unless you set the focus to a control</p><p><b>  }</b></p><p>  void CMyDlg::OnSysCommand(UINT nID, LPARAM lParam)</p><p><b>  {</b></p>&l

51、t;p>  if ((nID & 0xFFF0) == IDM_ABOUTBOX)</p><p><b>  {</b></p><p>  CAboutDlg dlgAbout;</p><p>  dlgAbout.DoModal();</p><p><b>  }</b>&l

52、t;/p><p><b>  else</b></p><p><b>  {</b></p><p>  CDialog::OnSysCommand(nID, lParam);</p><p><b>  }</b></p><p><b>  

53、}</b></p><p>  // If you add a minimize button to your dialog, you will need the code below</p><p>  // to draw the icon. For MFC applications using the document/view model,</p>&

54、lt;p>  // this is automatically done for you by the framework.</p><p>  void CMyDlg::OnPaint() </p><p><b>  {</b></p><p>  if (IsIconic())</p><p><b&

55、gt;  {</b></p><p>  CPaintDC dc(this); // device context for painting</p><p>  SendMessage(WM_ICONERASEBKGND, (WPARAM) dc.GetSafeHdc(), 0);</p><p>  // Center icon in client r

56、ectangle</p><p>  int cxIcon = GetSystemMetrics(SM_CXICON);</p><p>  int cyIcon = GetSystemMetrics(SM_CYICON);</p><p>  CRect rect;</p><p>  GetClientRect(&rect);&l

57、t;/p><p>  int x = (rect.Width() - cxIcon + 1) / 2;</p><p>  int y = (rect.Height() - cyIcon + 1) / 2;</p><p>  // Draw the icon</p><p>  dc.DrawIcon(x, y, m_hIcon);</p

58、><p><b>  }</b></p><p><b>  else</b></p><p><b>  {</b></p><p>  CDialog::OnPaint();</p><p><b>  }</b></p>

59、;<p><b>  }</b></p><p>  // The system calls this to obtain the cursor to display while the user drags</p><p>  // the minimized window.</p><p>  HCURSOR CMyDlg:

60、:OnQueryDragIcon()</p><p><b>  {</b></p><p>  return (HCURSOR) m_hIcon;</p><p><b>  }</b></p><p>  void CMyDlg::OnAdd() </p><p><

61、;b>  {</b></p><p>  // TODO: Add your control notification handler code here</p><p>  UpdateData(TRUE);</p><p>  m_ID.GetWindowText(m_id);</p><p>  m_ListContr

62、ol.InsertItem(0,m_id);</p><p>  m_NAME.GetWindowText(m_name);</p><p>  m_ListControl.SetItemText(0,1,m_name);</p><p>  m_AGE.GetWindowText(m_age);</p><p>  m_ListContro

63、l.SetItemText(0,3,m_age);</p><p>  UpdateData(TRUE);</p><p>  if(m_Sex==0)</p><p>  m_ListControl.SetItemText(0,2,"男");</p><p>  else if(m_Sex==1)</p>

64、<p>  m_ListControl.SetItemText(0,2,"女");</p><p>  UpdateData(TRUE);</p><p>  if(m_Kind==0)</p><p>  m_ListControl.SetItemText(0,4,"雇員類");</p><p&

65、gt;  else if(m_Kind==1)</p><p>  m_ListControl.SetItemText(0,4,"教師類");</p><p>  else if(m_Kind==2)</p><p>  m_ListControl.SetItemText(0,4,"工人類");</p><

66、p>  UpdateData(TRUE);</p><p><b>  m_id="";</b></p><p>  m_name="";</p><p><b>  m_Sex=-1;</b></p><p><b>  m_age=&quo

67、t;";</b></p><p>  m_Kind=-1;</p><p>  UpdateData(FALSE);</p><p><b>  }</b></p><p>  void CMyDlg::OnDelete() </p><p><b>  {<

68、/b></p><p>  // TODO: Add your control notification handler code here</p><p>  UpdateData(TRUE);</p><p>  int i=0,num=0,idx;</p><p>  while(m_ListControl.GetItemText

69、(i,0)!="")</p><p><b>  {</b></p><p><b>  i++;</b></p><p><b>  num++;</b></p><p><b>  }</b></p><p>

70、;  m_ID.GetWindowText(m_id);</p><p>  for(i=0;i<num;i++)</p><p><b>  {</b></p><p>  if(m_id==m_ListControl.GetItemText(i,0))</p><p><b>  {</b>

71、;</p><p>  m_ListControl.DeleteItem(i);</p><p><b>  break; </b></p><p><b>  }</b></p><p><b>  }</b></p><p>  UpdateDa

72、ta(TRUE);</p><p><b>  m_id="";</b></p><p>  UpdateData(FALSE);</p><p>  idx=m_ListControl.GetSelectionMark();</p><p>  m_ListControl.DeleteItem(id

73、x);</p><p>  UpdateData(TRUE);</p><p><b>  }</b></p><p>  void CMyDlg::OnSearch() </p><p><b>  {</b></p><p>  // TODO: Add your con

74、trol notification handler code here</p><p>  int i=0,num=0,k=0;</p><p>  CString str;</p><p>  while(m_ListControl.GetItemText(i,0)!="")</p><p><b>  {&l

75、t;/b></p><p><b>  i++;</b></p><p><b>  num++;</b></p><p><b>  }</b></p><p>  for(i=0;i<num;i++)</p><p><b> 

76、 {</b></p><p>  m_ID.GetWindowText(m_id);</p><p>  if(m_ListControl.GetItemText(i,0)==m_id)</p><p><b>  {</b></p><p>  m_ListControl.SetItemState(i,LV

77、IS_SELECTED, LVIS_SELECTED);</p><p>  str="工號(hào):"+m_ListControl.GetItemText(i,0)+"\n"+"姓名:"+m_ListControl.GetItemText(i,1)+"\n"+"性別:"+m_ListControl.GetItemText

78、(i,2)+"\n"+"年齡:"+m_ListControl.GetItemText(i,3)+"\n"+"工種:"+m_ListControl.GetItemText(i,4);</p><p>  MessageBox(str);</p><p><b>  break;</b><

79、;/p><p><b>  }</b></p><p><b>  else k++;</b></p><p><b>  }</b></p><p>  if(k==num)</p><p>  MessageBox("該職工不存在!"

80、);</p><p>  UpdateData(TRUE);</p><p><b>  m_id="";</b></p><p>  UpdateData(FALSE);</p><p><b>  }</b></p><p>  void CMyDlg

81、::OnRadioM() </p><p><b>  {</b></p><p>  // TODO: Add your control notification handler code here</p><p><b>  }</b></p><p>  void CMyDlg::OnSort

82、() </p><p><b>  {</b></p><p>  // TODO: Add your control notification handler code here</p><p>  CString StrText1,StrText2;</p><p>  int num,i,flag,j;</p

83、><p>  int id1,id2;</p><p><b>  num=0;</b></p><p><b>  i=0;</b></p><p>  while(m_ListControl.GetItemText(i,0)!="")</p><p>&l

84、t;b>  {</b></p><p><b>  num++;</b></p><p><b>  i++;</b></p><p><b>  }</b></p><p>  struct Item ListItem[100];</p>&l

85、t;p>  for(i=0;i<num;i++)</p><p><b>  {</b></p><p>  ListItem[i].StrID=m_ListControl.GetItemText(i,0);</p><p>  ListItem[i].StrName=m_ListControl.GetItemText(i,1);&

86、lt;/p><p>  ListItem[i].StrSex=m_ListControl.GetItemText(i,2);</p><p>  ListItem[i].StrAge=m_ListControl.GetItemText(i,3);</p><p>  ListItem[i].StrKind=m_ListControl.GetItemText(i,4);&

87、lt;/p><p><b>  }</b></p><p>  for(i=num-1;i>=0;i--)</p><p><b>  {</b></p><p>  UpdateData(TRUE);</p><p>  m_ListControl.DeleteItem(

88、i);</p><p>  UpdateData(FALSE);</p><p><b>  }</b></p><p>  for(i=0;i<num-1;i++)</p><p><b>  {</b></p><p><b>  flag=1;</

89、b></p><p>  for(j=0;j<num-i-1;j++)</p><p><b>  {</b></p><p>  StrText1=ListItem[j].StrID;</p><p>  id1=_tcstoul(StrText1,NULL,10);</p><p>

90、;  StrText2=ListItem[j+1].StrID;</p><p>  id2=_tcstoul(StrText2,NULL,10);</p><p>  if(id1<id2)</p><p><b>  {</b></p><p>  struct Item TempItem;</p>

91、<p>  TempItem.StrID=ListItem[j].StrID;</p><p>  TempItem.StrName=ListItem[j].StrName;</p><p>  TempItem.StrSex=ListItem[j].StrSex;</p><p>  TempItem.StrAge=ListItem[j].StrAg

92、e;</p><p>  TempItem.StrKind=ListItem[j].StrKind;</p><p>  ListItem[j].StrID=ListItem[j+1].StrID;</p><p>  ListItem[j].StrName=ListItem[j+1].StrName;</p><p>  ListItem[

93、j].StrSex=ListItem[j+1].StrSex;</p><p>  ListItem[j].StrAge=ListItem[j+1].StrAge;</p><p>  ListItem[j].StrKind=ListItem[j+1].StrKind;</p><p>  ListItem[j+1].StrID=TempItem.StrID;<

94、;/p><p>  ListItem[j+1].StrName=TempItem.StrName;</p><p>  ListItem[j+1].StrSex=TempItem.StrSex;</p><p>  ListItem[j+1].StrAge=TempItem.StrAge;</p><p>  ListItem[j+1].StrK

95、ind=TempItem.StrKind;</p><p><b>  flag=0;</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  if(flag==1)</p><p><b>

96、  Break;</b></p><p><b>  }</b></p><p>  for(i=0;i<num;i++)</p><p><b>  {</b></p><p>  m_ListControl.InsertItem(0,ListItem[i].StrID);<

97、;/p><p>  m_ListControl.SetItemText(0,1,ListItem[i].StrName);</p><p>  m_ListControl.SetItemText(0,2,ListItem[i].StrSex);</p><p>  m_ListControl.SetItemText(0,3,ListItem[i].StrAge);<

98、;/p><p>  m_ListControl.SetItemText(0,4,ListItem[i].StrKind);</p><p><b>  }</b></p><p><b>  }</b></p><p>  void CMyDlg::OnRadioGy() </p><

99、;p><b>  {</b></p><p>  // TODO: Add your control notification handler code here</p><p><b> ?。?lt;/b></p><p><b>  4程序測(cè)試</b></p><p>&l

100、t;b>  4.1主菜單界面</b></p><p>  這是該程序主界面,如圖所示,該程序有添加,刪除,查詢,排序等功能??梢暂斎肼毠さ墓ぬ?hào),姓名,年齡,性別以及工種等信息。將各種需求分成多個(gè)小模塊,通過調(diào)用實(shí)現(xiàn)各種功能,增強(qiáng)了程序的可建設(shè)性。該界面通過控件和代碼共同連接VC,但并沒有連接數(shù)據(jù)庫(kù),該界面輸入的所有信息和操作保存在當(dāng)?shù)匚募A里,并不能保存到數(shù)據(jù)庫(kù)中。所以,只能供當(dāng)次操作使用,不能

101、重復(fù)使用。</p><p><b>  4.2添加職工信息</b></p><p>  如上圖所示,該程序?yàn)橛脩籼峁┎藛谓缑?,用戶可以?duì)程序的各種功能進(jìn)行選擇,方便用戶使用。添加職工信息。該功能實(shí)現(xiàn)字符串各類字符的累加統(tǒng)計(jì)。完成職工信息的添加,將添加的職工信息貯存在本地文件中,等關(guān)閉系統(tǒng)后,職工信息將不再存在。添加的職工信息將顯示在左側(cè)界面上。如圖所示。</p&

102、gt;<p>  4.3 完成添加職工信息</p><p>  如圖所示,則完成了職工信息的添加??梢赃M(jìn)行其他的操作。</p><p>  4.4 排序職工信息</p><p>  上圖為排序,該職工信息系統(tǒng)根據(jù)職工的工號(hào)進(jìn)行排序,如圖所示,職工的工號(hào)已經(jīng)按照從小到大的順序排列。該操作只需將需要排序的數(shù)據(jù)輸入后,點(diǎn)擊一下排序按鍵即可。</p>

103、;<p><b>  4.5查詢職工信息</b></p><p>  顯示,該職工不存在,這是因?yàn)?,圖上工號(hào)選框?yàn)榭?。所以現(xiàn)實(shí)如圖所示信息。</p><p>  如圖所示,在工號(hào)選框內(nèi)輸入你想查詢的職工工號(hào),單擊查詢按鍵,界面上將顯示如圖所示信息框。輸出你想查詢的職工信息。簡(jiǎn)單方便。</p><p><b>  4.6刪

104、除職工信息</b></p><p>  如圖所示,這幅圖與上圖相比,大家可以看到工號(hào)為23的職工信息已將不再界面顯示框內(nèi)了,這是職工信息系統(tǒng)的刪除操作,操作很簡(jiǎn)單,在顯示框中點(diǎn)擊你想刪除的職工的工號(hào),再單擊刪除按鍵,該職工信息將不再存在。</p><p>  5 設(shè)計(jì)體會(huì)及今后的改進(jìn)意見</p><p>  為了提高我們的實(shí)踐能力,讓我們學(xué)以致用,能靈活

105、運(yùn)用所學(xué)的知識(shí)進(jìn)行再創(chuàng)造,學(xué)校特安排我們進(jìn)行為期二周的Visual C++課程設(shè)計(jì)實(shí)習(xí),并安排了指導(dǎo)老師幫助輔導(dǎo),讓我們?cè)谝?guī)范化、嚴(yán)謹(jǐn)化、實(shí)用化上面有了很大進(jìn)展。</p><p>  在此次職工信息管理系統(tǒng)程序開發(fā)過程中,有很多東西值得我們思考并總結(jié)。</p><p>  開發(fā)過程大體可分為以下幾個(gè)步驟:</p><p> ?。?)思考總體設(shè)計(jì)方案:總體結(jié)構(gòu)和模塊外

106、部設(shè)計(jì),功能分配。思考要實(shí)現(xiàn)整個(gè)程序大體需要的幾個(gè)模塊和其中用到的Visual C++語(yǔ)言基本操作符、語(yǔ)句等。</p><p> ?。?)畫出總體設(shè)計(jì)方案流程圖:用流程圖的形式展現(xiàn)你的基本編程思想。</p><p> ?。?)流程圖具體化:即將流程圖中的幾大模塊的具體實(shí)現(xiàn)思考清楚,可以用流程圖的形式展現(xiàn).并想好實(shí)現(xiàn)的關(guān)鍵代碼。</p><p> ?。?)編輯程序代碼

107、:這是一個(gè)至關(guān)重要復(fù)雜而且需要反復(fù)修改的環(huán)節(jié),在此環(huán)節(jié)中你將發(fā)現(xiàn)總體設(shè)計(jì)和模塊思想會(huì)存在很多問題,需不斷改進(jìn).如何實(shí)現(xiàn)各函數(shù)功能,達(dá)到預(yù)期效果也將是一項(xiàng)繁復(fù)的工作。</p><p> ?。?)代碼的調(diào)試:在Visual C++6.0環(huán)境下輸入代碼并進(jìn)行調(diào)試和正確運(yùn)行。在調(diào)試過程中會(huì)遇到很多需要精化的地方,需要十足的耐心與細(xì)心,不斷改進(jìn)完善程序。</p><p>  (6)最后修飾:程序可以

108、正確運(yùn)行之后,再不影響程序功能的情況下,運(yùn)用各種輔助性符號(hào),使界面更加美觀漂亮,操作更人性化.增強(qiáng)程序的新意與可行性?!?lt;/p><p>  通過此次任務(wù)式的程序設(shè)計(jì),不僅鞏固了我們?cè)谡n堂所學(xué)的知識(shí)。更重要的是學(xué)會(huì)了合作與交流。一個(gè)較大型的軟件必須是有一個(gè)團(tuán)隊(duì)來完成的,這種分工與合作的精神對(duì)我們將來的工作是很有幫助的。</p><p>  感覺課堂上的知識(shí)應(yīng)用到實(shí)際中還是很欠缺的,因此大學(xué)

109、里的學(xué)習(xí)課外自主學(xué)習(xí)是很重要的。獲取資料以完成任務(wù)的任務(wù)型學(xué)習(xí)是很有必要的。</p><p>  感覺自己在面向?qū)ο蟮姆矫孢€很欠缺,特別是虛函數(shù)。可能跟老師講的進(jìn)度有關(guān),還有就是C++身較難學(xué)。我相信自己努力了就會(huì)有回報(bào)的。凡是認(rèn)真去學(xué),都可以做好的,需要自己戒驕戒躁。真正靜下心來。在IT的世界里,需要不斷學(xué)習(xí),不斷進(jìn)取。</p><p><b>  參考文獻(xiàn)</b>

110、</p><p>  [1] 馬安鵬.Visual C++程序設(shè)計(jì)導(dǎo)學(xué)。北京:清華大學(xué)出版社,2002</p><p>  [2] 電子書籍. Visual C++技術(shù)內(nèi)幕(第四版).網(wǎng)址:http://www.5xsoft.com</p><p>  [3] Beck Zaratian.Microsoft Visual Visual C++ 6.0程序員指南.希望

111、圖書創(chuàng)作室譯.北京:北京希望電腦公司出品,1998</p><p>  [4]Richard C.Leinecker,Tom Archer. Visual C++ 6 寶典.張艷,張謙譯.北京:電子工業(yè)出版社,1999</p><p>  [5] 李強(qiáng),賈云霞. Visual C++項(xiàng)目開發(fā)實(shí)踐.北京:中國(guó)鐵道出版社,2004</p><p>  [6] 鄭莉,董淵

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論