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

下載本文檔

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

文檔簡(jiǎn)介

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

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

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

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

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

6、t;b>  參考文獻(xiàn)33</b></p><p>  致 謝33</p><p>  公司人員信息管理系統(tǒng)</p><p><b>  金釗</b></p><p> ?。ê峡萍即髮W(xué) 中國(guó) 湘潭 0707020133)</p><p><b>  摘

7、 要</b></p><p>  本次課程設(shè)計(jì)任務(wù)是通過(guò)編寫(xiě)一個(gè)公司人員信息管理系統(tǒng),學(xué)習(xí)用Visual C++ 6.0開(kāi)發(fā)簡(jiǎn)單的管理系統(tǒng)。采用Visual C++ 6.0軟件為主要開(kāi)發(fā)工具。</p><p>  本系統(tǒng)主要完成對(duì)公司員工情況和公司信息的管理,包括人員信息的添加、修改、刪除等。系統(tǒng)還可以完成對(duì)各類(lèi)信息的瀏覽、查詢、添加、刪除、修改、等功能。</p>

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

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

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

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

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

13、lt;/p><p><b>  1、用戶注冊(cè):</b></p><p>  添加一個(gè)系統(tǒng)賬戶,當(dāng)輸入的用戶名未被注冊(cè)且密碼兩次輸入相同則注冊(cè)成功。</p><p><b>  2、系統(tǒng)注銷(xiāo):</b></p><p>  可以注銷(xiāo)當(dāng)前用戶,登陸另一個(gè)賬戶。</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>  程序運(yùn)行平臺(tái)</b></p><p>  開(kāi)發(fā)工具: Visual C++</p><p>  運(yùn)行環(huán)境:Windows 9x、Windows NT/2000、Windows XP</p><p><b>  詳細(xì)設(shè)計(jì)</b></p

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

19、經(jīng)理以及銷(xiāo)售經(jīng)理等四類(lèi)人員,為此設(shè)計(jì)了五個(gè)人員信息類(lèi)分別是employee(作為基類(lèi))、technician、salesman、manager以及salesmanager,后四個(gè)類(lèi)都公有地繼承了employee。下面是上述類(lèi)的設(shè)計(jì),即各類(lèi)的聲明,放在了employee.h文件中,而其中所有成員函數(shù)的設(shè)計(jì)見(jiàn)附件。</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;//個(gè)人編號(hào)</p><p>  int grade;//級(jí)別</p

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

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

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

24、  };</b></p><p>  class technician:public employee//兼職技術(shù)人員類(lèi)</p><p><b>  {</b></p><p><b>  private:</b></p><p>  float hourlyRate;//每小時(shí)酬金

25、</p><p>  int workHours;//當(dāng)月工作時(shí)數(shù)</p><p><b>  public:</b></p><p>  technician();//構(gòu)造函數(shù)</p><p>  void SetworkHours(int wh); //設(shè)置工作時(shí)數(shù)函數(shù)</p><p>

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

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

28、//構(gòu)造函數(shù)</p><p>  void Setsales(float sl); //設(shè)置銷(xiāo)售額函數(shù)</p><p>  void pay();//計(jì)算月薪函數(shù)</p><p>  void promote(int);//升級(jí)函數(shù)</p><p><b>  };</b></p><p>

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

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

31、ic manager,public salesman //銷(xiāo)售經(jīng)理類(lèi)</p><p><b>  {</b></p><p><b>  public:</b></p><p>  salesmanager();//構(gòu)造函數(shù)</p><p>  void pay();//計(jì)算月薪函數(shù)<

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

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

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

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

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

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

