2023年全國(guó)碩士研究生考試考研英語(yǔ)一試題真題(含答案詳解+作文范文)_第1頁(yè)
已閱讀1頁(yè),還剩7頁(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><b>  學(xué) 號(hào) </b></p><p><b>  數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)</b></p><p><b>  設(shè)計(jì)說(shuō)明書</b></p><p>  起止日期: 2011年 12月 12 日 至 2011 年 12月16日</p><p><

2、;b>  電子與信息工程系</b></p><p>  2011年 12 月16日</p><p><b>  課程設(shè)計(jì)任務(wù)書</b></p><p>  2010—2011學(xué)年第1學(xué)期</p><p>  電子與信息工程 系 軟件工程 專業(yè) 班級(jí)</p><p&

3、gt;  課程設(shè)計(jì)名稱: 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì) </p><p>  設(shè)計(jì)題目: 員工管理系統(tǒng) </p><p>  完成期限:自 2011 年 12 月 12 日至 2011 年 12 月 16 日共 1 周</p><p>  設(shè)計(jì)依據(jù)

4、、要求及主要內(nèi)容(可另加附頁(yè)):</p><p><b>  一、設(shè)計(jì)目的</b></p><p>  熟悉各種數(shù)據(jù)結(jié)構(gòu)和運(yùn)算,會(huì)使用數(shù)據(jù)結(jié)構(gòu)的基本操作解決一些實(shí)際問(wèn)題。</p><p><b>  二、設(shè)計(jì)要求 </b></p><p> ?。?)重視課程設(shè)計(jì)環(huán)節(jié),用嚴(yán)謹(jǐn)、科學(xué)和踏實(shí)的工作態(tài)度

5、對(duì)待課程設(shè)計(jì)的每一項(xiàng)任務(wù);</p><p>  (2)按照課程設(shè)計(jì)的題目要求,獨(dú)立地完成各項(xiàng)任務(wù),嚴(yán)禁抄襲;凡發(fā)現(xiàn)抄襲,抄襲者與被抄襲者皆以零分計(jì)入本課程設(shè)計(jì)成績(jī)。凡發(fā)現(xiàn)實(shí)驗(yàn)報(bào)告或源程序雷同,涉及的全部人員皆以零分計(jì)入本課程設(shè)計(jì)成績(jī);</p><p> ?。?)學(xué)生在接受設(shè)計(jì)任務(wù)后,首先要按設(shè)計(jì)任務(wù)書的要求編寫設(shè)計(jì)進(jìn)程表;</p><p> ?。?)認(rèn)真編寫課程設(shè)計(jì)

6、報(bào)告。</p><p><b>  三、設(shè)計(jì)內(nèi)容</b></p><p><b>  員工管理系統(tǒng)</b></p><p><b>  1)問(wèn)題描述</b></p><p>  每個(gè)員工的信息包括:編號(hào)、姓名、性別、出生年月、學(xué)歷、職務(wù)、電話、住址等。系統(tǒng)能夠完成員工信息的查詢

7、、更新、插入、刪除、排序等功能。</p><p><b>  2)基本要求</b></p><p>  (1) 排序:按不同關(guān)鍵字,對(duì)所有員工的信息進(jìn)行排序。</p><p> ?。?) 查詢:按特定條件查找員工。</p><p>  (3) 更新:按編號(hào)對(duì)某個(gè)員工的某項(xiàng)信息進(jìn)行修改。</p><p&

8、gt; ?。?) 插入:加入新員工的信息。</p><p> ?。?) 刪除:按編號(hào)刪除已離職的員工的信息。</p><p><b>  四、參考文獻(xiàn)</b></p><p>  1.王紅梅.?dāng)?shù)據(jù)結(jié)構(gòu).清華大學(xué)出版社</p><p>  2.王紅梅.?dāng)?shù)據(jù)結(jié)構(gòu)學(xué)習(xí)輔導(dǎo)與實(shí)驗(yàn)指導(dǎo).清華大學(xué)出版社</p><

