2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩34頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、<p>  VC++ 課程設計報告</p><p><b>  公司人事管理系統(tǒng)</b></p><p>  學生姓名: </p><p>  學 號: </p><p>  年級專業(yè):2007級信息與計算科學</p>

2、<p>  班 級: 信息一班 </p><p>  指導老師: </p><p>  學 院:數(shù)學與計算科學學院 </p><p><b>  目 錄</b></p><p><b>  1 前言3</b>&l

3、t;/p><p><b>  2 需求分析4</b></p><p><b>  3 概要設計4</b></p><p>  3.1系統(tǒng)功能模塊設計4</p><p><b>  3.2 流程圖5</b></p><p>  3.3程序運行平臺6&

4、lt;/p><p><b>  4詳細設計6</b></p><p>  4.1公司人員信息類的設計6</p><p>  4.2 數(shù)據(jù)的存儲9</p><p>  4.3模塊詳細分析9</p><p>  4.4 整體界面的實現(xiàn)10</p><p>  4.5 系

5、統(tǒng)登錄的實現(xiàn)12</p><p>  4.6 添加.查詢.刪除和修改記錄的實現(xiàn)18</p><p>  4.7(特色)用戶注冊的實現(xiàn)27</p><p><b>  5 測試分析32</b></p><p><b>  6 心得體會32</b></p><p>&l

6、t;b>  參考文獻33</b></p><p>  致 謝33</p><p>  公司人員信息管理系統(tǒng)</p><p><b>  金釗</b></p><p>  (湖南科技大學 中國 湘潭 0707020133)</p><p><b>  摘

7、 要</b></p><p>  本次課程設計任務是通過編寫一個公司人員信息管理系統(tǒng),學習用Visual C++ 6.0開發(fā)簡單的管理系統(tǒng)。采用Visual C++ 6.0軟件為主要開發(fā)工具。</p><p>  本系統(tǒng)主要完成對公司員工情況和公司信息的管理,包括人員信息的添加、修改、刪除等。系統(tǒng)還可以完成對各類信息的瀏覽、查詢、添加、刪除、修改、等功能。</p>

8、<p>  由于我們還沒有學習數(shù)據(jù)庫,所以在有關大量人員信息存儲時,次系統(tǒng)顯得心有余而力不足。 系統(tǒng)的核心是引用I/O流和文本處理來存儲和修改公司人員的信息聯(lián)系,每一個動作都可能影響到其它的功能,還有數(shù)據(jù)的改變,當完成對數(shù)據(jù)的操作時系統(tǒng)會自動地完成數(shù)據(jù)庫的修改。</p><p>  關鍵字:VC++6.0;公司人員信息管理系統(tǒng);模塊化設計;i/O流;</p><p>&

9、lt;b>  1 前言</b></p><p>  使用計算機管理人員信息,不但可以大量節(jié)省時間、人力、財力、物力,而且能更全面有效地掌握公司的基本情況,及時獲取最新而又準確的資料和信息。此課程設計就是這樣一個管理公司人員信息的系統(tǒng),其功能與實現(xiàn)方面有比較好的的針對性和實用性。軟件是在Visual c++平臺上開發(fā)的,采用i/o流文本存儲數(shù)據(jù)和信息,作為虛擬的數(shù)據(jù)庫。利用i/o流文本操作語言,能

10、比較方便地實現(xiàn)對人員信息的操作與管理。</p><p>  系統(tǒng)登陸功能是系統(tǒng)的核心之一,在系統(tǒng)中有用戶注冊,用戶注銷,用戶退出,其目的都是為了方便用戶使用。系統(tǒng)有完整的用戶對比功能,檢查是否用戶名已被注冊。</p><p><b>  2 需求分析</b></p><p>  Visual C++6.0的MFC提供了大量的類庫函數(shù)強大支持。開

11、發(fā)一個人員信息管理系統(tǒng),可以實現(xiàn)人員信息的管理。并提供新信息輸入,現(xiàn)有公司人員信息查詢功能,對記錄的刪除修改等工作。</p><p>  公司人員管理系統(tǒng)是典型的信息管理系統(tǒng)(MIS),其開發(fā)主要包括后臺數(shù)據(jù)信息的建立和保存以及前端應用程序的開發(fā)兩個方面。對于前者要求建立起數(shù)據(jù)一致性和完整性強、數(shù)據(jù)安全性好的庫。而對于后者則要求應用程序功能完備,易使用等特點。</p><p><b&

