2023年全國(guó)碩士研究生考試考研英語(yǔ)一試題真題(含答案詳解+作文范文)_第1頁(yè)
已閱讀1頁(yè),還剩24頁(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>  《C++語(yǔ)言程序設(shè)計(jì)》</p><p><b>  課題設(shè)計(jì)報(bào)告</b></p><p>  課題名稱: 學(xué)生信息查詢系統(tǒng) </p><p>  課程序設(shè)計(jì)目的(根據(jù)情況寫)</p><p> ?。?)了解數(shù)據(jù)的處理,了解基本的程序控制語(yǔ)句,了解表達(dá)式和運(yùn)算符的使用;</p>&l

2、t;p> ?。?)了解函數(shù)的定義及其調(diào)用(如傳值、引用、嵌套、遞歸的調(diào)用),了解函數(shù)變量作用域與其存儲(chǔ)類型;</p><p>  (3)學(xué)會(huì)構(gòu)造數(shù)據(jù)類型(如結(jié)構(gòu)體、共用體類型)及預(yù)編處理,熟練掌握指針的使用,理清指針與指針變量的區(qū)別,了解指針與數(shù)組及指針與函數(shù)的內(nèi)在聯(lián)系,熟練掌握指向結(jié)構(gòu)體指針的使用。</p><p> ?。?)以學(xué)生信息管理為應(yīng)用背景,建立學(xué)生信息管理程序。程序?qū)崿F(xiàn)

3、對(duì)學(xué)生信息的增加、查詢、刪除、排序、顯示、修改幾項(xiàng)功能。用函數(shù)分別實(shí)現(xiàn)動(dòng)態(tài)鏈表的創(chuàng)建,節(jié)點(diǎn)的查找、刪除、修改,節(jié)點(diǎn)的排序,動(dòng)態(tài)鏈表輸出功能。并且學(xué)會(huì)使用文件的保存,使用指針作函數(shù)形參,主函數(shù)分別調(diào)用各函數(shù)。</p><p><b>  開(kāi)發(fā)環(huán)境</b></p><p> ?。?)系統(tǒng)環(huán)境:Windows XP,Windows 7</p><p>

4、; ?。?)編程環(huán)境:Visual C++.NET,Visual C++ 6.x,Visual Studio 2005,Visual Studio 2010……….等。</p><p><b>  實(shí)現(xiàn)過(guò)程</b></p><p>  C++編程基礎(chǔ)知識(shí)介紹</p><p>  輸入:用來(lái)在程序執(zhí)行期間給變量輸入數(shù)據(jù);一般格式cin>&

5、gt;變量名1《>>變量名2>>…>>變量名n》; “>>”稱為提取運(yùn)算符</p><p>  輸出:實(shí)現(xiàn)將數(shù)據(jù)輸出到顯示器的操作;一般格式:cout<<表達(dá)式1《<<表達(dá)式2<<…<<表達(dá)式n》;“<<”稱為插入運(yùn)算符。</p><p>  數(shù)據(jù)類型:對(duì)數(shù)據(jù)類型定義是非常重要的,它

6、可以為數(shù)據(jù)在內(nèi)存中分配適合的存儲(chǔ)區(qū)域、確定數(shù)據(jù)范圍,并且可以規(guī)定數(shù)據(jù)所能進(jìn)行的有效操作;</p><p>  1:對(duì)數(shù)據(jù)類型的分類有:</p><p>  2:常量和變量:變量(variable):取值在程序的執(zhí)行過(guò)程中可改變值的量;常量(constant):取值在程序的執(zhí)行過(guò)程中始終保持不變的量。又分為文字常量(literal constant)常變量(也稱為符號(hào)常量)</p>