9、;p>  3.嚴(yán)蔚敏,吳偉民.?dāng)?shù)據(jù)結(jié)構(gòu)(C語(yǔ)言版).清華大學(xué)出版社</p><p><b>  一、需求分析</b></p><p>  我認(rèn)為首先建立一個(gè)數(shù)組,數(shù)組中包含員工的基本信息,每個(gè)員工的信息包括:編號(hào)、姓名、性別、出生年月、學(xué)歷、職務(wù)、電話、住址等。然后再設(shè)計(jì)具體功能的程序,比如說(shuō)查找員工的信息就要建立查找的代碼,并且還要建立和主函數(shù)的關(guān)系,根據(jù)主菜

10、單的提示可以選擇自動(dòng)的轉(zhuǎn)向你所要查詢的內(nèi)容,然后還能夠返回到主函數(shù)主界面,這樣用戶就可以完成下一步的操作,最終我設(shè)計(jì)的這個(gè)系統(tǒng)能夠完成員工信息的查詢、更新、插入、刪除、排序等功能,在主界面可以實(shí)現(xiàn)這些功能,根據(jù)用戶需求進(jìn)行相應(yīng)的操作。</p><p>  輸入:輸入每個(gè)員工的基本信息,形成每一條員工記錄。輸出:輸出員工管理的主菜單,可以進(jìn)行查詢、更新、插入、刪除、排序的操作。</p><p&g

11、t;<b>  二、問(wèn)題求解</b></p><p>  在現(xiàn)實(shí)生活中,我會(huì)首先建立一個(gè)結(jié)構(gòu)體用來(lái)存儲(chǔ)員工的基本信息,初始數(shù)據(jù)形式為一個(gè)空的結(jié)構(gòu)體,里面存儲(chǔ)員工所具有的屬性,然后建立一個(gè)主界面,根據(jù)提示依次輸入一條員工的記錄,然后存儲(chǔ)當(dāng)前的數(shù)據(jù)形式,等到有需要操作時(shí),就會(huì)調(diào)用這些數(shù)據(jù)記錄,完成相應(yīng)的操作。比如如果要增加一條員工的記錄,就會(huì)在主界面中按照提示輸入員工的編號(hào),姓名等一系列的員工信

12、息,最終存儲(chǔ)到結(jié)構(gòu)體之中,修改的時(shí)候只需要輸入員工的編號(hào)就能進(jìn)行相應(yīng)的修改操作。</p><p>  三、總體設(shè)計(jì) 流程圖如下:</p><p><b>  四、詳細(xì)設(shè)計(jì)</b></p><p>  首先建立一個(gè)菜單函數(shù),顯示7個(gè)功能,供用戶選擇,進(jìn)行人機(jī)對(duì)話,設(shè)置一個(gè)排序的函數(shù)void list(),設(shè)置一個(gè)顯示的函數(shù)

13、,void display(),設(shè)置一個(gè)插入的函數(shù),void input(),設(shè)一個(gè)刪除的函數(shù),void del(),設(shè)一個(gè)查找的函數(shù),void lookup(),設(shè)置一個(gè)修改的函數(shù),void set()。最后退出程序界面。</p><p><b>  五、調(diào)試與測(cè)試</b></p><p>  調(diào)試是通過(guò)工具進(jìn)行異常或者數(shù)據(jù)的查看跟蹤,主要是用于看程序在執(zhí)行關(guān)鍵部的

14、數(shù)據(jù),或者查看斷點(diǎn)處異常通知,以解決問(wèn)題。測(cè)試指的方法,或者程序流程,主要體現(xiàn)在測(cè)試用例上。要通過(guò)測(cè)試和調(diào)試不斷地發(fā)現(xiàn)程序的錯(cuò)誤,解決問(wèn)題,最終使程序正確的運(yùn)行。</p><p>  六、關(guān)鍵源程序清單和執(zhí)行結(jié)果</p><p><b>  源程序:</b></p><p>  #include <iostream></p&g

15、t;<p>  using namespace std;</p><p>  struct worker//定義員工的結(jié)構(gòu)體數(shù)組 </p><p>  {char num[15];</p><p>  char name[15];</p><p>  char sex[5];</p><p>  char

16、 birth[15];</p><p>  char degree[15];</p><p>  char position[15];</p><p>  char tel[15];</p><p>  char address[15];</p><p>  void output();</p><