12、gt;  3 概要設計</b></p><p>  公司人員管理系統(tǒng)的概要設計分成兩部分,首先是簡要介紹系統(tǒng)功能模塊設計,其次是簡要介紹流程圖。</p><p>  3.1系統(tǒng)功能模塊設計</p><p>  系統(tǒng)功能劃分為九個模塊,其流程圖如圖3-1。各模塊功能簡要介紹如下:</p><p>  圖3-1 系統(tǒng)功能模塊流程圖&

13、lt;/p><p><b>  1、用戶注冊:</b></p><p>  添加一個系統(tǒng)賬戶,當輸入的用戶名未被注冊且密碼兩次輸入相同則注冊成功。</p><p><b>  2、系統(tǒng)注銷:</b></p><p>  可以注銷當前用戶,登陸另一個賬戶。</p><p><

14、b>  3、系統(tǒng)退出:</b></p><p>  退出公司人員管理信息系統(tǒng)。</p><p><b>  4、信息輸入:</b></p><p>  輸入公司職員的基本信息。</p><p><b>  5、信息輸出:</b></p><p>  輸出公司

15、所有職員的信息。</p><p><b>  6、信息查詢:</b></p><p>  查詢制定人員的信息。</p><p><b>  7、信息修改:</b></p><p>  修改指定人員的信息。</p><p><b>  8、信息刪除:</b>

16、;</p><p>  刪除指定人員的信息。</p><p><b>  9、信息清空:</b></p><p>  清空所有人員的信息。</p><p><b>  3.2 流程圖</b></p><p>  系統(tǒng)操作流程圖如圖3-2。</p><p&g

17、t;  圖3-2 功能流程圖</p><p><b>  程序運行平臺</b></p><p>  開發(fā)工具: Visual C++</p><p>  運行環(huán)境:Windows 9x、Windows NT/2000、Windows XP</p><p><b>  詳細設計</b></p

18、><p>  公司人員管理系統(tǒng)的詳細設計分成七部分,分別是公司人員信息類的設計、數(shù)據(jù)的存儲、模塊詳細分析、整體界面的實現(xiàn)、系統(tǒng)登錄的實現(xiàn)、添加.查詢.刪除和修改記錄的實現(xiàn)以及(特色)用戶注冊的實現(xiàn)。下面分別加以介紹,其中某些部分會將具體代碼列出。</p><p>  4.1.公司人員信息類的設計</p><p>  公司人員管理系統(tǒng)主要的人員信息主要分為技術員、銷售員、

19、經理以及銷售經理等四類人員,為此設計了五個人員信息類分別是employee(作為基類)、technician、salesman、manager以及salesmanager,后四個類都公有地繼承了employee。下面是上述類的設計,即各類的聲明,放在了employee.h文件中,而其中所有成員函數(shù)的設計見附件。</p><p>  //employee.h</p><p>  class

20、employee</p><p><b>  {</b></p><p>  protected:</p><p>  char name[20];//姓名</p><p>  int individualEmpNo;//個人編號</p><p>  int grade;//級別</p

21、><p>  float accumPay;//月薪總額</p><p>  static int employeeNo;//本公司職員編號目前最大值</p><p><b>  public:</b></p><p>  employee();//構造函數(shù)</p><p>  ~employe

22、e();//析構函數(shù)</p><p>  virtual void pay()=0;//計算月薪函數(shù)(純虛函數(shù))</p><p>  virtual void promote(int increment=0);//升級函數(shù)(虛函數(shù))</p><p>  void SetName(char *); //設置姓名函數(shù)</p><p> 

23、 char * GetName(); //提取姓名函數(shù)</p><p>  int GetindividualEmpNo(); //提取編號函數(shù)</p><p>  int Getgrade(); //提取級別函數(shù)</p><p>  float GetaccumPay(); //提取月薪函數(shù)</p><p><b>

24、  };</b></p><p>  class technician:public employee//兼職技術人員類</p><p><b>  {</b></p><p><b>  private:</b></p><p>  float hourlyRate;//每小時酬金

25、</p><p>  int workHours;//當月工作時數(shù)</p><p><b>  public:</b></p><p>  technician();//構造函數(shù)</p><p>  void SetworkHours(int wh); //設置工作時數(shù)函數(shù)</p><p>

