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

下載本文檔

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

文檔簡(jiǎn)介

1、<p><b>  計(jì)算機(jī)與通信學(xué)院</b></p><p><b>  2011年秋季學(xué)期</b></p><p><b>  面向?qū)ο笳n程設(shè)計(jì)</b></p><p>  題 目:同學(xué)錄的設(shè)計(jì)與實(shí)現(xiàn) </p><p>  專(zhuān)業(yè)班級(jí):計(jì)算機(jī)科學(xué)與技術(shù)1班&l

2、t;/p><p>  姓 名: </p><p>  學(xué) 號(hào): </p><p>  指導(dǎo)教師: </p><p>  成 績(jī): </p><p><b>  摘要</b&

3、gt;</p><p>  通過(guò)設(shè)計(jì)一個(gè)《同學(xué)錄管理系統(tǒng)》,進(jìn)一步熟悉C++中類(lèi)的概念、基本知識(shí)和技能,類(lèi)的封裝、繼承的實(shí)現(xiàn)方式。掌握面向?qū)ο蟪绦蛟O(shè)計(jì)的基本思路和方法,并利用所學(xué)的基本知識(shí)和技能解決簡(jiǎn)單的面向?qū)ο蟮某绦蛟O(shè)計(jì)問(wèn)題。了解系統(tǒng)開(kāi)發(fā)的需求分析、類(lèi)層次設(shè)計(jì)、模塊分解、編碼測(cè)試、模塊組裝與整體調(diào)試的全過(guò)程,加深對(duì)C++的理解與Visual C++環(huán)境的使用:逐步熟悉程序設(shè)計(jì)的方法,并養(yǎng)成良好的編程習(xí)慣。<

4、;/p><p>  關(guān)鍵字:C++;添加;查詢(xún);修改;刪除</p><p><b>  目 錄</b></p><p><b>  一、需求分析4</b></p><p><b>  二、總體設(shè)計(jì)5</b></p><p>  1.設(shè)計(jì)類(lèi),對(duì)象及基本

5、數(shù)據(jù)類(lèi)型:5</p><p>  2.實(shí)現(xiàn)各模塊功能的相應(yīng)程序:6</p><p><b>  三、詳細(xì)設(shè)計(jì)8</b></p><p><b>  四、測(cè)試12</b></p><p><b>  五、設(shè)計(jì)總結(jié)15</b></p><p>&l

6、t;b>  參考文獻(xiàn)15</b></p><p><b>  致謝16</b></p><p><b>  附錄17</b></p><p><b>  一、需求分析</b></p><p>  以本班的同學(xué)的具體數(shù)據(jù)為背景,設(shè)計(jì)一個(gè)本班同學(xué)同學(xué)錄,要求

7、如下:</p><p>  (1) 錄入信息,必須包括:姓名,性別,電話(huà),家庭地址,郵編,E-mail等基本信息;</p><p> ?。?)修改信息,包括插入一條或多條信息,修改或者刪除某人的信息;</p><p> ?。?)查詢(xún)信息,可以按姓名,家庭住址,性別等多種方式查詢(xún);</p><p> ?。?)顯示所有信息 ;</p>

8、<p><b>  二、總體設(shè)計(jì)</b></p><p><b>  同學(xué)錄管理系統(tǒng)</b></p><p><b>  圖1</b></p><p>  數(shù)據(jù)結(jié)構(gòu)及各模塊分析:</p><p>  1.設(shè)計(jì)類(lèi),對(duì)象及基本數(shù)據(jù)類(lèi)型:</p><

9、p>  創(chuàng)建一個(gè)Classmates類(lèi),它有五個(gè)私有數(shù)據(jù)成員:</p><p>  string name;姓名</p><p>  string address;地址</p><p>  string number;電話(huà)號(hào)碼</p><p>  string post; 郵編</p&

10、gt;<p>  string email E-mail</p><p>  包含七個(gè)公有成員函數(shù):</p><p><b>  功能如下:</b></p><p>  char diaplay();首頁(yè)</p><p>  void add_person();添加同學(xué)<

11、;/p><p>  void del_person();刪除同學(xué)</p><p>  void show_all(); 顯示所有同學(xué)</p><p>  void alter();修改信息</p><p>  void inquiry();查詢(xún)同學(xué)</p><p>  void sav

12、e_new();保存新增加的同學(xué)</p><p>  在主函數(shù)main()之中,</p><p>  .Classmates obj; 創(chuàng)建名為obj的對(duì)象</p><p><b>  結(jié)構(gòu)體:</b></p><p>  struct record</p><p><b> 

13、?。?lt;/b></p><p>  Classmates object; object對(duì)象作為結(jié)構(gòu)體record的一個(gè)成員</p><p>  record *prior;定義一個(gè)指向前驅(qū)的結(jié)構(gòu)體指針</p><p>  record *next;定義一個(gè)指向后繼的結(jié)構(gòu)體指針</p><p><b>  }