38、單,菜單中列出了六個(gè)功能按鈕,見(jiàn)圖4-1所示。</p><p>  圖 4-1 系統(tǒng)主界面</p><p>  程序的具體實(shí)現(xiàn)部分放整個(gè)工程(MFC)的CMy0701_33App類(lèi)中的成員函數(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、;歡迎進(jìn)入公司人員信息管理系統(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)登錄的實(shí)現(xiàn)</p><p>  系統(tǒng)登錄是設(shè)計(jì)了一個(gè)對(duì)話框,對(duì)應(yīng)的對(duì)話框類(lèi)名為CloginDlg。具體設(shè)計(jì)見(jiàn)圖4-2以及相應(yīng)的代碼,代碼清單放在了Clogin

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

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

54、;</p><p>  ////////////////////////////////////////獲得賬號(hào)信息,從xinxi.txt中獲取,確定賬號(hào)個(gè)數(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("打開(kāi)數(shù)據(jù)文件錯(cuò)誤!文件已被損壞!");</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("個(gè)賬號(hào)",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;  ///////////////////////////////////////比較賬號(hào)和密碼,來(lái)確定是否登錄成功</p><p>  fin.open("code.txt");</p><p>  if(fin.fail())</p><p><b>  {</b></p><p>  MB

59、_ERROR("沒(méi)有注冊(cè)的用戶!");</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("用戶名不存在,請(qǐng)重新輸入!");</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("密碼錯(cuò)誤,請(qǐng)重新輸入!");</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) //設(shè)置對(duì)話框背景</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里邊導(dǎo)入的位圖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 添加.查詢.刪除和修改記錄的實(shí)現(xiàn)</p><p>  這部分設(shè)計(jì)了四個(gè)對(duì)話框,見(jiàn)圖4-3,對(duì)應(yīng)的對(duì)話框類(lèi)名分別為CEmployeeInfoDlg 、CqueryDlg、CshanchuDlg以及Cxiu

76、gaiDlg1。具體設(shè)計(jì)見(jiàn)圖4-2以及相應(yīng)的代碼,對(duì)應(yīng)代碼清單分別放在了CMy0701_33View的成員函數(shù):OnInputData()、OnChaxunData()、OnShanchuData()以及OnXiugaiData()內(nèi)。</p><p>  圖 4-3 添加.刪除和修改的實(shí)現(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("請(qǐng)您先登錄");</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]);//設(shè)置姓名&l

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

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

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

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

88、 ofile.close();</p><p>  MB_INFO("信息已經(jīng)儲(chǔ)存!");</p><p><b>  }</b></p><p>  else {MB_INFO("信息沒(méi)存儲(chǔ)并已退出!");</p><p><b>  }</b></p

89、><p><b>  }</b></p><p><b>  }</b></p><p>  //////////////////////////////////////////////定義判斷類(lèi)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("請(qǐng)您先登錄");</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)建一個(gè)輸入文件流對(duì)象</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; //聲明查詢對(duì)話框?qū)ο?lt;/p><p>  if(ed.DoM

98、odal()==IDOK)//調(diào)用查詢對(duì)話框</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]); //轉(zhuǎn)換為字符串 </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+="已經(jīng)查詢到,要顯示該人員信息嗎?";</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("對(duì)不起!沒(méi)有這個(gè)人&

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("請(qǐng)您先登錄");</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("并無(wú)此人!");</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)<<", 編號(hào):"<<ed.m_strxiuno</p><p>  <<", 級(jí)別:"<<ed.m_strxiuji<<

118、"級(jí), 本月工資"<<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("請(qǐng)您先登錄");</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)建一個(gè)輸入文件流對(duì)象</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、聲明刪除對(duì)話框?qū)ο?lt;/p><p>  if(ed.DoModal()==IDOK)//調(diào)用刪除對(duì)話框</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]); //轉(zhuǎn)換為字符串 </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("并無(wú)此人!");</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(特色)用戶注冊(cè)的實(shí)現(xiàn)</p><p>  此部分對(duì)用戶注冊(cè)設(shè)計(jì)了一個(gè)對(duì)話框,見(jiàn)圖4-4,對(duì)應(yīng)的對(duì)話框類(lèi)名為Czhuce,具體代碼清單CMy0701_33View的成員函數(shù)OnZhuceinfo()中。</p><p>  圖 4-4 年級(jí)成績(jī)的實(shí)現(xiàn)</p><p&g

136、t;  /////////////////////////特色函數(shù),注冊(cè)用戶</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; ////////////////////////用來(lái)判斷注冊(cè)名是否已被注冊(cè)</p><p>  ifstream fin;</p><p>  ofstrea

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

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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)論