26、;  void pay();//計算月薪函數(shù)</p><p>  void promote(int);//升級函數(shù)</p><p><b>  };</b></p><p>  class salesman:virtual public employee//兼職推銷員類</p><p><b>  {&l

27、t;/b></p><p>  protected:</p><p>  float CommRate;//按銷售額提取酬金的百分比</p><p>  float sales;//當月銷售額</p><p><b>  public:</b></p><p>  salesman();

28、//構造函數(shù)</p><p>  void Setsales(float sl); //設置銷售額函數(shù)</p><p>  void pay();//計算月薪函數(shù)</p><p>  void promote(int);//升級函數(shù)</p><p><b>  };</b></p><p>

29、;  class manager:virtual public employee//經理類</p><p><b>  {</b></p><p>  protected:</p><p>  float monthlyPay;//固定月薪數(shù)</p><p><b>  public:</b>&

30、lt;/p><p>  manager();//構造函數(shù)</p><p>  void pay();//計算月薪函數(shù)</p><p>  void promote(int);//升級函數(shù)</p><p><b>  };</b></p><p>  class salesmanager:publ

31、ic manager,public salesman //銷售經理類</p><p><b>  {</b></p><p><b>  public:</b></p><p>  salesmanager();//構造函數(shù)</p><p>  void pay();//計算月薪函數(shù)<

32、/p><p>  void promote(int);//升級函數(shù)</p><p><b>  };</b></p><p><b>  4.2.數(shù)據(jù)的存儲</b></p><p>  根據(jù)上面所介紹的本系統(tǒng)的各個模塊及其需要實現(xiàn)的功能,由于還沒有學習數(shù)據(jù)庫,所以我們只能應用i/o流文本操作來存儲信息

33、:</p><p><b>  1.密碼表 </b></p><p>  用于保存用戶賬戶的基本信息,系統(tǒng)通過該表對賬戶的用戶名和密碼的基本信息進行查詢,并比較用戶名和密碼是否正確。</p><p><b>  2.公司人員信息表</b></p><p>  用于保存公司職員的基本信息。</p

34、><p>  4.3.模塊詳細分析</p><p>  1. 系統(tǒng)登錄注冊和注銷</p><p>  系統(tǒng)開始運行就出現(xiàn)系統(tǒng)登錄對話框,密碼正確后才能進入主界面(默認用戶名:金釗,密碼為123),用戶還可以注銷,注冊和退出功能。</p><p>  自己認為有特色的是注冊功能,由于沒有數(shù)據(jù)庫做后臺,只好多次重復i/o流操作,調用文本框。用來完成用

35、戶名的查找、對比,和用戶的添加。</p><p><b>  2. 顯示模塊</b></p><p>  顯示模塊將輸出所有職員的主要資料 。</p><p><b>  3. 修改模塊</b></p><p>  首先由用戶輸入要修改的職員的姓名,然后系統(tǒng)用修改函數(shù)查找,顯示該名職員的資料,然后系

36、統(tǒng)提示用戶輸入需要修改的項目和新的資料。</p><p><b>  4. 查找模塊</b></p><p>  首先由用戶輸入要查找的職員姓名,然后系統(tǒng)用查找函數(shù)查找,然后系統(tǒng)就調用輸出函數(shù),輸出所查找的職員資料。</p><p><b>  5. 刪除模塊</b></p><p>  首先由用戶

37、輸入要刪除的單個職員姓名,然后調用刪除函數(shù),刪除該名職員的資料。</p><p><b>  6. 清空模塊</b></p><p>  系統(tǒng)將會把所有職員的資料全部刪除,將鏈表清空。</p><p>  4.4整體界面的實現(xiàn)</p><p>  系統(tǒng)使用VC++6.0的MFC提供的主對話框作為整體界面,添加了一個下拉菜

38、單,菜單中列出了六個功能按鈕,見圖4-1所示。</p><p>  圖 4-1 系統(tǒng)主界面</p><p>  程序的具體實現(xiàn)部分放整個工程(MFC)的CMy0701_33App類中的成員函數(shù)InitInstance()中。具體代碼清單如下所示: </p><p>  BOOL CMy0701_33App::InitInstance()</p>&