7、;<p>  3:運(yùn)算符和表達(dá)式:包括C++運(yùn)算符、優(yōu)先級(jí)和結(jié)合性 ;基本運(yùn)算符及其表達(dá)式(即算術(shù)運(yùn)算符及算符表達(dá)式;賦值運(yùn)算符與賦值表達(dá)式;自增、自減運(yùn)算;邏輯運(yùn)算、邏輯表達(dá)式及其求值優(yōu)化;位運(yùn)算;逗號(hào)運(yùn)算符與逗號(hào)表達(dá)式;sizeof( )運(yùn)算符) ; 語(yǔ)句(包括表達(dá)式語(yǔ)句;表達(dá)式; 空語(yǔ)句;復(fù)合語(yǔ)句{若干語(yǔ)句} 流程控制語(yǔ)句:用來(lái)控制或改變程序的執(zhí)行方向);算術(shù)類型轉(zhuǎn)換和賦值類型轉(zhuǎn)換 ;求值次序與副作用 等知識(shí)。<

8、;/p><p>  4:鏈表:鏈表是一種常見(jiàn)的重要的數(shù)據(jù)結(jié)構(gòu)。利用它可以實(shí)現(xiàn)動(dòng)態(tài)地進(jìn)行存儲(chǔ)分配。 鏈表由一系列結(jié)點(diǎn)(鏈表中每一個(gè)元素稱為結(jié)點(diǎn))組成,結(jié)點(diǎn)可以在運(yùn)行時(shí)動(dòng)態(tài)生成。每個(gè)結(jié)點(diǎn)包括兩個(gè)部分:一個(gè)是存儲(chǔ)數(shù)據(jù)元素的數(shù)據(jù)域,另一個(gè)是存儲(chǔ)下一個(gè)結(jié)點(diǎn)地址的指針域。</p><p>  組成結(jié)構(gòu)及特點(diǎn)——程序主體:一般由一個(gè)或多個(gè)函數(shù)組成,但只有一個(gè)函數(shù)是程序入口,即代碼執(zhí)行的起點(diǎn)。如本例由max(

9、)和main()兩個(gè)函數(shù)組成,函數(shù)main()是所有控制臺(tái)(console) 程序的入口,稱為主函數(shù)。</p><p><b>  程序流程控制</b></p><p>  復(fù)合語(yǔ)句:將多個(gè)語(yǔ)句組合在一起,用一對(duì)花括號(hào)將這些語(yǔ)句組合在一起,稱為復(fù)合語(yǔ)句</p><p><b>  分支流程If 語(yǔ)句</b></p&g

10、t;<p>  語(yǔ)法:If (條件表達(dá)式)</p><p><b>  語(yǔ)句1</b></p><p><b>  [else</b></p><p><b>  語(yǔ)句2]</b></p><p>  If (a<b)</p><p

11、><b>  cout<<a;</b></p><p><b>  else</b></p><p><b>  cout<<b;</b></p><p><b>  循環(huán)流程</b></p><p><b>  a

12、:While語(yǔ)句</b></p><p>  While (條件表達(dá)式)</p><p><b>  循環(huán)體</b></p><p>  While(條件表達(dá)式1)</p><p><b>  { 語(yǔ)句1;</b></p><p>  if(條件表達(dá)式2)&

13、lt;/p><p><b>  break;</b></p><p><b>  語(yǔ)句2;</b></p><p><b>  }</b></p><p><b>  語(yǔ)句3;</b></p><p>  break語(yǔ)句使用:用在whi

14、le,do…while,for和switch語(yǔ)句中,在循環(huán)語(yǔ)句中,break用來(lái)從最近的封閉循環(huán)體內(nèi)跳出,</p><p>  在switch語(yǔ)句中,break用來(lái)跳出switch語(yǔ)句。</p><p><b>  b:for循環(huán)</b></p><p>  語(yǔ)法:for(初始化表達(dá)式;條件表達(dá)式;循環(huán)表達(dá)式) 循環(huán)體語(yǔ)句

15、 </p><p><b>  初始化表達(dá)式;</b></p><p>  函數(shù)的調(diào)用:調(diào)用一個(gè)函數(shù)就是暫時(shí)中斷現(xiàn)有程序的運(yùn)行,轉(zhuǎn)去執(zhí)行被調(diào)用函數(shù),當(dāng)被調(diào)用函數(shù)執(zhí)行結(jié)束以后,再返回到中斷處繼續(xù)執(zhí)行的過(guò)程,如下表:</p><p>  函數(shù)的嵌套:執(zhí)行過(guò)程如下表:</p><p> ?。?)程序的概要設(shè)