14、;</b></p><p>  該結(jié)構(gòu)體是在alter()修改函數(shù)中用來(lái)處理相關(guān)信息的修改.</p><p>  字符串變量: str,record;</p><p>  字符變量: choose;</p><p>  布爾型變量: flag;</p><p>  數(shù)據(jù)保存方式以及格式:</p>

15、;<p>  該同學(xué)錄管理系統(tǒng)將把輸入的人員信息保存為pClassmates.txt 文本文件,在文件讀取時(shí)系統(tǒng)將會(huì)把該文件中相關(guān)信息讀出,并在屏幕上顯示出相關(guān)信息.</p><p>  2.實(shí)現(xiàn)各模塊功能的相應(yīng)程序:</p><p><b>  1.界面:</b></p><p><b>  display()<

16、/b></p><p><b>  {</b></p><p>  system("cls");</p><p>  cout<<endl;</p><p>  cout<<"\t\t------------------------------</p>

17、;<p><b>  ….. ……</b></p><p>  fflush(stdin);</p><p>  return choose;</p><p><b>  }</b></p><p><b>  添加同學(xué):</b></p><p

18、>  add_person()</p><p><b>  {</b></p><p>  cout<<endl<<"根據(jù)下面</p><p><b>  … …. … …</b></p><p>  .save_new()</p><p&

19、gt;<b>  {</b></p><p>  ofstream outData("pClassmates.txt", ios::app);</p><p>  if(!outData)</p><p><b>  … …</b></p><p>  outData.close

20、();</p><p><b>  }</b></p><p>  cout<<endl<<"新同學(xué)信息已經(jīng)保存好!!!"<<endl<<endl;</p><p>  system("pause");</p><p><b&g

21、t;  }</b></p><p><b>  刪除同學(xué)信息</b></p><p>  del_person()</p><p><b>  {</b></p><p>  ofstream outData("temp.txt", ios::out);</p&

22、gt;<p><b>  … …</b></p><p>  cout<<endl<<"這個(gè)人的信息已經(jīng)從你的同學(xué)錄中刪除!!!"<<endl<<endl;</p><p><b>  }</b></p><p>  system("

23、;pause");</p><p><b>  }</b></p><p><b>  顯示所有同學(xué)信息:</b></p><p>  show_all()</p><p><b>  {</b></p><p>  ifstream inDa

24、ta("pClassmates.txt",ios::in);</p><p><b>  … …</b></p><p>  cout<<"所有同學(xué)信息已經(jīng)全部顯示出來(lái)!!!"<<endl;</p><p><b>  }</b></p><

25、;p>  system("pause");</p><p><b>  }</b></p><p><b>  修改同學(xué)信息</b></p><p><b>  alter()</b></p><p><b>  {</b><

26、;/p><p>  ifstream inData("pClassmates.txt", ios::in);</p><p><b>  … …</b></p><p>  cout<<endl<<"信息已經(jīng)修改完成!!!"<<endl<<endl;</p

27、><p>  system("pause");</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  查詢(xún)同學(xué)信息</b></p><p><b>  select()<

28、;/b></p><p><b>  {</b></p><p>  ifstream inData("pClassmates.txt",ios::in);</p><p><b>  … …</b></p><p><b>  }</b></p

29、><p>  system("pause");</p><p><b>  }</b></p><p><b>  三、詳細(xì)設(shè)計(jì)</b></p><p><b>  詳細(xì)功能如下:</b></p><p><b>  A,添加:

30、</b></p><p>  系統(tǒng)將提示用戶(hù)輸入新添加人員信息,輸入到文件中,人員信息數(shù)據(jù)包括姓名,電話(huà)號(hào)碼 ,郵箱,郵編,地址.</p><p><b>  B,刪除:</b></p><p>  首先由用戶(hù)輸入要?jiǎng)h除的人員的姓名或者電話(huà)號(hào)碼,然后調(diào)用刪除函數(shù),刪除該人員的所有相關(guān)資料.</p><p> 

31、 C,顯示所有人員信息:</p><p>  該功能將顯示已經(jīng)保存的所有人員的姓名,電話(huà), ,郵編及地址.</p><p><b>  D,修改:</b></p><p>  首先由用戶(hù)輸入要修改的人員姓名或者電話(huà)號(hào)碼,然后系統(tǒng)用修改函數(shù)查找,顯示該名同學(xué)的資料,然后系統(tǒng)提示用戶(hù)輸入需要修改的人員的相關(guān)信息.并用雙向鏈表來(lái)實(shí)現(xiàn)修改功能</

32、p><p><b>  E,查詢(xún):</b></p><p>  可由用戶(hù)輸入要查找的人員姓名或電話(huà)號(hào)碼,然后系統(tǒng)用查找函數(shù)查找,接著系統(tǒng)使用相關(guān)文件命令輸出所查找的人員的全部信息.</p><p><b>  F,退出系統(tǒng)</b></p><p>  關(guān)閉同學(xué)錄管理系統(tǒng).</p><

33、p>  菜單用于選擇各項(xiàng)功能:</p><p><b>  其中包括:</b></p><p>  .a:添加新同學(xué); </p><p><b>  .b:刪除同學(xué);</b></p><p>  .c:顯示所有人員信息;</p><p>  .d:修改人員信息;<