39、lt;p><b>  {</b></p><p>  CLoginDlg login;</p><p>  if(login.DoModal()==IDOK) //如果登錄成功</p><p><b>  {</b></p><p>  MB_INFO("

40、;歡迎進入公司人員信息管理系統(tǒng)!");</p><p>  //CMy0701_33App ed;</p><p>  //ed.OnAppAbout;</p><p>  AfxEnableControlContainer();</p><p>  // Standard initialization</p><

41、;p>  // If you are not using these features and wish to reduce the size</p><p>  // of your final executable, you should remove from the following</p><p>  // the specific initialization ro

42、utines you do not need.</p><p>  #ifdef _AFXDLL</p><p>  Enable3dControls();// Call this when using MFC in a shared DLL</p><p><b>  #else</b></p><p>  En

43、able3dControlsStatic();// Call this when linking to MFC statically</p><p><b>  #endif</b></p><p>  // Change the registry key under which our settings are stored.</p><p&g

44、t;  // TODO: You should modify this string to be something appropriate</p><p>  // such as the name of your company or organization.</p><p>  SetRegistryKey(_T("Local AppWizard-Generated Ap

45、plications"));</p><p>  LoadStdProfileSettings(); // Load standard INI file options (including MRU)</p><p>  // Register the application's document templates. Document templates</p

46、><p>  // serve as the connection between documents, frame windows and views.</p><p>  CSingleDocTemplate* pDocTemplate;</p><p>  pDocTemplate = new CSingleDocTemplate(</p><

47、;p>  IDR_MAINFRAME,</p><p>  RUNTIME_CLASS(CMy0701_33Doc),</p><p>  RUNTIME_CLASS(CMainFrame), // main SDI frame window</p><p>  RUNTIME_CLASS(CMy0701_33View));</p>

48、<p>  AddDocTemplate(pDocTemplate);</p><p>  // Parse command line for standard shell commands, DDE, file open</p><p>  CCommandLineInfo cmdInfo;</p><p>  ParseCommandLine(cmdI

49、nfo);</p><p>  // Dispatch commands specified on the command line</p><p>  if (!ProcessShellCommand(cmdInfo))</p><p>  return FALSE;</p><p>  // The one and only window

50、 has been initialized, so show and update it.</p><p>  m_pMainWnd->ShowWindow(SW_SHOW);</p><p>  m_pMainWnd->UpdateWindow();</p><p>  return TRUE;</p><p><b>

51、;  }</b></p><p>  else {return false;}</p><p><b>  }</b></p><p>  4.5 系統(tǒng)登錄的實現(xiàn)</p><p>  系統(tǒng)登錄是設計了一個對話框,對應的對話框類名為CloginDlg。具體設計見圖4-2以及相應的代碼,代碼清單放在了Clogin

52、Dlg的成員函數(shù)OnOK()內。</p><p>  圖 4-2 系統(tǒng)登錄的實現(xiàn)</p><p>  void CLoginDlg::OnOK() </p><p><b>  {</b></p><p>  // TODO: Add extra validation here</p><p> 

53、 CString username,password; //定義兩個字符串變量</p><p>  m_strUserName.GetWindowText(username); //講文本框中的值賦給username;</p><p>  m_strPassword.GetWindowText(password); //講文本框中的值賦給password

54、;</p><p>  ////////////////////////////////////////獲得賬號信息,從xinxi.txt中獲取,確定賬號個數(shù)</p><p>  ifstream fin;</p><p>  fin.open("xinxi.txt");</p><p>  if(fin.fail())&

55、lt;/p><p><b>  {</b></p><p>  MB_INFO("打開數(shù)據(jù)文件錯誤!文件已被損壞!");</p><p><b>  exit(1);</b></p><p><b>  }</b></p><p>  s

56、tring xinxigeshu,geshu;</p><p>  char lline[100];</p><p>  fin.getline(lline,100);</p><p>  xinxigeshu=lline;</p><p>  int xx=xinxigeshu.find("共有",0);</p&g

57、t;<p>  int yy=xinxigeshu.find("個賬號",0);</p><p>  geshu=xinxigeshu.substr(xx+4,yy-1);</p><p>  int znum=atoi(geshu.c_str());</p><p>  fin.close();</p><p&

58、gt;  ///////////////////////////////////////比較賬號和密碼,來確定是否登錄成功</p><p>  fin.open("code.txt");</p><p>  if(fin.fail())</p><p><b>  {</b></p><p>  MB

59、_ERROR("沒有注冊的用戶!");</p><p><b>  exit(1);</b></p><p><b>  }</b></p><p>  char line[10][101];</p><p>  string strname,strpassword;</p