16、計(jì)(流程圖)</p><p>  1:總體(主函數(shù)):設(shè)計(jì)學(xué)生信息管理系統(tǒng)界面,定義程序功能選擇的方式,定義所需結(jié)構(gòu)體指針,用switch循環(huán)進(jìn)行程序選擇(即程序功能選擇);整體使用函數(shù)的調(diào)用(嵌套、傳值)</p><p>  2:子函數(shù):包括增加學(xué)生信息(STU *add)、查詢學(xué)生信息(struct stu *find(struct stu *top,int numToFind))、刪

17、除學(xué)生信息(STU *del(STU*top))、修改學(xué)生信息(void ChangeByNumber(STU*top))、排序?qū)W生信息(void Compositor(STU *top))、顯示所有學(xué)生信息(print(struct stu *top)) 六個(gè)子函數(shù) </p><p>  a:增加學(xué)生信息(STU *add):先構(gòu)建臨時(shí)變量struct stu temp,用來(lái)儲(chǔ)存增加的信息,輸入你要增加的學(xué)生

18、數(shù),學(xué)號(hào)是否符合條件,否則退出增加模塊,符合進(jìn)行增加,如果原來(lái)文件中沒(méi)有數(shù)據(jù)就直接將該臨時(shí)變量的數(shù)據(jù)信息賦給首地址所對(duì)應(yīng)的內(nèi)存空間直接儲(chǔ)存,否則將從p節(jié)點(diǎn)開(kāi)始增加。增加完后,返回首地址,調(diào)用保存函數(shù)保存。</p><p>  b:查詢學(xué)生信息(struct stu *find(struct stu *top,int numToFind)):用函數(shù)的調(diào)用來(lái)調(diào)用系統(tǒng)中儲(chǔ)存的信息中符合查找要求的信息。</p>

19、;<p>  c:刪除學(xué)生信息(STU *del(STU*top)):</p><p>  以學(xué)號(hào)為查找線索,討論該數(shù)據(jù)在整個(gè)鏈表中的位置,如果是在鏈表中的第一個(gè)節(jié)點(diǎn)就直接刪除,不然的話則用while循環(huán),滿足要?jiǎng)h除的條件就刪除,并返回首地址調(diào)用resaveLink()(清空文件后保存)函數(shù)保存。</p><p>  d:修改學(xué)生信息(void ChangeByNumber(

20、STU*top)):用學(xué)號(hào)為數(shù)據(jù)修改前查找數(shù)據(jù)依據(jù),用指針變量來(lái)執(zhí)行查找工作,用while循環(huán),當(dāng)在學(xué)生信息結(jié)構(gòu)體中找到與之對(duì)應(yīng)的學(xué)號(hào),調(diào)出所需修改的數(shù)據(jù) 后進(jìn)行數(shù)據(jù)重新輸入;再用指針變量對(duì)原先數(shù)據(jù)進(jìn)行刪除 再存入修改后數(shù)據(jù),完成數(shù)據(jù)修改。</p><p>  e:排序?qū)W生信息(void Compositor(STU *top)):分為學(xué)號(hào)排序,平均成績(jī)排序 。先保證系統(tǒng)內(nèi)有數(shù)據(jù)儲(chǔ)存。a:學(xué)號(hào)排序:用兩次wh

21、ile循環(huán), 實(shí)現(xiàn)全部數(shù)據(jù)的排序,第二次比較p、q所指學(xué)號(hào)的大小,按小到大進(jìn)行排序, 如不符合條件交換的雙方指針?biāo)傅臄?shù)據(jù)組內(nèi)容。b:平均成績(jī)排序:用兩次while循環(huán),實(shí)現(xiàn)全部數(shù)據(jù)的排序,第二次比較p、q所指數(shù)據(jù)中平均成績(jī)的大小,按大到小進(jìn)行排序 如不符合條件交換的雙方指針?biāo)傅臄?shù)據(jù)組內(nèi)容</p><p>  f:顯示所有學(xué)生信息(print(struct stu *top)):先判斷系統(tǒng)中的學(xué)生信息庫(kù)中是否為