34、/p><p>  .e: 查詢(xún)同學(xué); </p><p><b>  .f:關(guān)閉同學(xué)錄.</b></p><p>  采用面向?qū)ο蟮某绦蛟O(shè)計(jì)方法,a,b,c,d,e,這五項(xiàng)菜單都調(diào)用一個(gè)函數(shù)來(lái)實(shí)現(xiàn).</p><p>  void Classmates::alter()</p><p>&l

35、t;b>  {</b></p><p>  ifstream inData("pClassmates.txt", ios::in); </p><p>  //打開(kāi)文件pClassmates.txt,進(jìn)行讀操作</p><p>  if(!inData)//判斷文件打開(kāi)是否成功</p><p><b

36、>  {</b></p><p>  cout<<endl<<"對(duì)不起不能打開(kāi)文件!!!"<<endl<<endl;</p><p>  //如果打開(kāi)失敗,輸出 “對(duì)不起不能打開(kāi)文件!!!”</p><p>  system("pause");//屏幕暫停<

37、;/p><p><b>  return;</b></p><p><b>  } </b></p><p>  string sign;//定義字符串變量sign</p><p>  cout<<endl<<"請(qǐng)輸入你想要修改的同學(xué)</p><

38、;p>  的姓名或電話(huà)號(hào)碼:";</p><p>  cin>>sign;//輸入變量sign</p><p>  fflush(stdin);//清空緩沖區(qū)</p><p>  record *H=new record;</p><p>  //新建結(jié)構(gòu)體指針變量H,并為其分配空間</p&

39、gt;<p>  record *p=H;//使p指針指向指針H</p><p>  record *q=H;//使q指針也指向指針H</p><p>  bool flag=true;//定義布爾型變量flag.</p><p>  while(inData>>p->object.name>>p->object.n

40、umber>></p><p>  p->object.qq >>p->object.post>>p->object.address)</p><p>  //讀取文件中一個(gè)人的信息</p><p><b>  {</b></p><p>  p->next=n

41、ew record; //建立雙向鏈表</p><p>  p=p->next;</p><p>  p->prior=q;</p><p>  q->next=p;</p><p><b>  q=p;</b></p><p><b>  }</

42、b></p><p>  p->next=NULL;//使p的next成員指向NULL.</p><p>  inData.close();//關(guān)閉pClassmates.txt文件</p><p>  p=H;//使指針變量P指向結(jié)構(gòu)指針H的頭節(jié)點(diǎn)</p><p>  while(p)//當(dāng)p不為空時(shí)</p>&l