17、p>  };void worker::output()</p><p>  { cout<<num<<"\t"<<name<<"\t"<<sex<<"\t"<<birth<<"\t"<<degree<<&q

18、uot;\t"<<position<<"\t"<<tel<<"\t"<<address<<"\t"<<endl;</p><p><b>  }</b></p><p>  int i=0; //全局變量 統(tǒng)計(jì)個(gè)數(shù)

19、</p><p>  void input(struct worker a[] ); //輸入函數(shù)</p><p>  void show(struct worker a[]);//顯示數(shù)據(jù) </p><p>  void list(struct worker a[]); //排序函數(shù) </p><p>  void set(struct w

20、orker a[]); //修改函數(shù) </p><p>  void del(struct worker a[]); //刪除函數(shù) </p><p>  void display(struct worker a[]);//顯示函數(shù) </p><p>  void lookup(struct worker a[]);//查找函數(shù)</p><p>

21、;  //void statistics(struct thing a[]);//統(tǒng)計(jì)函數(shù)</p><p>  void main() </p><p>  {struct worker stu[50];//定義結(jié)構(gòu)體數(shù)組</p><p>  char number; </p><p><b>  do </b><

22、/p><p><b>  { </b></p><p>  cout<<"\n\t\t員工管理系統(tǒng)\n"; </p><p>  cout<<"\n☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆\n"; </p><p>  cout<<"

23、;\n\t\t請(qǐng)選擇功能\n\t\t0.退出\n\t\t1.錄入信息\n\t\t2.排序\n\t\t3.修改\n\t\t4.刪除\n\t\t5.查找\n\t\t6.顯示數(shù)據(jù)";</p><p>  cout<<"\n☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆\n"; </p><p>  cin>>number; </p&

24、gt;<p>  cout<<"\n******************\n\n"; </p><p>  switch (number) </p><p>  { case '0':break; //退出系統(tǒng)</p><p>  case '1':input(stu);break;

25、//錄入函數(shù)</p><p>  case '2':list(stu);break; //排序函數(shù)</p><p>  case '3':set(stu);break; //修改函數(shù)</p><p>  case '4':del(stu);break;//刪除函數(shù) </p><p>  cas

26、e '5':lookup(stu);break;//查找函數(shù)</p><p>  case '6' :display(stu);break;//顯示數(shù)據(jù)</p><p>  default:cout<<"此輸入無(wú)效!請(qǐng)重新輸入";</p><p><b>  } </b></

27、p><p><b>  }</b></p><p>  while(number!=0); </p><p>  cout<<"謝謝使用!下次再見(jiàn)!"; </p><p>  cout<<"\n"; </p><p><b> 

28、 } </b></p><p>  //***********************************************************</p><p>  void input(struct worker a[]) //錄入函數(shù) </p><p>  { //int j; </p><p><b>

29、;  char b; </b></p><p>  float sum=0; </p><p>  cout<<"請(qǐng)輸入員工信息\n"; </p><p><b>  do </b></p><p>  { cout<<"編號(hào):"; </p

30、><p>  cin>>a[i].num; </p><p>  cout<<"姓名:"; </p><p>  cin>>a[i].name; </p><p>  cout<<"性別"; </p><p>

31、;  cin>>a[i].sex;</p><p>  cout<<"出生年月:";</p><p>  cin>>a[i].birth; </p><p>  cout<<"學(xué)歷";</p><p>  cin>>a[i].degree;&l

32、t;/p><p>  cout<<"職務(wù)";</p><p>  cin>>a[i].position;</p><p>  cout<<"電話";</p><p>  cin>>a[i].tel;</p><p>  cout<

33、<"住址";</p><p>  cin>>a[i].address;</p><p><b>  i++; </b></p><p>  cout<<"是否繼續(xù)\n(y/n)?"; </p><p>  fflush(stdin); //

34、清空輸入緩沖區(qū)</p><p><b>  cin>>b; </b></p><p>  }while(b=='Y'||b=='y'); </p><p><b>  } </b></p><p>  //************************

35、***************************************</p><p>  void display(struct worker a[]) //顯示函數(shù) </p><p><b>  { int k; </b></p><p>  cout<<"編號(hào) 姓名 性別 出生年月 學(xué)歷 職務(wù)