22、空,如果沒(méi)有學(xué)生信息則應(yīng)先存入數(shù)據(jù),不為空則輸出所有數(shù)據(jù)</p><p><b>  程序的詳細(xì)設(shè)計(jì)</b></p><p>  a:增加學(xué)生信息(STU *add)</p><p>  STU *add()//鏈表的創(chuàng)建</p><p><b>  {</b></p><p&g

23、t;  struct stu temp; 構(gòu)建臨時(shí)變量</p><p>  struct stu *top=NULL,*p=NULL;</p><p><b>  int a;</b></p><p>  cout<<"請(qǐng)輸入你要輸入的學(xué)生數(shù)"&l

24、t;<endl;</p><p><b>  cin>>a;</b></p><p>  for(int i=1;i<=a;i++){</p><p>  cout<<"請(qǐng)輸入第"<<i<<"位學(xué)生信息:"<<endl;</p&

25、gt;<p>  cout<<"請(qǐng)輸入你的學(xué)號(hào)" << endl;</p><p>  cin>>temp.num;</p><p>  if(temp.num<=0)</p><p><b>  {</b></p><p>  cout<

26、<"對(duì)不起,輸入有誤!"<<endl;</p><p><b>  break;</b></p><p><b>  }</b></p><p>  … 輸入數(shù)據(jù)</p><p>

27、  cin>>temp.cj.yingyu;</p><p>  if(p==NULL){ 判斷系統(tǒng)中是否存在數(shù)據(jù)</p><p>  p=top= (struct stu*)malloc(sizeof(struct stu)); 分配內(nèi)存空間</p><p>  *top=temp;

28、 直接給地址</p><p><b>  }</b></p><p><b>  else{</b></p><p>  p->next=(struct stu*)malloc(sizeof(struct stu)); 增加鏈表</p><p> 

29、 *p->next=temp;</p><p>  p=p->next;</p><p><b>  }</b></p><p><b>  }</b></p><p>  p->next=NULL;</p><p>  cout<<"

30、輸入完成!"<<endl;</p><p>  return top;</p><p><b>  }</b></p><p>  b:查詢學(xué)生信息(struct stu *find(struct stu *top,int numToFind))</p><p>  void print(struc

31、t stu *top)</p><p><b>  {</b></p><p>  struct stu *p;</p><p><b>  p=top;</b></p><p>  if(p==NULL) 判斷系統(tǒng)中是否有信息存儲(chǔ)</p>

32、<p><b>  { </b></p><p>  cout<<"現(xiàn)在沒(méi)有學(xué)生信息,請(qǐng)先輸入學(xué)生信息"<<endl; </p><p><b>  return;</b></p><p><b>  } </b></p><p

33、>  while(p!=NULL)</p><p><b>  {</b></p><p>  …… 完成數(shù)據(jù)輸出</p><p><b>  }</b></p><p><b>  }</b>&l

34、t;/p><p>  c:刪除學(xué)生信息(STU *del(STU*top))</p><p>  STU *del(STU*top) </p><p><b>  { </b></p><p><b>  int num; </b></p><p>  STU *p,*q; &l

35、t;/p><p>  int flag=0; </p><p>  cout<<"請(qǐng)輸入要?jiǎng)h除的學(xué)生學(xué)號(hào):"<<endl; </p><p>  cin>>num; </p><p><b>  p=top; </b></p><p>  q=t

36、op->next; </p><p>  if (p ->num == num) 對(duì)應(yīng)學(xué)號(hào)</p><p><b>  {</b></p><p>  free(p); 直接釋放指針p</p>

37、<p>  cout<<"成功刪除"<<endl;</p><p><b>  flag=1;</b></p><p><b>  return q;</b></p><p><b>  }</b></p><p>  wh

38、ile(q!=NULL) while循環(huán)</p><p><b>  { </b></p><p>  if(q->num==num) </p><p><b>  { </b></p><p>  p->next=q

39、->next; 滿足要?jiǎng)h除的條件就刪除</p><p><b>  free(q); </b></p><p>  cout<<"成功刪除"<<endl;</p><p><b>  flag=1;</b></p><p>

40、;  return top; 回首地址,調(diào)用resaveLink()</p><p><b>  } </b></p><p>  p=p->next; </p><p>  q=q->next; 函數(shù)保存</p>&

41、lt;p><b>  } </b></p><p>  if(!flag) </p><p><b>  { </b></p><p>  cout<<"不存在該學(xué)號(hào)的學(xué)生"<<endl; </p><p>  return top; </p&

42、gt;<p><b>  } </b></p><p><b>  }</b></p><p>  d:修改學(xué)生信息(void ChangeByNumber(STU*top))</p><p>  void ChangeByNumber(STU*top) </p><p><b&