43、t;p><b>  {</b></p><p>  if((p->object.name==sign)||(p->object.number==sign))</p><p>  //判斷輸入是否為空.</p><p><b>  {</b></p><p><b>  i

44、f(flag)</b></p><p><b>  {</b></p><p>  cout<<endl<<"你想修改你同學(xué)的信息如下:"<<endl<<endl; </p><p>  cout<<setiosflags(ios::

45、left)<<setw(17)</p><p>  <<p->object.name<<""<<setw(16)</p><p>  <<p->object.number<<" "<<setw(18)</p><p>  <&

46、lt;p->object.qq <<" "<<setw(14)</p><p>  <<p->object.post<<""<<setw(20)</p><p>  <<p->object.address<<endl;</p><

47、p>  //輸出要修改的人的信息</p><p>  flag=false;</p><p><b>  }</b></p><p>  cout<<endl<<"請(qǐng)根據(jù)下面提示修改信息 : "<<endl;</p><p>  cout<<&qu

48、ot;姓名 :" ;</p><p>  cin>>p->object.name;</p><p>  fflush(stdin);</p><p>  cout<<"電話(huà)號(hào):";</p><p>  cin>>p->object.number;</p>

49、;<p>  fflush(stdin);</p><p>  cin>>p->object.qq;</p><p>  fflush(stdin);</p><p>  cout<<"郵編 :";</p><p>  cin>>p->object.post;

50、</p><p>  fflush(stdin);</p><p>  cout<<"地址 :";</p><p>  cin>>p->object.address;</p><p>  fflush(stdin);</p><p><b>  break;

51、</b></p><p>  //根據(jù)提示進(jìn)行修改</p><p><b>  } </b></p><p>  p=p->next;//使結(jié)構(gòu)體指針p指向該指針的末尾</p><p><b>  } </b></p><p><b

52、>  if(flag)</b></p><p><b>  {</b></p><p>  cout<<endl<<"你的同學(xué)錄中沒(méi)有你找的聯(lián)人!!!";</p><p>  cout<<endl<<endl;</p><p>  sy

53、stem("pause");</p><p><b>  return;</b></p><p><b>  }</b></p><p><b>  else</b></p><p><b>  {</b></p><

54、;p>  ofstream out("pClassmates.txt",ios::out);</p><p>  //打開(kāi)文件pClassmates.txt,進(jìn)行寫(xiě)操作 </p><p>  if (!out)//判斷文件打開(kāi)是否成功打開(kāi)</p><p><b>  {</b></p><

55、;p>  cout <<endl <<"對(duì)不起!!!不能打開(kāi)文件!!!!" <<endl;</p><p>  system("pause");</p><p><b>  return;</b></p><p>  } </p>

56、;<p>  p=H; //使結(jié)構(gòu)體指針p指向被修改的人的記錄的首地址.</p><p>  while(p)//如果p不為空,則執(zhí)行以下語(yǔ)句</p><p><b>  {</b></p><p>  out<<setiosflags(ios::left)<<setw(17)<<p->o

57、bject.name </p><p>  <<" "<<setw(16)<<p->object.number </p><p>  <<" "<<setw(18)<<p->object.qq</p><p>  <<"

58、"<<setw(14)<<p->object.post</p><p>  <<" "<<setw(20)<<p->object.address<<endl;</p><p>  將修改后的信息保存到原來(lái)位置</p><p>  p=p->next

59、;//使用p指針指向其本身的末尾</p><p><b>  }</b></p><p>  out.close();//關(guān)閉pClassmates.txt文件</p><p>  cout<<endl<<"信息已經(jīng)修改完成!!!"<<endl<<endl;</p>

60、<p>  system("pause");//屏幕暫停</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  四、測(cè)試</b></p><p><b>  進(jìn)入主頁(yè)如圖2所示&l

61、t;/b></p><p><b>  圖2</b></p><p><b>  信息添加如圖3所示</b></p><p><b>  圖3</b></p><p><b>  信息瀏覽如圖4所示</b></p><p>&

62、lt;b>  圖4</b></p><p><b>  信息查詢(xún)?nèi)鐖D5所示</b></p><p><b>  圖5</b></p><p><b>  圖6</b></p><p><b>  信息修改如圖7所示</b></p&g

63、t;<p><b>  圖7</b></p><p><b>  五、設(shè)計(jì)總結(jié)</b></p><p>  通過(guò)這三周的課程設(shè)計(jì),我學(xué)到了在理論課中學(xué)不到的內(nèi)容,同時(shí)發(fā)現(xiàn)候動(dòng)手實(shí)踐比學(xué)習(xí)理論知識(shí)重要得多??蠢碚摰臇|西貌似很有道理,但一上機(jī)實(shí)踐,發(fā)現(xiàn)完全不是那么回事。書(shū)看得再多,以上機(jī)你還是會(huì)發(fā)現(xiàn)一些很小的但又很重要的錯(cuò)誤,而程序是容

64、不得半點(diǎn)錯(cuò)的,這也是我最近實(shí)踐所學(xué)到的。</p><p>  勇于向老師,同學(xué)請(qǐng)教,也是得以完成課程設(shè)計(jì)的重要因素,還有,圖書(shū)館豐富的參考書(shū)也給了我很大幫助。</p><p>  在此次的課程設(shè)計(jì)中,搞清楚了一些以前不明白的問(wèn)題,同時(shí)發(fā)現(xiàn)面向?qū)ο蟪绦蛟O(shè)計(jì)還有太多的東西值得學(xué)習(xí)。在以后的學(xué)習(xí)與實(shí)踐中,定會(huì)要嚴(yán)格要求自己,學(xué)習(xí)到更多的知識(shí)。扎實(shí)的學(xué)習(xí)基礎(chǔ)知識(shí),提高解決問(wèn)題和調(diào)試程序的能力。&l

65、t;/p><p><b>  參考文獻(xiàn)</b></p><p>  [1]初小璐.完全掌握SQL Server 2000 [M] 機(jī)械工業(yè)出版社,2004</p><p>  [2]Jeraod V.Post.數(shù)據(jù)庫(kù)管理系統(tǒng)(英文版.第三版)[美]清華大學(xué)出版社,2006.1</p><p>  [3]張海藩.軟件工程導(dǎo)

66、論[M].北京:清華大學(xué)出版社,1998.</p><p>  [4]謝希仁.計(jì)算機(jī)網(wǎng)絡(luò)(第二版)[M].北京:電子工業(yè)出版社,2003.6 </p><p>  [5]戴志誠(chéng),趙國(guó)峰.JSP信息化系統(tǒng)建設(shè)案例[M].北京:人民郵電出版社,2006.12</p><p>  [6]成曉靜,畢靖.網(wǎng)頁(yè)設(shè)計(jì)三劍客完全學(xué)習(xí)手冊(cè)[M].北京:中國(guó)電力出版社,2004.11&

67、lt;/p><p>  [7]趙強(qiáng).精通JSP編程[M].北京:電子工業(yè)出版社,2006.3</p><p>  [8]薩師煊,王珊.數(shù)據(jù)庫(kù)系統(tǒng)概論[M].北京:高等教育出版社,2002.2</p><p>  [9]張海藩,李勁,謝兆陽(yáng).SQL Server2000數(shù)據(jù)庫(kù)設(shè)計(jì)與系統(tǒng)管理[M].北京:清華大學(xué)出版社,2000.9</p><p>