60、><p>  strname=username.GetBuffer(0);</p><p>  strpassword=password.GetBuffer(0);</p><p>  string str1,str2,stry;</p><p>  BOOL flag=false,flagname=false,flagpassword=fals

61、e;</p><p>  for(int i=0;i<znum;i++)</p><p><b>  {</b></p><p>  fin.getline(line[i],100); //從文件讀入人員信息</p><p>  stry=line[i];</p><p>  int loc

62、1,loc2;</p><p>  loc1=stry.find("用戶名:",0);</p><p>  loc2=stry.find("密碼:",0);</p><p>  str1=stry.substr(loc1+7,loc2-8);</p><p>  str2=stry.substr(loc

63、2+5);</p><p>  if(!str1.compare(strname))</p><p>  flagname=true;</p><p>  if(!str2.compare(strpassword))</p><p>  flagpassword=true;</p><p>  if(flagname=

64、=true&&flagpassword==true)</p><p>  flag=true;</p><p><b>  }</b></p><p>  if(flag==true)</p><p><b>  {</b></p><p>  MB_INFO

65、("登陸成功!");</p><p>  fileinfo info;</p><p>  info.setfileinfo(1);</p><p>  CDialog::OnOK();</p><p><b>  }</b></p><p><b>  else&l

66、t;/b></p><p><b>  {</b></p><p>  if(flagname=false)</p><p><b>  {</b></p><p>  MB_WARNING("用戶名不存在,請重新輸入!");</p><p>  m

67、_strPassword.SetWindowText("");</p><p>  m_strUserName.SetWindowText("");</p><p><b>  }</b></p><p><b>  else</b></p><p><

68、b>  {</b></p><p>  MB_WARNING("密碼錯誤,請重新輸入!");</p><p>  m_strPassword.SetWindowText("");</p><p>  //m_strUserName.SetWindowText("");</p>

69、<p><b>  }</b></p><p><b>  }</b></p><p>  fin.close();</p><p><b>  }</b></p><p>  void CLoginDlg::OnCancel() </p><p

70、><b>  {</b></p><p>  // TODO: Add extra cleanup here</p><p>  MB_QUERY("真的要退出系統(tǒng)嗎?");</p><p>  CDialog::OnCancel();</p><p><b>  exit(1);&

71、lt;/b></p><p><b>  }</b></p><p>  BOOL CLoginDlg::OnEraseBkgnd(CDC* pDC) //設置對話框背景</p><p><b>  {</b></p><p>  // TODO: Add your message handl

72、er code here and/or call default</p><p>  CRect rect;</p><p>  CPaintDC dc(this);</p><p>  GetClientRect(&rect);</p><p>  CDC dcMem;</p><p>  dcMem.Cre

73、ateCompatibleDC(&dc);</p><p>  CBitmap bmpBKG;</p><p>  bmpBKG.LoadBitmap(IDB_BITMAP_DENGLU);//載入位圖,IDB_DLGBITMAP是在ResourceView里邊導入的位圖ID</p><p>  BITMAP bmp;</p><p>

74、;  bmpBKG.GetBitmap(&bmp);</p><p>  CBitmap* pOldBMP = dcMem.SelectObject(&bmpBKG);</p><p>  dc.StretchBlt(0,0,rect.Width(),rect.Height(),&dcMem,0,0,bmp.bmWidth,bmp.bmHeight,SRCCOPY)

75、;</p><p>  return TRUE;</p><p><b>  }</b></p><p>  4.6 添加.查詢.刪除和修改記錄的實現(xiàn)</p><p>  這部分設計了四個對話框,見圖4-3,對應的對話框類名分別為CEmployeeInfoDlg 、CqueryDlg、CshanchuDlg以及Cxiu

76、gaiDlg1。具體設計見圖4-2以及相應的代碼,對應代碼清單分別放在了CMy0701_33View的成員函數(shù):OnInputData()、OnChaxunData()、OnShanchuData()以及OnXiugaiData()內。</p><p>  圖 4-3 添加.刪除和修改的實現(xiàn)</p><p>  void CMy0701_33View::OnInputData()/////