43、gt;  { </b></p><p><b>  STU *p;</b></p><p><b>  int num;</b></p><p>  char name[10];</p><p><b>  int age;</b></p><

44、p>  int classid;</p><p>  int flag=0; </p><p>  int yingyu,shuxue,yuwen; </p><p><b>  p=top;</b></p><p>  cout<<"請(qǐng)輸入學(xué)生學(xué)號(hào):"<<endl; &

45、lt;/p><p>  cin>>num; </p><p><b>  while(p) </b></p><p><b>  { </b></p><p>  if(p->num==num) </p><p><b&g

46、t;  { </b></p><p>  …… 完成數(shù)據(jù)重新輸入</p><p><b>  flag=1;</b></p><p>  cout<<"修改成功!你的信息為:"<<endl; </p><p&g

47、t;  printone(p);</p><p>  resaveLink(top); 儲(chǔ)存數(shù)據(jù)</p><p><b>  break; </b></p><p><b>  } </b></p><p>  p=p->next;

48、 </p><p><b>  } </b></p><p>  if(!flag) </p><p>  cout<<"對(duì)不起,不存在學(xué)生信息"<<endl; </p><p><b>  }</b></p><p>  

49、e:排序?qū)W生信息(void Compositor(STU *top))</p><p>  void Compositor(STU *top) </p><p><b>  { </b></p><p>  cout<<" 1、按學(xué)號(hào)排序;"<<endl;</p>&l

50、t;p>  cout<<" 2、按平均成績(jī)排序; "<<endl;</p><p>  cout<<"請(qǐng)選擇: "<<endl;</p><p>  STU exchange,*r,*p,*q; int xx;</p><p

51、><b>  r=top;</b></p><p>  if(r==NULL) </p><p><b>  { </b></p><p>  cout<<"現(xiàn)在還沒(méi)學(xué)生信息,請(qǐng)先輸入學(xué)生信息"<<endl; </p><p><b>  

52、return;</b></p><p><b>  } </b></p><p><b>  cin>>xx;</b></p><p>  if(xx!=1&&xx!=2){</p><p>  cout<<"對(duì)不起,請(qǐng)重新輸入!&quo

53、t;<<endl;</p><p><b>  return;</b></p><p><b>  }</b></p><p>  if(xx==1){</p><p>  while(r!=NULL) 兩層while循環(huán)實(shí)現(xiàn)排序 </p>

54、;<p><b>  { </b></p><p><b>  p=r; </b></p><p>  q=r->next; </p><p>  while(q) 實(shí)現(xiàn)p,q在滿足條件時(shí)數(shù)據(jù)交換</p><p><b>  { </

55、b></p><p>  if(q->num<p->num) </p><p><b>  {</b></p><p>  …… 完成數(shù)據(jù)交換</p><p><b>  } </b></

56、p><p>  q=q->next; </p><p><b>  } </b></p><p>  r=r->next; </p><p><b>  } </b></p><p>  cout<<"按學(xué)號(hào)排序后為:"<<

57、endl;</p><p>  print(top);</p><p><b>  }</b></p><p><b>  if(xx==2)</b></p><p><b>  {</b></p><p>  while(r)

58、 兩層while循環(huán)實(shí)現(xiàn)排序 </p><p><b>  { </b></p><p><b>  p=r; </b></p><p>  q=r->next; </p><p>  while(q) 實(shí)現(xiàn)p,q在滿足條件時(shí)數(shù)據(jù)交換&

59、lt;/p><p>  { if((q->cj.yuwen+q->cj.shuxue+q->cj.yingyu)/3>(p->cj.yuwen+p->cj.shuxue+p->cj.yingyu)/3) 比較平均分大小</p><p><b>  { </b><

60、/p><p>  …… 完成數(shù)據(jù)交換</p><p><b>  } </b></p><p>  q=q->next; </p><p><b>  } </b></p><p>  r=r

61、->next; </p><p><b>  } </b></p><p>  cout<<"按平均成績(jī)排序后為:"<<endl;</p><p>  print(top);</p><p><b>  }</b></p><p

62、><b>  }</b></p><p>  f:顯示所有學(xué)生信息(print(struct stu *top))</p><p>  struct stu *find(struct stu *top,int numToFind)</p><p><b>  {</b></p><p>  s

63、truct stu *p=top;</p><p>  while(p!=NULL)</p><p><b>  {</b></p><p>  if(p->num==numToFind)</p><p><b>  {</b></p><p><b>  r

64、eturn p;</b></p><p><b>  }</b></p><p>  p=p->next;</p><p><b>  }</b></p><p>  return NULL;</p><p><b>  }</b>&l

