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

下載本文檔

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

文檔簡介

1、<p>  C++語言課程設計說明書</p><p>  一、課程設計的目的和要求</p><p>  1.進一步鞏固C++語言語法規則。</p><p>  2.熟練掌握程序設計的一般技巧和方法。</p><p>  3.培養解決綜合性實際問題的能力。</p><p><b>  二、課程設計任務

2、</b></p><p><b>  三、課程設計要求:</b></p><p>  1.分析課程設計題目的要求 </p><p>  2.寫出詳細設計說明</p><p>  3.編寫程序代碼,調試程序使其能正確運行 </p><p>  4.設計完成的軟件要便于操作和使用 <

3、/p><p>  5.設計完成后提交內容有: 源程序(cpp和h頭文件),word 版程序說明( ①系統說明 ②實驗分析與結論 ③體會)</p><p><b>  四、時間安排:2周</b></p><p>  題目 職工信息管理 </p><p><b>  題目介紹</b></p>

4、<p> ?。╊}目:職工信息管理;</p><p> ?。祿枋?定義職工(employee )類,其中至少包括姓名、 性別、工號、電話、所在科室和工資。</p><p>  (3.)功能需求:1.輸入功能:輸入職工信息,并保存到文件中; </p><p>  2.查詢功能: 1)能夠根據工號精確查詢職工信息; 2)能夠根據姓名、科室查詢職工信息

5、;3)分科室進行工資統計,計算各科室的平均工資 ;3.根據職工的工資排序輸出;</p><p>  4.根據工號修改職工信息 ;5.根據工號刪除職工信息;</p><p><b>  (4.)用戶界面:</b></p><p>  輸入:程序正常運行后,屏幕上顯示一個文字菜單(根據序號選定相應的操作項目)當用戶選定操作項目所對應的序號時,根據應

6、用程序的提示信息,從鍵盤上輸入相應的數據。</p><p>  輸出:1. 應用程序正常運行后,要在屏幕上顯示一個文字菜單;</p><p>  2.要求用戶輸入數據時,要給出清晰、明確的提示信息,包括輸入的數據內容,格式及結束方式等。</p><p><b>  系統分析</b></p><p>  根據題目要求,我知

7、道整個程序是以類定義的,首先定義一個employee類,再在類中定義一些數據成員和函數成員,在類中首先定義一個結構體,結構體中包括姓名、 性別、工號、電話、所在科室和工資。然后分別定義一個具有輸入功能、菜單選擇功能、查詢功能、排序功能、刪除功能、修改功能的函數。在主函數中應用輸入功能函數,通過輸入功能函數進入菜單選擇函數,利用switch語句選擇要進行的項目,分別進入各種函數中進行操作,然后實現employee的各種功能。其中對一些錯誤

8、輸入進行處理,以完善程序。</p><p><b>  程序代碼</b></p><p>  #include<iostream.h></p><p>  #include"stdlib.h"</p><p>  #include"string.h"</p>

9、<p>  #define N 3</p><p>  class employee</p><p><b>  {public:</b></p><p>  struct employ</p><p><b>  {</b></p><p>  char n

10、ame[10];</p><p><b>  char sex;</b></p><p>  int serial;</p><p><b>  int tele;</b></p><p>  int branchnum;</p><p>  float salary;}nu

11、m;</p><p>  void input();</p><p>  void menu_select();</p><p>  void search();</p><p>  void find();</p><p>  void average();</p><p>  void li

12、st();</p><p>  void change();</p><p>  void cancel();</p><p>  }stu[30],write;</p><p>  void input();</p><p>  void menu_select();</p><p>  vo

13、id search();</p><p>  void find();</p><p>  void average();</p><p>  void list();</p><p>  void change();</p><p>  void cancel();</p><p>  voi

14、d main()</p><p>  {write.input();}</p><p>  void employee::input()</p><p><b>  {</b></p><p><b>  int i;</b></p><p>  cout<<&q

15、uot;請輸入姓名.性別(男(b))/(女(g)).工號.電話位數(12以內).所在科室.工資:";</p><p>  for(i=0;i<N;i++)</p><p>  {cout<<"請輸入姓名:";</p><p>  cin>>stu[i].num.name;</p><p&

16、gt;  cout<<"請輸入性別:";</p><p>  cin>>stu[i].num.sex;</p><p>  cout<<"請輸入工號:";</p><p>  cin>>stu[i].num.serial;</p><p>  cout&l

17、t;<"請輸入電話號碼:";</p><p>  cin>>stu[i].num.tele;</p><p>  cout<<"所在科室:";</p><p>  cin>>stu[i].num.branchnum;</p><p>  cout<<

18、"請輸入工資:";</p><p>  cin>>stu[i].num.salary;</p><p>  cout<<endl;}</p><p>  write.menu_select();</p><p><b>  }</b></p><p> 