77、///////////////////公司人員信息輸入 </p><p><b>  {</b></p><p>  access=finfo.getfileinfo();</p><p>  if(access==false)</p><p><b>  {</b></p><

78、;p>  MB_INFO("請您先登錄");</p><p>  CLoginDlg ed;</p><p>  if(ed.DoModal()==IDOK)</p><p>  goto loop1;</p><p><b>  }</b></p><p><b&

79、gt;  else{</b></p><p>  // TODO: Add your command handler code here</p><p>  loop1:manager m1;</p><p>  technician t1;</p><p>  salesmanager sm1;</p><

80、p>  salesman s1;</p><p>  vector <employee *> vchar;</p><p>  vchar.push_back(&m1);</p><p>  vchar.push_back(&t1);</p><p>  vchar.push_back(&sm1);&

81、lt;/p><p>  vchar.push_back(&s1);</p><p>  CEmployeeInfoDlg ed;</p><p>  if(ed.DoModal()==IDOK)</p><p><b>  {</b></p><p>  vector<CString&g

82、t; vread;</p><p>  vread.push_back(ed.m_manager);</p><p>  vread.push_back(ed.m_technician);</p><p>  vread.push_back(ed.m_salesmanager);</p><p>  vread.push_back(ed.m_

83、tuixy);</p><p><b>  int i;</b></p><p>  for(i=0;i<4;i++)</p><p><b>  {</b></p><p>  vchar[i]->SetName((char*) (LPCTSTR)vread[i]);//設置姓名&l

84、t;/p><p>  vchar[i]->promote(i);//升級</p><p><b>  }</b></p><p>  t1.SetworkHours(ed.m_hour); //設置工作時間</p><p>  sm1.Setsales(ed.m_zsales);//設置本月的銷售總額</p&

85、gt;<p>  s1.Setsales(ed.m_sales);//設置本月銷售額</p><p>  ofstream ofile("employee.txt",ios::out);//創(chuàng)建一個輸出文件流對象</p><p>  for(i=0;i<4;i++)</p><p><b>  { </b&

86、gt;</p><p>  vchar[i]->pay(); //計算月薪</p><p>  ofile<<vchar[i]->GetName()<<", 編號:"<<vchar[i]->GetindividualEmpNo()</p><p>  <<", 級

87、別:"<<vchar[i]->Getgrade()<<"級, 本月工資"<<vchar[i]->GetaccumPay()</p><p><b>  <<endl;</b></p><p><b>  }</b></p><p> 

88、 ofile.close();</p><p>  MB_INFO("信息已經儲存!");</p><p><b>  }</b></p><p>  else {MB_INFO("信息沒存儲并已退出!");</p><p><b>  }</b></p

89、><p><b>  }</b></p><p><b>  }</b></p><p>  //////////////////////////////////////////////定義判斷類FileException</p><p>  class FileException </p>

90、<p><b>  {</b></p><p><b>  public:</b></p><p>  FileException() </p><p>  : message( "File is not created!" ) { }</p><p>  cons

91、t char *what() const { return message; }</p><p><b>  private:</b></p><p>  const char *message;</p><p><b>  };</b></p><p>  ////////////////////

92、//////////////////////////信息查詢,查詢指定人員的信息</p><p>  void CMy0701_33View::OnChaxunData() </p><p><b>  {</b></p><p>  access=finfo.getfileinfo();</p><p>  if(a

93、ccess==false)</p><p><b>  {</b></p><p>  MB_INFO("請您先登錄");</p><p>  CLoginDlg ed;</p><p>  if(ed.DoModal()==IDOK)</p><p>  goto loop3

94、;</p><p><b>  }</b></p><p><b>  else</b></p><p><b>  {</b></p><p>  // TODO: Add your command handler code here</p><p>

95、;  loop3:this->OnInitialUpdate();system("cls");</p><p>  ifstream infile("employee.txt",ios::in);//創(chuàng)建一個輸入文件流對象</p><p><b>  try { </b></p><p> 

96、 if (!infile)</p><p>  throw FileException();</p><p><b>  }</b></p><p>  catch ( FileException fe ) { // exception handler</p><p>  MB_ERROR(fe.what()); //&

97、quot; << fe.what() << '\n';</p><p><b>  exit(0);</b></p><p><b>  }</b></p><p>  CQueryDlg ed; //聲明查詢對話框對象</p><p>  if(ed.DoM