65、t;/p><p> ?。?)測(cè)試用例(針對(duì)每個(gè)功能設(shè)計(jì)測(cè)試方案,包括輸入數(shù)據(jù)、輸出數(shù)據(jù))</p><p>  針對(duì)每個(gè)功能設(shè)計(jì)一組(最少一個(gè))測(cè)試用例,用來(lái)驗(yàn)證程序的正確性。</p><p>  1: 增加學(xué)生信息(STU *add)</p><p>  2:查詢學(xué)生信息(struct stu *find(struct stu *top,int

66、numToFind))</p><p><b>  查詢1號(hào)數(shù)據(jù):</b></p><p><b>  查詢2號(hào)數(shù)據(jù):</b></p><p><b>  查詢3號(hào)數(shù)據(jù):</b></p><p><b>  查詢4號(hào)數(shù)據(jù):</b></p>&

67、lt;p><b>  查詢5號(hào)數(shù)據(jù):</b></p><p>  3:刪除學(xué)生信息(STU *del(STU*top))</p><p><b>  刪除1號(hào)學(xué)生數(shù)據(jù):</b></p><p>  刪除1號(hào)學(xué)生后所有數(shù)據(jù):</p><p>  4:修改學(xué)生信息(void ChangeByNum

68、ber(STU*top))</p><p><b>  修改1號(hào)數(shù)據(jù):</b></p><p>  修改1號(hào)學(xué)生后數(shù)據(jù):</p><p>  5:排序?qū)W生信息(void Compositor(STU *top))</p><p>  按學(xué)號(hào)由小到大排序:</p><p>  按平均分由大到小排序:

69、</p><p>  6:顯示所有學(xué)生信息(print(struct stu *top)) </p><p>  所有數(shù)據(jù)未經(jīng)修改時(shí):</p><p><b>  數(shù)據(jù)經(jīng)修改后:</b></p><p><b>  課題總結(jié)</b></p><p>  1陳述遇到的問(wèn)題及解決

70、辦法:</p><p>  a. 問(wèn)題:學(xué)生信息的增加需要?jiǎng)?chuàng)建鏈表,在創(chuàng)建鏈表時(shí)鏈表多了一個(gè)域,輸入的時(shí)候如果學(xué)號(hào)不滿足條件,不是會(huì)跳出函數(shù)而是會(huì)多保存一條亂碼信息;</p><p>  解決辦法:先構(gòu)建一個(gè)臨時(shí)變量,并進(jìn)行初始化操作,數(shù)據(jù)存入在臨時(shí)變量中,再分配內(nèi)存空間。</p><p>  b.問(wèn)題;增加的時(shí)候要以學(xué)號(hào)小于0結(jié)束增加,很不優(yōu)化。</p>