19、 void employee::menu_select()</p><p><b>  {</b></p><p><b>  int m;</b></p><p>  cout<<"請選擇進行的項目"<<endl;</p><p>  cout<&

20、lt;"根據工號查詢信息"<<endl;</p><p>  cout<<"根據姓名查詢信息"<<endl;</p><p>  cout<<"工資排序輸出"<<endl;</p><p>  cout<<"根據工號修改職工信

21、息"<<endl;</p><p>  cout<<"根據工號刪除職工信息"<<endl;</p><p>  cout<<"請選擇進行的項:";</p><p><b>  cin>>m;</b></p><p&g

22、t;<b>  switch(m)</b></p><p>  {case 1: write.search();break;</p><p>  case 2: write.find();break;</p><p>  case 3: write.average();break;</p><p>  case 4: w

23、rite.list();break;</p><p>  case 5: write.change();break;</p><p>  case 6: write.cancel();break;</p><p>  default: {cout<<"輸入有誤!"<<endl;menu_select();}</p&g

24、t;<p><b>  }</b></p><p><b>  }</b></p><p>  void employee::search()</p><p><b>  {</b></p><p>  int i,count=0;</p><

25、p><b>  int s;</b></p><p><b>  char c;</b></p><p>  cout<<"請輸入查找人的工號:";</p><p><b>  cin>>s;</b></p><p>  {fo

26、r(i=0;i<N;i++)</p><p><b>  {</b></p><p>  if(stu[i].num.serial==s)</p><p>  {{cout<<s;</p><p>  cout<<"的信息為:"<<endl;</p>

27、;<p>  cout<<"************"<<endl;</p><p>  cout<<"**姓名:";</p><p>  cout<<stu[i].num.name<<endl;</p><p>  cout<<"

28、**性別:";</p><p>  cout<<stu[i].num.sex<<endl;</p><p>  cout<<"**工號:";</p><p>  cout<<stu[i].num.serial;</p><p>  cout<<"

29、;**電話:";</p><p>  cout<<stu[i].num.tele<<endl;</p><p>  cout<<"**科室:";</p><p>  cout<<stu[i].num.branchnum<<endl;</p><p>  

30、cout<<"**工資:";</p><p>  cout<<stu[i].num.salary<<endl;</p><p>  cout<<"************"<<endl;</p><p><b>  }</b></p>

31、<p>  cout<<"按y/Y返回主菜單!"<<endl;</p><p><b>  cin>>c;</b></p><p>  if(c=='y'||c=='Y') menu_select();}</p><p>  else coun

32、t++;}</p><p>  if(count==N) {cout<<"沒有此人! 請重新輸入!";write.search();}</p><p><b>  }</b></p><p><b>  }</b></p><p>  void employee::f