98、odal()==IDOK)//調用查詢對話框</p><p><b>  {</b></p><p>  char line[10][101];</p><p>  BOOL flag=FALSE;</p><p>  for(int i=0;i<4;i++)</p><p><b&g

99、t;  {</b></p><p>  CClientDC dc(this);</p><p>  infile.getline(line[i],100); //從文件讀入人員信息</p><p>  CString c_str,name_str;</p><p>  c_str.Format("%s",lin

100、e[i]); //轉換為字符串 </p><p>  name_str=c_str.Left(c_str.Find(','));//提取姓名</p><p>  if(!name_str.Compare(ed.m_strQuery))//與查詢名比較</p><p><b>  {</b></p>

101、;<p>  flag=TRUE;</p><p>  name_str+="已經查詢到,要顯示該人員信息嗎?";</p><p>  if(MB_QUERY(name_str)==IDYES)</p><p><b>  {</b></p><p>  dc.TextOut(120,1

102、00+30*i,c_str);</p><p><b>  };</b></p><p><b>  }</b></p><p><b>  } </b></p><p>  if(flag==FALSE) MB_ERROR("對不起!沒有這個人&

103、quot;);</p><p><b>  }</b></p><p>  infile.close();</p><p><b>  }</b></p><p><b>  }</b></p><p>  ///////////////////////

104、////////////////////////////修改已存在的人員的信息</p><p>  void CMy0701_33View::OnXiugaiData() </p><p><b>  {</b></p><p>  access=finfo.getfileinfo();</p><p>  if(ac