71、;<p>  解決方法:把while(1)死循環(huán)改為for(i=1;i<=a;i++)的循環(huán)可以通過(guò)限定輸入學(xué)生數(shù)來(lái)控制。</p><p>  c.問(wèn)題:進(jìn)行刪除和修改后,保存首地址,發(fā)現(xiàn)刪除和修改的信息只是追加在原來(lái)的信息的后面。而之前的信息還存在。</p><p>  解決方法:寫一個(gè)resaveLink()函數(shù),把saveLink()函數(shù)中的(PATH, ios:

72、:app|ios::binary)改為(PATH, ofstream::out);明白ios::app|ios::binary的意思是:1、在文件末尾追加記錄;2、以2進(jìn)制保存文件。ofstream::out的意思是:1、如果文件不存在就創(chuàng)建個(gè)文件;2、如果文件存在,則先清空文件內(nèi)容再保存文件。改的主要原因就是要清空文件后保存,以致于滿足每次保存的時(shí)候保存首地址就可以使文件中的學(xué)生信息不重復(fù)。</p><p> 

73、 d.問(wèn)題:刪除學(xué)生信息時(shí),刪除不掉,而且如果刪除的是第一個(gè)節(jié)點(diǎn),就會(huì)使返回為空。</p><p>  解決方法:如果是第一個(gè)節(jié)點(diǎn),由于沒(méi)有表頭,不能直接刪除第一個(gè)節(jié)點(diǎn),如果刪除了表頭就丟失了鏈表,所以要先判斷是第一個(gè)節(jié)點(diǎn)的情況。再判斷后面的指針。而且保存的時(shí)候應(yīng)該保存的是新的鏈表。</p><p>  e.問(wèn)題:修改信息和排序時(shí)字符型數(shù)組的賦值錯(cuò)誤。</p><p&g

74、t;  解決方法:用strcpy()進(jìn)行賦值。</p><p>  f.問(wèn)題:在刪除和修改的時(shí)候,未打印出不存在要修改和刪除的學(xué)生。</p><p>  解決方法;用int flag=0做跟蹤,未執(zhí)行操作flag的值不變,執(zhí)行操作flag=1;那么if(!flag)就可以打印出是否刪除和修改信息的情況。</p><p><b>  2:有何收獲</b

75、></p><p>  a.熟悉掌握了鏈表的增加,查找,刪除,以及排序。</p><p>  b.糾正對(duì)break用法的錯(cuò)誤理解,break只用在兩個(gè)地方,一個(gè)是case,一個(gè)是循環(huán)的跳出。</p><p>  c.熟悉循環(huán)在程序中的應(yīng)用,在增加,查找,排序以及界面的顯示等都用到了循環(huán)。</p><p>  d.學(xué)會(huì)應(yīng)用函數(shù)的調(diào)用,以及

76、主函數(shù)中用switch函數(shù)做多分支選擇,使程序簡(jiǎn)潔,改動(dòng)方便。</p><p>  e.存在的不足之處: 查找和排序都采用遍歷的方式(缺點(diǎn):耗時(shí)長(zhǎng),時(shí)間復(fù)雜度高達(dá)n的平方)而且在排序的時(shí)候采用了兩層while循環(huán),耗時(shí)及復(fù)雜度高??梢圆捎每焖倥判蚧蚨雅判颉?lt;/p><p><b>  使用說(shuō)明書</b></p><p>  用Microsoft

77、 Visual Studio 2005 打開(kāi)該程序文件;</p><p><b>  編譯運(yùn)行程序;</b></p><p>  根據(jù)頁(yè)面提示及查詢需要對(duì)應(yīng)選擇操作類型,進(jìn)入子程序操作;</p><p>  注意:如果第一次運(yùn)行程序,應(yīng)先進(jìn)行程序存儲(chǔ)否則程序會(huì)報(bào)錯(cuò);對(duì)不需要的數(shù)據(jù)應(yīng)先進(jìn)行刪除處理,否則在下面的數(shù)據(jù)處理中原數(shù)據(jù)還會(huì)存在系統(tǒng)中。&l

溫馨提示

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