68、  [10]劉禾,蔡鋒.Web數(shù)據(jù)庫(kù)假設(shè)技巧[M].北京:科技技術(shù)出版社,1999.4</p><p>  [11]徐建波. Internet與Web設(shè)計(jì)教程[M].北京:中國(guó)礦業(yè)大學(xué)出版社,2000.12</p><p>  [12]于書(shū)舉,許向眾.數(shù)據(jù)庫(kù)設(shè)計(jì)與開(kāi)發(fā)教程[M].北京:電子工業(yè)出版社,2003.11</p><p>  [13]安海忠,李文斌,林旭新

69、.商業(yè)網(wǎng)站建設(shè)與管理[M].北京:人民交通出版社,2006.8</p><p>  [14]T.Umeda and S.Hagiwara.web-based database for EPR centers in semiconductors[J].BPhysica B:Condensed Matter,3(7),249-252,2006.3</p><p>  [15]Yih-Ling

70、Hedley,Muhammad Younas.Sampling,information extraction and summarisation of Hidden Web databases[J].Data & Knowledge Engineering,In Press,Uncorrected Proof,Available online 10 March 2006.2</p><p><b&g

71、t;  致謝</b></p><p>  對(duì)于這樣一個(gè)編程,要付出很多的勞動(dòng),在此我向在此次課程設(shè)計(jì)時(shí)對(duì)我伸出援助之手的周小健老師,還有幫助我的同學(xué)們。這個(gè)軟件的實(shí)現(xiàn)固然需要自身的努力,當(dāng)然也離不開(kāi)同學(xué)們與老師的幫助與講解。缺少了這些也許我的程序就無(wú)法調(diào)試完成。謝謝老師和同學(xué)們的幫助與講解。</p><p><b>  附錄</b></p>

72、<p><b>  源代碼</b></p><p>  #include <iostream> </p><p>  #include<string></p><p>  #include <cstring> //使用CString對(duì)字符串的操作更直接。如:CString型轉(zhuǎn)化成int型<

73、;/p><p>  #include <fstream> //文件流,主要提供操作文件函數(shù)</p><p>  using namespace std; </p><p>  const int m=100;</p><p><b>  int i; </b></p><p>  st

74、ruct student1 </p><p><b>  { </b></p><p>  long num; </p><p>  char name[20]; // 自動(dòng)申請(qǐng)內(nèi)存空間,用完自動(dòng)釋放內(nèi)存空間,下同</p><p><b>  int age; </b>&

75、lt;/p><p>  char sex[10]; </p><p>  long year; </p><p>  int month; </p><p>  char address[20]; </p><p>  string phonenumber; </p><p>  char emai

76、l[100]; </p><p><b>  }; </b></p><p>  class student2 //定義類(lèi)</p><p><b>  { </b></p><p><b>  public: </b></p>&l

77、t;p>  void add(); //添加錄入函數(shù)</p><p>  void display(); // 申明一個(gè)名為display 的顯示輸出函數(shù)</p><p>  void inquiry(); //查詢(xún)信息函數(shù)</p><p>  void sort();

78、 //排序信息函數(shù)</p><p>  void del(); //刪除信息函數(shù)</p><p>  void update(); //修改信息函數(shù)</p><p>  void face(); //界面瀏覽函數(shù)</p><p>  v

79、oid tishi(); //提示用戶(hù)下一步操作函數(shù)</p><p>  void quit(); //退出操作函數(shù)</p><p>  protected: </p><p>  student1 stud[m]; </p><p>  int renshu; </p>

80、;<p><b>  }; </b></p><p>  //對(duì)同學(xué)信息的錄入</p><p>  void student2::add() </p><p><b>  { </b></p><p>  ofstream outfile("C:\\classmates.tx

81、t",ios::binary); </p><p>  //建立classmates.txt 文件,用于存儲(chǔ)錄入的內(nèi)容,并以二進(jìn)制的方式進(jìn)行存儲(chǔ)</p><p>  if(!outfile) //如果目錄不存在</p><p><b>  { </b

82、></p><p>  cerr<<"對(duì)不起,文件打開(kāi)失敗!"<<endl; //報(bào)錯(cuò)</p><p>  abort(); //程序異常終止進(jìn)程</p><p><b>  } <

83、;/b></p><p>  cout<<"請(qǐng)輸入你們班人數(shù):"; </p><p>  cin>>renshu;</p><p>  cout<<endl<<endl;</p><p>  for(i=0;i<renshu;i++) </p>

84、<p>  //用for循環(huán)語(yǔ)句實(shí)現(xiàn)對(duì)同學(xué)姓名,年齡,性別,出生年月,地址,電話(huà)等添加錄入</p><p><b>  { </b></p><p>  cout<<"這是第"<<(i+1)<<"個(gè)同學(xué)的信息:"<<endl; </p><p>

85、;  cout<<"學(xué)號(hào):"; </p><p>  cin>>stud[i].num; </p><p>  cout<<"姓名:"; </p><p>  cin>>stud[i].name; </p><p>  cout<<"