105、cess==false)</p><p><b>  {</b></p><p>  MB_INFO("請您先登錄");</p><p>  CLoginDlg ed;</p><p>  if(ed.DoModal()==IDOK)</p><p>  goto loop4;

106、</p><p><b>  }</b></p><p><b>  else</b></p><p><b>  {</b></p><p>  // TODO: Add your command handler code here</p><p> 

107、 loop4:CxiugaiDlg1 ed;</p><p>  if(ed.DoModal()==IDOK)</p><p><b>  {</b></p><p>  this->OnInitialUpdate();</p><p>  ifstream infile("employee.txt&

108、quot;,ios::in);</p><p><b>  try</b></p><p><b>  {</b></p><p>  if (!infile)</p><p>  throw FileException();</p><p><b>  }<

109、/b></p><p>  catch ( FileException fe )</p><p><b>  {</b></p><p>  MB_ERROR(fe.what());</p><p><b>  exit(0);</b></p><p><b>

110、;  }</b></p><p><b>  {</b></p><p>  char line[4][101];</p><p><b>  int j[4];</b></p><p>  BOOL flag=FALSE;</p><p>  for(int i

111、=0;i<4;i++)</p><p><b>  {</b></p><p>  infile.getline(line[i],100);</p><p>  CString c_str1,name_str;</p><p>  c_str1.Format("%s",line[i]);<

112、/p><p>  name_str=c_str1.Left(c_str1.Find(','));</p><p>  if(!name_str.Compare(ed.m_strxiuname1))</p><p><b>  {</b></p><p>  flag=TRUE;</p><

113、p><b>  j[i]=i;</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  if(flag==FALSE) MB_ERROR("并無此人!");</p><p><b>  el

114、se</b></p><p><b>  {</b></p><p>  CxiugaiDlg ed;</p><p>  if(ed.DoModal()==IDOK)</p><p><b>  {</b></p><p>  infile.close();&l

115、t;/p><p>  ofstream ofile("employee.txt",ios::out);</p><p>  for(i=0;i<4;i++)</p><p><b>  {</b></p><p>  if(i!=j[0]&&i!=j[1]&&i!=j

116、[2]&&i!=j[3])</p><p><b>  {</b></p><p>  ofile<<line[i]<<endl;</p><p><b>  }</b></p><p><b>  else</b></p>

117、<p><b>  {</b></p><p>  ofile<<ed.m_strxiuname.GetBuffer(12)<<", 編號:"<<ed.m_strxiuno</p><p>  <<", 級別:"<<ed.m_strxiuji<<

118、"級, 本月工資"<<ed.m_strxiugong</p><p><b>  <<endl;</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  ofile.close();

119、</p><p>  MB_INFO("信息已修改");</p><p><b>  }</b></p><p><b>  else</b></p><p>  MB_INFO("取消修改!");</p><p><b>

120、;  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  else</b></p><p>  MB_INFO("取消修改!");</p><p><

121、;b>  }</b></p><p><b>  }</b></p><p>  //////////////////////////////////////////////////////刪除指定人員信息</p><p>  void CMy0701_33View::OnShanchuData() </p>&

122、lt;p><b>  {</b></p><p>  access=finfo.getfileinfo();</p><p>  if(access==false)</p><p><b>  {</b></p><p>  MB_INFO("請您先登錄");</p

123、><p>  CLoginDlg ed;</p><p>  if(ed.DoModal()==IDOK)</p><p>  goto loop5;</p><p><b>  }</b></p><p><b>  else{</b></p><p>

124、  // TODO: Add your command handler code here</p><p>  loop5:this->OnInitialUpdate();</p><p>  ifstream infile("employee.txt",ios::in);//創(chuàng)建一個輸入文件流對象</p><p><b> 

125、 try { </b></p><p>  if (!infile)</p><p>  throw FileException();</p><p><b>  }</b></p><p>  catch ( FileException fe ) { // exception handler</p&

126、gt;<p>  MB_INFO(fe.what()); //" << fe.what() << '\n';</p><p><b>  exit(0);</b></p><p><b>  }</b></p><p>  CshanchuDlg ed; //

127、聲明刪除對話框對象</p><p>  if(ed.DoModal()==IDOK)//調用刪除對話框</p><p><b>  {</b></p><p>  char line[4][101];</p><p><b>  int a[4];</b></p><p> 

128、 bool flag=FALSE;</p><p>  for(int i=0;i<4;i++)</p><p><b>  {</b></p><p>  infile.getline(line[i],100); //從文件讀入人員信息</p><p>  CString c_str,name_str;</

129、p><p>  c_str.Format("%s",line[i]); //轉換為字符串 </p><p>  name_str=c_str.Left(c_str.Find(','));//提取姓名</p><p>  if(!name_str.Compare(ed.m_strshancname))//與查詢名比

130、較</p><p><b>  {</b></p><p><b>  a[i]=i;</b></p><p>  flag=TRUE;</p><p><b>  }</b></p><p><b>  }</b></p&g

131、t;<p>  infile.close();</p><p>  if(flag==FALSE) </p><p><b>  {</b></p><p>  MB_ERROR("并無此人!");</p><p><b>  return;</b></p&g

132、t;<p><b>  }</b></p><p>  ofstream ofile("employee.txt",ios::out);</p><p>  for(int j=0;j<4;j++)</p><p><b>  {</b></p><p>  

133、if(j!=a[1]&&j!=a[2]&&j!=a[3]&&j!=a[0])</p><p><b>  {</b></p><p>  ofile<<line[j]<<endl;</p><p><b>  }</b></p><

134、p><b>  }</b></p><p>  ofile.close();</p><p>  MB_INFO("此人信息已刪除!");</p><p><b>  }</b></p><p><b>  }</b></p><p

135、><b>  }</b></p><p>  4.7(特色)用戶注冊的實現(xiàn)</p><p>  此部分對用戶注冊設計了一個對話框,見圖4-4,對應的對話框類名為Czhuce,具體代碼清單CMy0701_33View的成員函數(shù)OnZhuceinfo()中。</p><p>  圖 4-4 年級成績的實現(xiàn)</p><p&g

136、t;  /////////////////////////特色函數(shù),注冊用戶</p><p>  void CMy0701_33View::OnZhuceinfo() </p><p><b>  {</b></p><p>  // TODO: Add your command handler code here</p><

137、;p>  system("cls");</p><p>  loop9:CZhuce ed;</p><p>  bool boolzhuce=false; ////////////////////////用來判斷注冊名是否已被注冊</p><p>  ifstream fin;</p><p>  ofstrea

138、m fout;</p><p>  if(ed.DoModal()==IDOK)</p><p><b>  {</b></p><p>  ////////////////////////////////////////////提取賬號信息</p><p>  fin.open("xinxi.txt"

溫馨提示

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

評論

0/150

提交評論