33、ind()</p><p><b>  {</b></p><p>  int i,count=0;</p><p>  char k[20];</p><p><b>  char c;</b></p><p>  cout<<"請輸入查找人的姓名:&

34、quot;<<endl;</p><p><b>  cin>>k;</b></p><p>  {for(i=0;i<N;i++)</p><p><b>  {</b></p><p>  if(strcmp(stu[i].num.name,k)==0)</p

35、><p>  {{cout<<k;</p><p>  cout<<"的信息為:"<<endl;</p><p>  cout<<"************"<<endl;</p><p>  cout<<"**姓名:&quo

36、t;;</p><p>  cout<<stu[i].num.name<<endl;</p><p>  cout<<"**性別:";</p><p>  cout<<stu[i].num.sex<<endl;</p><p>  cout<<&quo

37、t;**工號:";</p><p>  cout<<stu[i].num.serial;</p><p>  cout<<"**電話:";</p><p>  cout<<stu[i].num.tele<<endl;</p><p>  cout<<&q

38、uot;**科室:";</p><p>  cout<<stu[i].num.branchnum<<endl;</p><p>  cout<<"**工資:";</p><p>  cout<<stu[i].num.salary<<endl;</p><p&

39、gt;  cout<<"************"<<endl;</p><p>  }cout<<"按y/Y返回主菜單!"<<endl;</p><p><b>  cin>>c;</b></p><p>  if(c=='y'

40、||c=='Y') menu_select();}</p><p>  else count++;}</p><p>  if(count==N) {cout<<"沒有此人! 請重新輸入!";write.find();}</p><p><b>  }</b></p><p&g

41、t;<b>  }</b></p><p>  void employee::list()</p><p><b>  {</b></p><p><b>  int i,j;</b></p><p>  float temp;</p><p><

42、b>  char c;</b></p><p>  {for(i=0;i<N;i++)</p><p>  for(j=0;j<N-1;j++)</p><p>  if(stu[j].num.salary>stu[j+1].num.salary)</p><p>  {temp=stu[j].num.sa

43、lary;stu[j].num.salary=stu[j+1].num.salary;stu[j+1].num.salary=temp;</p><p><b>  }</b></p><p>  for(i=0;i<N;i++)</p><p>  cout<<stu[i].num.salary;</p>&l

44、t;p>  cout<<endl;</p><p>  cout<<endl;}cout<<"按y/Y返回主菜單!"<<endl;</p><p><b>  cin>>c;</b></p><p>  if(c=='y'||c=='Y

45、') write.menu_select();</p><p><b>  }</b></p><p>  void employee::average()</p><p><b>  {</b></p><p>  int i,count1=0,count2=0;</p>&

46、lt;p>  float temp1=0,temp2=0,ave1,ave2;</p><p><b>  char c;</b></p><p>  for(i=0;i<N;i++)</p><p>  switch(stu[i].num.branchnum)</p><p><b>  {<

47、;/b></p><p><b>  case 1: </b></p><p>  temp1+=stu[i].num.salary;count1++;break;</p><p><b>  case 2: </b></p><p>  temp2+=stu[i].num.salary;co

48、unt2++;break;</p><p><b>  }</b></p><p>  ave1=temp1/count1;</p><p>  ave2=temp2/count2;</p><p>  cout<<"1科室的平均工資為:"<<ave1<<endl;

49、</p><p>  cout<<"2科室的平均工資為:"<<ave2<<endl;</p><p>  cout<<"按y/Y返回主菜單!"<<endl;</p><p><b>  cin>>c;</b></p>&

50、lt;p>  if(c=='y'||c=='Y') write.menu_select();</p><p><b>  }</b></p><p>  void employee::change()</p><p><b>  {</b></p><p>  

51、int i,count=0;</p><p><b>  int s;</b></p><p><b>  char c;</b></p><p>  cout<<"請輸入工號:";</p><p><b>  cin>>s;</b>

52、</p><p>  cout<<endl;</p><p>  {for(i=0;i<N;i++)</p><p><b>  {</b></p><p>  if(stu[i].num.serial==s)</p><p>  {{cout<<"請輸入

53、修改后的姓名.性別(男(b))/(女(g)).工號.電話位數(12以內).所在科室.工資:"<<endl;</p><p>  cout<<"**姓名:";</p><p>  cin>>stu[i].num.name;</p><p>  cout<<"**性別:"&

54、lt;<endl;</p><p>  cin>>stu[i].num.sex;</p><p>  cout<<"**電話:"<<endl;</p><p>  cin>>stu[i].num.tele;</p><p>  cout<<"**科

55、室:"<<endl;</p><p>  cin>>stu[i].num.branchnum;</p><p>  cout<<"**工資:"<<endl;</p><p>  cin>>stu[i].num.salary;</p><p>  cout

56、<<"************"<<endl;</p><p><b>  }</b></p><p>  cout<<"按y/Y返回主菜單!"<<endl;</p><p><b>  cin>>c;</b></p&

57、gt;<p>  if(c=='y'||c=='Y') write.menu_select();}</p><p>  else count++;}</p><p>  if(count==N) {cout<<"沒有此人! 請重新輸入!";change();}}</p><p><b

58、>  }</b></p><p>  void employee::cancel()</p><p><b>  {</b></p><p>  int i,count=0;</p><p><b>  int s;</b></p><p><b>

59、;  char c;</b></p><p>  cout<<"請輸入要刪除的工號:";</p><p><b>  cin>>s;</b></p><p>  {for(i=0;i<N;i++)</p><p><b>  {</b>&

60、lt;/p><p>  if(stu[i].num.serial==s)</p><p>  {for(;i<N-1;i++)</p><p>  {stu[i].num.serial=stu[i+1].num.serial;</p><p>  strcpy(stu[i].num.name,stu[i+1].num.name);</

61、p><p>  stu[i].num.sex=stu[i+1].num.sex;</p><p>  stu[i].num.tele=stu[i+1].num.tele;</p><p>  stu[i].num.branchnum=stu[i+1].num.branchnum;</p><p>  stu[i].num.salary=stu[i

62、+1].num.salary;}</p><p>  cout<<"刪除成功!";</p><p>  cout<<"按y/Y返回主菜單!"<<endl;</p><p><b>  cin>>c;</b></p><p>  if(

63、c=='y'||c=='Y') write.menu_select();}</p><p>  else count++;}</p><p>  if(count==N) {cout<<"沒有此人! 請重新輸入!";cancel();}}</p><p><b>  } </b>&

64、lt;/p><p><b>  運行結果</b></p><p><b>  總結</b></p><p>  半年的學習,再加上后兩周的操作,讓我感受頗多,編程序首先是在紙上寫一下代碼,代碼寫好了才到電腦上調試,這樣可以提高效率,還可以幫組記憶,因為是初學,對知識點比較陌生,所以寫一下會有所記憶的,C++中也有東西需要理解才

65、能編好的,因此,不僅是簡簡單單仿寫,沒有了模板,就沒有了思路。</p><p>  我感覺設計C++在編譯程序時碰到錯誤是正常的,不要慌,即使剛開始時系統報了幾十個錯誤也不要擔心,我認為這恰是一個機會,因為在逐步的改錯中恰能明白自己的錯誤所在,就能更深刻的理解C++,錯誤是伴隨C++的成長的,剛開始我也特害怕,可后來我特別喜歡系統報錯,因為這樣還知道自己設計的程序有錯的,然后就是自己翻書找錯誤,第一次熟悉程序不能

溫馨提示

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

評論

0/150

提交評論