86、年齡:"; </p><p>  cin>>stud[i].age; </p><p>  cout<<"性別:"; </p><p>  cin>>stud[i].sex; </p><p>  cout<<"出生年月:"<<end

87、l; </p><p>  cout<<"年:"; </p><p>  cin>>stud[i].year; </p><p>  cout<<"月:"; </p><p>  cin>>stud[i].month; </p><p&

88、gt;  cout<<"地址:"; </p><p>  cin>>stud[i].address; </p><p>  cout<<"電話(huà):"; </p><p>  cin>>stud[i].phonenumber; </p><p>  cout&

89、lt;<"email:"; </p><p>  cin>>stud[i].email; </p><p>  cout<<endl<<endl; </p><p>  outfile.write((char*)&stud[i],sizeof(student1)); </p>&

90、lt;p>  //將&stud[i]指針?biāo)赶虻膬?nèi)容輸出,每次輸出的數(shù)據(jù)單元占sizeof(student1)個(gè)字節(jié)</p><p><b>  } </b></p><p>  outfile.close(); //輸出文件關(guān)閉</p><p><b> 

91、 } </b></p><p>  //對(duì)同學(xué)信息的顯示</p><p>  void student2::display() </p><p><b>  { </b></p><p>  student1 s[m]; </p><p>  ifstream infile("

92、;C:\\classmates.txt",ios::binary); //將信息從硬盤(pán)中調(diào)到內(nèi)存中</p><p>  if(!infile) </p><p><b>  { </b></p><p>  cerr<<"對(duì)不起,打開(kāi)失敗!"<<endl; </p>

93、<p>  abort(); //終止</p><p><b>  } </b></p><p>  for(i=0;i<renshu;i++) </p><p>  infile.read((char*)&s[i],sizeof(stude

94、nt1)); </p><p>  //一旦讀取成功,循環(huán)讀取&s[i]指針?biāo)傅膬?nèi)容,輸出的數(shù)據(jù)占sizeof(student1))字節(jié)</p><p>  infile.close(); </p><p>  for(i=0;i<renshu;i++) //循環(huán)輸出</

95、p><p><b>  { </b></p><p>  cout<<"第"<<(i+1)<<"個(gè)同學(xué)的信息:"<<endl; </p><p>  cout<<"學(xué)號(hào):"<<s[i].num<<endl;

96、 </p><p>  cout<<"姓名:"<<s[i].name<<endl; </p><p>  cout<<"年齡:"<<s[i].age<<endl; </p><p>  cout<<"性別:"<<

97、s[i].sex<<endl; </p><p>  cout<<"出生年月:"<<endl; </p><p>  cout<<"年:"<<s[i].year<<endl; </p><p>  cout<<"月:"<

98、;<s[i].month<<endl; </p><p>  cout<<"地址:"<<s[i].address<<endl; </p><p>  cout<<"電話(huà):"<<s[i].phonenumber<<endl; </p><p&g

99、t;  cout<<"Email:"<<s[i].email<<endl; </p><p>  cout<<endl<<endl; </p><p><b>  } </b></p><p><b>  } </b></p>&

100、lt;p>  //對(duì)同學(xué)信息的查詢(xún)</p><p>  void student2::inquiry() </p><p><b>  { </b></p><p>  int m,flag=0; </p><p><b>  long n; </b></p><p>

101、  char xm[20]; </p><p>  cout<<"1.按學(xué)號(hào)查詢(xún);2.按姓名查詢(xún).請(qǐng)選擇!"<<endl; </p><p><b>  cin>>m; </b></p><p><b>  if(m==1) </b></p><p