36、 電話 住址"<<endl; </p><p>  for(k=0;k<i;k++) </p><p>  { cout<<a[k].num<<" "<<a[k].name<<" "<<a[k].sex<<" "<&l

37、t;a[k].birth<<" "<<a[k].degree<<" "<<a[k].position<<" "<<a[k].tel<<" "<<a[k].address<<endl; </p><p><b>

38、  } </b></p><p><b>  } </b></p><p>  //*************************************************************</p><p>  void lookup(struct worker a[]) //查找函數(shù)</p>&l

39、t;p>  {char k[20]; </p><p>  cout<<"請(qǐng)輸入要查找員工的編號(hào):";</p><p><b>  cin>>k;</b></p><p>  for(int l=0;l<i;l++)</p><p>  { int s=strcm

40、p(a[l].num,k);</p><p><b>  if(s==0)</b></p><p><b>  {</b></p><p>  cout<<a[l].num<<" "<<a[l].name<<" "<<a

41、[l].sex<<" "<<a[l].birth<<" "<<a[l].degree<<" "<<a[l].position<<" "<<a[l].tel<<" "<<a[l].sex<<"

42、; "<<a[l].address<<endl; </p><p><b>  }</b></p><p><b>  }</b></p><p><b>  } </b></p><p>  //**********************

43、********</p><p>  void list(struct worker a[]) //排序函數(shù) </p><p>  { int j,k; </p><p>  struct worker temp; </p><p>  for(k=1;k<i;k++) </p><p>  { for(j=

44、0;j<i-k;j++) </p><p>  { if(a[j].num>a[j+1].num) </p><p>  { temp=a[j]; </p><p>  a[j]=a[j+1]; </p><p>  a[j+1]=temp; </p><p><b>  } </b>

45、</p><p><b>  } </b></p><p><b>  } </b></p><p>  cout<<"排序后的員工信息如下\n"; </p><p>  display(a); </p><p><b>  } &l

46、t;/b></p><p>  //*********************************************************</p><p>  void set(struct worker a[])//修改函數(shù)</p><p>  { char b;</p><p>  {cout<<&

47、quot;輸入你要修改的員工編號(hào):";</p><p><b>  cin>>b;</b></p><p>  cout<<"輸入修改后員工信息:"<<endl;</p><p>  cin>>a[b].num;</p><p>  cout&

48、lt;<"編號(hào):";</p><p>  cin>>a[b].num;</p><p>  cout<<"姓名:";</p><p>  cin>>a[b].name;</p><p>  cout<<"性別:";</p&g

49、t;<p>  cin>>a[b].sex;</p><p>  cout<<"出生年月:";</p><p>  cin>>a[b].birth;</p><p>  cout<<"學(xué)歷:";</p><p>  cin>>a[

50、b].degree;</p><p>  cout<<"職務(wù):";</p><p>  cin>>a[b].position;</p><p>  cout<<"電話:";</p><p>  cin>>a[b].tel;</p><p

51、>  cout<<"住址:";</p><p>  cin>>a[b].address;</p><p>  cout<<"修改成功!"<<endl;</p><p><b>  }</b></p><p><b> 

52、 }</b></p><p>  //************************************************************</p><p>  void del(struct worker a[]) //刪除函數(shù) </p><p>  { char k[20];int j; </p><p> 

53、 cout<<"請(qǐng)輸入員工編號(hào):"; </p><p><b>  cin>>k; </b></p><p>  for(j=0;j<i;j++) </p><p>  { if(k==a[j].num) </p><p>  { for(int d=j;j<i;

54、d++)</p><p>  { strcpy(a[j].num,a[j+1].num);</p><p>  strcpy(a[d].name,a[d+1].name);</p><p>  strcpy(a[d].sex,a[d+1].sex);</p><p>  strcpy(a[d].birth,a[d+1].birth);&l

55、t;/p><p>  strcpy(a[d].degree,a[d+1].degree);</p><p>  strcpy(a[d].position,a[d+1].position);</p><p>  strcpy(a[d].tel,a[d+1].tel);</p><p>  strcpy(a[d].address,a[d+1].add

56、ress);</p><p><b>  }</b></p><p><b>  } </b></p><p><b>  } </b></p><p><b>  } i--;</b></p><p>  cout<<

溫馨提示

  • 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)論