102、><b>  { </b></p><p>  cout<<"請(qǐng)輸入學(xué)號(hào):"; </p><p><b>  cin>>n; </b></p><p>  cout<<endl<<endl; </p><p>  for(i=

103、0;i<renshu;i++) </p><p><b>  { </b></p><p>  if(stud[i].num==n) </p><p><b>  { </b></p><p>  cout<<"這是第"<<(i+1)<<

104、"個(gè)同學(xué)的信息"<<endl; </p><p>  cout<<"學(xué)號(hào):"<<stud[i].num<<endl; </p><p>  cout<<"姓名:"<<stud[i].name<<endl; </p><p>

105、  cout<<"年齡:"<<stud[i].age<<endl; </p><p>  cout<<"性別:"<<stud[i].sex<<endl; </p><p>  cout<<"出生年月:"<<endl; </p>

106、;<p>  cout<<"年:"<<stud[i].year<<endl; </p><p>  cout<<"月:"<<stud[i].month<<endl; </p><p>  cout<<"地址:"<<stud

107、[i].address<<endl; </p><p>  cout<<"電話(huà):"<<stud[i].phonenumber<<endl; </p><p>  cout<<"Email:"<<stud[i].email<<endl; </p><

108、p>  flag=1; //用flag提示用戶(hù)是否查到信息</p><p><b>  } </b></p><p><b>  } </b></p><p>  if(flag==0) //0表示沒(méi)有查到</p><p>  cout<

109、<"沒(méi)有您要查詢(xún)的信息!"<<endl; </p><p><b>  } </b></p><p><b>  if(m==2) </b></p><p><b>  { </b></p><p>  cout<<"

110、請(qǐng)輸入姓名:"<<endl; </p><p>  cin>>xm; //輸入姓名</p><p>  for(i=0;i<renshu;i++) </p><p><b>  { </b></p><p>  if(strcmp(stud[i].n

111、ame,xm)==0) //strcmp用來(lái)比較字符串name和xm </p><p><b>  { </b></p><p>  cout<<"這是第"<<(i+1)<<"個(gè)同學(xué)的信息"<<endl; </p><p>  cout<<

112、;"學(xué)號(hào):"<<stud[i].num<<endl; </p><p>  cout<<"姓名:"<<stud[i].name<<endl; </p><p>  cout<<"年齡:"<<stud[i].age<<endl; <

113、/p><p>  cout<<"性別:"<<stud[i].sex<<endl; </p><p>  cout<<"出生年月:"<<endl; </p><p>  cout<<"年:"<<stud[i].year<&l

114、t;endl; </p><p>  cout<<"月:"<<stud[i].month<<endl; </p><p>  cout<<"地址:"<<stud[i].address<<endl; </p><p>  cout<<"

115、電話(huà):"<<stud[i].phonenumber<<endl; </p><p>  cout<<"Email:"<<stud[i].email<<endl; </p><p><b>  flag=1; </b></p><p><b>  

116、} </b></p><p><b>  } </b></p><p>  if(flag==0) </p><p>  cout<<"沒(méi)有您要查詢(xún)的信息!"<<endl; </p><p><b>  } </b></p>&l

117、t;p><b>  } </b></p><p>  //對(duì)同學(xué)信息的排序</p><p>  void student2::sort() </p><p><b>  { </b></p><p>  int a[m],j,t; //利用冒泡法進(jìn)行排序</p

118、><p>  for(i=0;i<renshu;i++) </p><p><b>  a[i]=i; </b></p><p>  for(i=0;i<renshu;i++) </p><p><b>  { </b></p><p>  for(j=0;j<

119、renshu-1-i;j++) </p><p><b>  { </b></p><p>  if(stud[a[j]].num>stud[a[j+ 1]].num) //若前面學(xué)號(hào)比后面大,則交換</p><p><b>  { </b></p><p><b>  t=a[j

120、]; </b></p><p>  a[j]=a[j+ 1]; </p><p>  a[j+ 1]=t; </p><p><b>  } </b></p><p><b>  } </b></p><p><b>  } </b><

121、/p><p>  cout<<"這是排序后的信息:"<<endl; </p><p>  for(i=0;i<renshu;i++) </p><p><b>  { </b></p><p>  cout<<"這是第"<<(i+1

122、)<<"個(gè)同學(xué)的信息"<<endl; </p><p>  cout<<"學(xué)號(hào):"<<stud[a[i]].num<<endl; </p><p>  cout<<"姓名:"<<stud[a[i]].name<<endl; </p

123、><p>  cout<<"年齡:"<<stud[a[i]].age<<endl; </p><p>  cout<<"性別:"<<stud[a[i]].sex<<endl; </p><p>  cout<<"出生年月:"&l

124、t;<endl; </p><p>  cout<<"年:"<<stud[a[i]].year<<endl; </p><p>  cout<<"月:"<<stud[a[i]].month<<endl; </p><p>  cout<<

125、"地址:"<<stud[a[i]].address<<endl; </p><p>  cout<<"電話(huà):"<<stud[a[i]].phonenumber<<endl; </p><p>  cout<<"Email:"<<stud[a[i]]

126、.email<<endl; </p><p>  cout<<endl<<endl; </p><p><b>  } </b></p><p><b>  } </b></p><p>  //對(duì)同學(xué)信息的刪除</p><p>  voi

127、d student2::del() </p><p><b>  { </b></p><p>  int j,a[m],t,flag=0; </p><p><b>  long n; </b></p><p>  char na[20]; </p><p>  for(i

128、=0;i<renshu;i++) </p><p>  {a[i]=i;} </p><p>  cout<<"1.按學(xué)號(hào)刪除;2.按姓名刪除."; </p><p>  cout<<"請(qǐng)您做出選擇!"<<endl; </p><p><b>  ci

129、n>>j; </b></p><p><b>  if(j==1) </b></p><p><b>  { </b></p><p>  cout<<"輸入您要?jiǎng)h除的學(xué)號(hào):"; </p><p><b>  cin>>n

130、; </b></p><p>  for(i=0;i<renshu;i++) </p><p><b>  { </b></p><p>  if(stud[i].num==n) </p><p><b>  { </b></p><p><b>

131、  t=i; </b></p><p><b>  flag=1; </b></p><p>  cout<<"查到您要?jiǎng)h除的同學(xué)信息!"<<endl; </p><p>  cout<<endl<<endl; </p><p>  cout

132、<<"刪除后的同學(xué)信息為:"<<endl; </p><p>  for( ;t<renshu;t++) </p><p><b>  { </b></p><p>  a[t]=t+1; </p><p><b>  } </b></p>

133、;<p>  for(i=0;i<renshu-1;i++) </p><p><b>  { </b></p><p>  cout<<"這是第"<<(i+1)<<"個(gè)同學(xué)的信息"<<endl; </p><p>  cout<&

134、lt;"學(xué)號(hào):"<<stud[a[i]].num<<endl; </p><p>  cout<<"姓名:"<<stud[a[i]].name<<endl; </p><p>  cout<<"年齡:"<<stud[a[i]].age<<

135、;endl; </p><p>  cout<<"性別:"<<stud[a[i]].sex<<endl; </p><p>  cout<<"出生年月:"<<endl; </p><p>  cout<<"年:"<<stud

136、[a[i]].year<<endl; </p><p>  cout<<"月:"<<stud[a[i]].month<<endl; </p><p>  cout<<"地址:"<<stud[a[i]].address<<endl; </p><p&

137、gt;  cout<<"電話(huà):"<<stud[a[i]].phonenumber<<endl; </p><p>  cout<<"Email:"<<stud[a[i]].email<<endl; </p><p>  cout<<endl<<endl;

138、</p><p><b>  } </b></p><p><b>  } </b></p><p><b>  } </b></p><p>  if(flag==0) </p><p><b>  { </b></p>

139、;<p>  cout<<"沒(méi)有查到您要?jiǎng)h除的信息!"<<endl; </p><p><b>  } </b></p><p><b>  } </b></p><p><b>  if(j==2) </b></p><p

140、><b>  { </b></p><p>  cout<<"輸入您要?jiǎng)h除的姓名:"; </p><p><b>  cin>>na; </b></p><p>  for(i=0;i<renshu;i++) </p><p><b>

141、;  { </b></p><p>  if(strcmp(stud[i].name,na)==0) //strcmp用來(lái)比較字符串</p><p><b>  { </b></p><p><b>  t=i; </b></p><p><b>  flag=1; &l

142、t;/b></p><p>  cout<<"查到您刪除的同學(xué)信息!"<<endl; </p><p>  cout<<endl<<endl; </p><p>  cout<<"刪除后的同學(xué)信息為:"<<endl; </p><

143、p>  for( ;t<renshu;t++) </p><p><b>  { </b></p><p>  a[t]=t+1; </p><p><b>  } </b></p><p>  for(i=0;i<renshu-1;i++) </p><p&g

144、t;<b>  { </b></p><p>  cout<<"這是第"<<(i+1)<<"個(gè)同學(xué)的信息"<<endl; </p><p>  cout<<"學(xué)號(hào):"<<stud[a[i]].num<<endl; </p

145、><p>  cout<<"姓名:"<<stud[a[i]].name<<endl; </p><p>  cout<<"年齡:"<<stud[a[i]].age<<endl; </p><p>  cout<<"性別:"<

146、;<stud[a[i]].sex<<endl; </p><p>  cout<<"出生年月:"<<endl; </p><p>  cout<<"年:"<<stud[a[i]].year<<endl; </p><p>  cout<<

147、"月:"<<stud[a[i]].month<<endl; </p><p>  cout<<"地址:"<<stud[a[i]].address<<endl; </p><p>  cout<<"電話(huà):"<<stud[a[i]].phonenumb

148、er<<endl; </p><p>  cout<<"Email:"<<stud[a[i]].email<<endl; </p><p>  cout<<endl<<endl; </p><p><b>  } </b></p><

149、p><b>  } </b></p><p><b>  } </b></p><p>  if(flag==0) </p><p><b>  { </b></p><p>  cout<<"沒(méi)有查到您要?jiǎng)h除同學(xué)的信息!"<<

150、endl; </p><p><b>  } </b></p><p><b>  } </b></p><p><b>  } </b></p><p>  //對(duì)同學(xué)信息的修改</p><p>  void student2::update() &l

151、t;/p><p><b>  { </b></p><p>  int n,flag=0; </p><p>  char na[20]; </p><p><b>  int a; </b></p><p>  char s[10]; </p><p>

152、<b>  long y; </b></p><p><b>  int m; </b></p><p>  char add[30]; </p><p>  long phn; </p><p>  char e[100]; </p><p>  cout<<&

153、quot;輸入您要修改的同學(xué)學(xué)號(hào):"; </p><p><b>  cin>>n; </b></p><p>  for(i=0;i<renshu;i++) </p><p><b>  { </b></p><p>  if(stud[i].num==n) </

154、p><p><b>  { </b></p><p>  cout<<"新的姓名:"; </p><p><b>  cin>>na; </b></p><p>  strcpy(stud[i].name,na); </p><p> 

155、 cout<<"新的年齡:"; </p><p><b>  cin>>a; </b></p><p>  stud[i].age=a; </p><p>  cout<<"新的性別:"; </p><p><b>  cin>&

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論