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

下載本文檔

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

文檔簡介

1、<p> ?。ㄒ唬?需求和規(guī)格說明</p><p>  安排研究生課程表。設(shè)有m個研究生和可選修的n門課程, 如果某個研究生選修的兩門課程安排在同一時間內(nèi)上課,則這兩門課程就會發(fā)生沖突,要求不沖突地安排課程表。</p><p>  提示:研究生選課信息可存放在m×n矩陣a中,a[i,j]= 1表示研究生i選修了課程j,a[i,j]=0表示研究生i未選修了課程j。<

2、/p><p><b>  (二) 設(shè)計</b></p><p>  目標(biāo):(1)實現(xiàn)選修課系統(tǒng)學(xué)生端的幾個操作功能(學(xué)生選課、學(xué)生情況、選課情況、退出系統(tǒng))。</p><p> ?。?)實現(xiàn)選修課系統(tǒng)管理端的幾個操作功能(增加學(xué)生、增加課程、刪除學(xué)生、刪除課程、填寫成績、更改學(xué)分、學(xué)生情況、選課情況、保存數(shù)據(jù)、退出系統(tǒng))。[4]

3、 </p><p>  總體方案:先定義課程,在此類中先聲明課程名稱的字符型常量,然后聲明課程成績和指向下一個課程的指針。[5]然后分開開始定義學(xué)生類,課程類。在學(xué)生類中和課程類中聲明要操作的步驟,在學(xué)生類中要聲明學(xué)生姓名、學(xué)生選課、學(xué)生成績、學(xué)生的課程平均成績,最后用鏈表連接起來。在課程類中聲明課程名稱,課程的學(xué)分,該課程最多選的人和實際選該科得人,把他們用鏈表連接起來。[6]最

4、后用一個總菜單將學(xué)生選課、學(xué)生情況、選課情況、增加學(xué)生和課程、刪除學(xué)生、刪除課程等連接,這樣程序設(shè)計就算完成了。</p><p>  2-1選修課管理功能圖</p><p><b>  系統(tǒng)類圖</b></p><p> ?。ㄈ?程序運行平臺</p><p><b>  VC++6.0。</b>&

5、lt;/p><p>  具體操作如下:打開VC++6.0,新建一個空工程,添加相應(yīng)的源文件,再編譯,鏈接,執(zhí)行。</p><p>  因為內(nèi)容過長只選取了其中的一部分作為說明</p><p>  1. 數(shù)據(jù)庫名:subject </p><p>  2.(1) 類subject里面的相關(guān)數(shù)據(jù)如下</p><p>  使用p

6、ublic成員函數(shù)、private成員函數(shù)[8]</p><p>  3. 對函數(shù)進行如下聲明:</p><p>  void getcredit(float a);[9] 用于設(shè)置學(xué)分 </p><p>  void getkname(char N[]); 用于讀出課程的名稱</p><p>

7、;  void setkname(char N[]); [10] 用于讀入課程的名稱</p><p>  void findstudent(studentdb *P); 用于該課程的名稱,尋找選這課程的學(xué)生</p><p>  void clractivestudnet(); 用于從文件中讀出來后將實際學(xué)生數(shù)清零</p>

8、;<p>  void subject::getcredit (float a) 用于設(shè)置學(xué)分 </p><p>  void subject::getkname (char N[])[11] 用于讀出課程的名稱</p><p>  void subject::setkname (char N[]) 用于讀入課程的名稱</p><p>

9、;  void subject::findstudent(studentdb *P)[12] 用于根據(jù)該課程的名稱,尋找選這課程的學(xué)生</p><p>  4. 對主要的相關(guān)模塊進行說</p><p> ?。?)按順序輸入學(xué)生的信息,但不能超過30個</p><p> ?。?)輸入課程的名稱和該課程的學(xué)分</p><p> ?。?)可以選擇刪

10、除學(xué)生</p><p> ?。?)可以選擇上出課程</p><p> ?。?)可以填寫在(1)中輸入學(xué)生的成績</p><p> ?。?)可以更改在(2)中輸入課程的學(xué)分</p><p> ?。?)可以查看在操作(1)時學(xué)生</p><p> ?。?)可以查看在操作(2)時輸入的課程和選課的人數(shù)</p>

11、<p> ?。?)可以保存在以上的操作過程中輸入的內(nèi)容</p><p> ?。?)可以退出學(xué)生選修課系統(tǒng)</p><p><b>  調(diào)試結(jié)果如圖二:</b></p><p>  2-3選修課系統(tǒng)程序調(diào)試圖</p><p><b>  (五) 源代碼</b></p><

12、p>  在設(shè)計程序時用到繼承與派生[這C++中最重要的一個特征,同時用到派生中的虛基類[使其在繼承時把重復(fù)的成員簡化,只保留相同成員中的一個;[13-14]其難點在于運用繼承與派生處對函數(shù)的繼承在進行添加修改[15],使其程序簡潔明了;調(diào)試程序是一個很重要的步驟,通過調(diào)試來找出錯誤,讓計算機識別指令最終達到預(yù)期效果,有其重要作用。</p><p><b>  (六) 源代碼</b>&l

13、t;/p><p>  為了更好的體現(xiàn)本程序,特將代碼列出,以作為參考·.</p><p>  #include <string.h></p><p>  #include <stdio.h></p><p>  #include <iostream.h></p><p>  #

14、include <stdlib.h></p><p>  #include <iomanip.h></p><p>  #include <fstream.h></p><p>  #include <conio.h></p><p>  ////////////////////////////

15、///////////////////////////////////////////////</p><p><b>  //定義課程</b></p><p>  struct course //某個學(xué)生所學(xué)的課程中的某一個</p><p><b>  {</b></p><p> 

16、 char cname[20]; //課程名稱</p><p>  float grade; //課程成績</p><p>  course *Next; //指向下一個課程的指針</p><p><b>  };</b></p><p>  /////////////////////////////////

17、//////////////////////////////////////////</p><p><b>  //學(xué)生類</b></p><p>  class student</p><p><b>  {</b></p><p><b>  public:</b><

18、;/p><p><b>  student()</b></p><p><b>  {</b></p><p>  root = NULL;</p><p>  const maxcourse = 5;</p><p>  factcourse = 0;</p>&

19、lt;p><b>  }</b></p><p>  void readname(char N[] ); //讀入學(xué)生的姓名</p><p>  void getname(char N[]); //得到學(xué)生的姓名</p><p>  void wrecourse(char N[],float score); //要據(jù)課程名寫

20、入學(xué)生課程的成績</p><p>  float average(); //學(xué)生課程的平均成績</p><p>  void addcourse(char N[],float g); //給學(xué)生增加一門課</p><p>  int findcourse(char N[]); //查找是否已有此課程,如果有返回1,如果沒有返回0</p>

21、;<p>  int retfactcourse()</p><p><b>  {</b></p><p>  return factcourse;</p><p>  } //得到所學(xué)的課程數(shù)目</p><p>  course *retroot()</p><p&g

22、t;<b>  {</b></p><p>  return root; //利用鍵表將所有的課程保存起來</p><p><b>  }</b></p><p>  int retmaxcourse()</p><p><b>  {</b></p>

23、<p>  return 5; //得到最多可學(xué)的課程數(shù)目</p><p><b>  }</b></p><p>  void clrroot() //清零</p><p><b>  {</b></p><p>  root = NULL;</p>&

24、lt;p>  factcourse = 0;</p><p><b>  }</b></p><p><b>  private:</b></p><p>  char sname[20]; //學(xué)生的姓名</p><p>  int maxcourse; //學(xué)生最多

25、可以學(xué)五門課程</p><p>  int factcourse; //學(xué)生實際所學(xué)的課程數(shù)目</p><p>  course *root; //課程的根結(jié)點指針</p><p><b>  };</b></p><p>  void student::readname (char N[])//讀入

26、學(xué)生的姓名</p><p><b>  {</b></p><p>  strcpy(sname,N);</p><p><b>  }</b></p><p>  void student::getname(char N[])//得到學(xué)生的姓名</p><p><b&

27、gt;  {</b></p><p>  strcpy(N,sname);</p><p><b>  }</b></p><p>  void student::wrecourse(char N[],float score)//要據(jù)課程名寫入學(xué)生課程的成績</p><p><b>  {</

28、b></p><p>  course *p = root;</p><p>  if(p==NULL)</p><p><b>  return;</b></p><p>  if(p!=NULL)</p><p>  p = p->Next;</p><p>

29、;<b>  while(p)</b></p><p><b>  {</b></p><p>  if(strcmp(p->cname,N)==0)</p><p>  p->grade = score;</p><p>  p = p->Next;</p><

30、;p><b>  }</b></p><p><b>  }</b></p><p>  float student::average()//學(xué)生課程的平均成績</p><p><b>  {</b></p><p>  float aver=0.0;</p>

31、<p>  course *p = root;</p><p><b>  while (p)</b></p><p><b>  {</b></p><p>  aver = aver+p->grade;</p><p><b>  }</b></p

32、><p>  aver = aver/factcourse;</p><p>  return aver;</p><p><b>  }</b></p><p>  void student::addcourse (char N[],float g)//給學(xué)生增加一門課</p><p><b&

33、gt;  {</b></p><p>  course *s = new course;</p><p>  s->Next=NULL;</p><p>  if(root == NULL)</p><p><b>  root = s;</b></p><p>  course

34、 *p = root;</p><p>  course *newcourse = new course;</p><p>  newcourse->Next = p->Next;</p><p>  p->Next=newcourse;</p><p>  strcpy(newcourse->cname,N);<

35、;/p><p>  newcourse->grade = g;</p><p>  factcourse++;</p><p><b>  }</b></p><p>  int student::findcourse (char N[])//查找是否已有此課程,如果有返回1,如果沒有返回0</p>&l

36、t;p><b>  {</b></p><p>  course *p = root;</p><p>  if(root==NULL)</p><p><b>  return 0;</b></p><p>  p = p->Next;</p><p><

37、b>  while(p)</b></p><p><b>  {</b></p><p>  if(strcmp(p->cname,N)==0)</p><p><b>  return 1;</b></p><p>  p = p->Next;</p>

38、<p><b>  }</b></p><p><b>  return 0;</b></p><p><b>  }</b></p><p>  ////////////////////////////////////////////////////////////////////////

39、/////////////////////</p><p>  struct studentdb</p><p><b>  {</b></p><p>  student stu;</p><p>  studentdb *Next;</p><p><b>  };</b>

40、;</p><p>  struct studentname</p><p><b>  {</b></p><p>  char tname[20]; //學(xué)生的名字</p><p>  float result; //學(xué)生所得的該課程分?jǐn)?shù)</p><p>  studen

41、tname *Next;</p><p><b>  };</b></p><p>  /////////////////////////////////////////////////////////////////////////////////////////////</p><p><b>  //課程類</b>&

42、lt;/p><p>  class subject</p><p><b>  {</b></p><p><b>  public:</b></p><p><b>  subject()</b></p><p><b>  {</b>

43、;</p><p>  first = NULL;</p><p>  maxstudent=30;</p><p>  activestudnet=0;</p><p><b>  }</b></p><p>  float readcredit(); //得到課程的學(xué)分</p>

44、;<p>  void getcredit(float a); //設(shè)置學(xué)分</p><p>  float getaverage(); //得到學(xué)生的平均成績</p><p>  float getresult(char N[]); //查找某個學(xué)生的成績</p><p>  void getkname(char N[]); //讀出

45、課程的名稱</p><p>  void setkname(char N[]); //讀入課程的名稱</p><p>  studentname *retfirst()</p><p><b>  {</b></p><p>  return first; //返回根結(jié)點</p><p>

46、;<b>  }</b></p><p>  void findstudent(studentdb *P); //根據(jù)該課程的名稱,尋找選這課程的學(xué)生</p><p>  int retactivestudent()</p><p><b>  {</b></p><p>  return act

47、ivestudnet; //返回實際學(xué)生數(shù)</p><p><b>  }</b></p><p>  int retmaxstudent()</p><p><b>  {</b></p><p>  return 30; //返回最多學(xué)生數(shù)30</p><p>

48、<b>  }</b></p><p>  void clractivestudnet()</p><p><b>  {</b></p><p>  activestudnet = 0; //從文件中讀出來后將實際學(xué)生數(shù)清零</p><p><b>  }</b><

49、/p><p><b>  private:</b></p><p>  int maxstudent; //最多學(xué)生數(shù)</p><p>  int activestudnet; //實際學(xué)生數(shù)</p><p>  studentname *first; //學(xué)生名單</p><p>  

50、float credit; //該課程的學(xué)分</p><p>  float averagerusult; //該課程的平均成績</p><p>  char kname[20]; //該課程的名稱</p><p><b>  };</b></p><p>  float subject::readcred

51、it ()//得到課程的學(xué)分</p><p><b>  {</b></p><p>  return credit;</p><p><b>  }</b></p><p>  void subject::getcredit (float a)//設(shè)置學(xué)分</p><p>

52、<b>  {</b></p><p><b>  credit=a;</b></p><p><b>  }</b></p><p>  float subject::getaverage()//得到學(xué)生的平均成績</p><p><b>  {</b>

53、</p><p>  float k = 0.0;</p><p>  studentname *p;</p><p>  p=first->Next;</p><p>  if(p==NULL)</p><p><b>  return 0;</b></p><p>

54、;<b>  while(p)</b></p><p><b>  {</b></p><p>  k = k + p->result;</p><p>  p = p->Next ;</p><p><b>  }</b></p><p>

55、  return k/activestudnet;</p><p><b>  }</b></p><p>  float subject::getresult (char N[]) //查找某個學(xué)生的成績</p><p><b>  {</b></p><p>  studentname *p;&

56、lt;/p><p>  p = first;</p><p><b>  while(p)</b></p><p><b>  {</b></p><p>  if(strcpy(p->tname ,N)==0)</p><p>  return p->result;

57、</p><p>  p = p->Next ;</p><p><b>  }</b></p><p>  return -1;</p><p><b>  }</b></p><p>  void subject::getkname (char N[]) //讀出

58、課程的名稱</p><p><b>  {</b></p><p>  strcpy(N,kname);</p><p><b>  }</b></p><p>  void subject::setkname (char N[]) //讀入課程的名稱</p><p><

59、;b>  {</b></p><p>  strcpy(kname,N);</p><p><b>  }</b></p><p>  void subject::findstudent(studentdb *P) //根據(jù)該課程的名稱,尋找選這課程的學(xué)生</p><p><b>  {<

60、;/b></p><p>  studentname *newcode = new studentname;</p><p>  newcode->Next=NULL;</p><p>  first = newcode;</p><p>  studentname *T = first;</p><p>

61、  studentdb *K = P->Next;</p><p><b>  while(K)</b></p><p><b>  {</b></p><p>  course *Y = K->stu.retroot();</p><p>  if(Y ==NULL)</p>

62、;<p><b>  {</b></p><p>  K = K->Next;</p><p><b>  continue;</b></p><p><b>  }</b></p><p>  if(Y!=NULL)</p><p>

63、;  Y = Y->Next;</p><p><b>  while(Y)</b></p><p><b>  {</b></p><p>  if(strcmp(Y->cname,kname)==0)</p><p><b>  {</b></p>

64、<p>  studentname *Acode = new studentname;</p><p>  char Name[20];</p><p>  K->stu.getname(Name);</p><p>  strcpy(Acode->tname,Name);</p><p>  Acode->re

65、sult = Y->grade;</p><p>  Acode->Next = T->Next;</p><p>  T->Next = Acode;</p><p>  activestudnet = activestudnet + 1;</p><p><b>  break;</b><

66、;/p><p><b>  }</b></p><p>  Y = Y->Next;</p><p><b>  }</b></p><p>  K = K->Next;</p><p><b>  }</b></p><p&

67、gt;<b>  return ;</b></p><p><b>  }</b></p><p>  ///////////////////////////////////////////////////////////////////////////////////</p><p>  void tuichu()<

68、;/p><p><b>  {</b></p><p>  system("cls");</p><p>  cout<<"\n\n\t\t\t謝謝你使用選修課小系統(tǒng)\t再見\n\n"<<endl;</p><p>  cout<<"\n\

69、t 如果你覺得此軟件有修改及補充之處,請按以下方式聯(lián)系我們,"</p><p>  <<"\n\t提出你的寶貴意見.我們將不斷地改進并及時的公布新版本。謝謝!!\n\n"<<endl;</p><p>  cout<<"\t\t聯(lián)系方式:\n"</p><p>  <&l

70、t;"\t\t 姓名:史燕玲\n\n"</p><p>  <<"\t\t 電話:0000-1234567\n\n"</p><p>  <<"\t\t Email:SYL_studio@163.com\n\n"</p><p>  <&

71、lt;"\t\t 學(xué)校地址:塔里木大學(xué)\t郵政編碼:843300\n\n\n"<<endl;</p><p><b>  getch();</b></p><p><b>  exit(-1);</b></p><p><b>  }</b></p>

72、<p>  //////////////////////////////////////////////////////////////////////////////////</p><p><b>  //總菜單</b></p><p>  char menu()</p><p><b>  {</b>&l

73、t;/p><p><b>  int k=0;</b></p><p>  char a[3],c,i;</p><p>  system("cls");</p><p>  cout<<endl<<endl;</p><p>  cout<<&

74、quot;\t\t\t\tC++課程設(shè)計課題\n\n"<<endl;</p><p>  cout<<"\t\t********************************************\n"</p><p>  <<"\t\t*

75、 *\n"</p><p>  <<"\t\t* 選修課小系統(tǒng) *\n"</p><p>  <<"\t\t* *\n"</p><p>  &l

76、t;<"\t\t* *\n"</p><p>  <<"\t\t* 操作方式: *\n"</p><p>  <<"\t\t* 1.選修課系

77、統(tǒng)學(xué)生端 *\n"</p><p>  <<"\t\t* *\n"</p><p>  <<"\t\t* 2.選修課系統(tǒng)管理端 *\n"</p><p>

78、;  <<"\t\t* *\n"</p><p>  <<"\t\t********************************************\n"<<endl;</p><p><b>  while(1)&

79、lt;/b></p><p><b>  {</b></p><p>  cout<<"\n\t\t請選擇登入方式: ";</p><p><b>  cin>>a;</b></p><p>  if(strlen(a)==1)</p>

80、<p><b>  {</b></p><p>  for(i='1';i<='2';i++)</p><p><b>  {</b></p><p><b>  c=i;</b></p><p>  if(c==a[0])&l

81、t;/p><p><b>  return c;</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  cerr<<"\n\n\t\t\t\t輸入有誤!\n"<<endl;</p

82、><p><b>  k++;</b></p><p><b>  if(k>2)</b></p><p><b>  {</b></p><p>  system("cls");</p><p>  cerr<<&qu

83、ot;\n\n\n\t\t~~提示~~:錯誤輸入次數(shù)超過三次,你將被強制退出!!\n\n"<<endl;</p><p>  cout<<"\t\t按任意鍵繼續(xù)"<<endl;</p><p><b>  getch();</b></p><p><b>  tuich

84、u();</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  //////////////////////////////////////////////////////

85、/////////////////////////////</p><p>  //選修課系統(tǒng)端操作</p><p>  char custom()</p><p><b>  {</b></p><p>  char A[10];</p><p><b>  char b;</b

86、></p><p><b>  char i;</b></p><p>  int k = 0;</p><p>  system("cls");;</p><p>  cout<<"\n\n\n"</p><p>  <<&q

87、uot;\t\t※※※※※※※※※※※※※※※※※※※※※※※※※※※\n"</p><p>  <<"\t\t※選修課系統(tǒng)學(xué)生端 ※\n"</p><p>  <<"\t\t※

88、 ※\n"</p><p>  <<"\t\t※ 操作方式:. ※\n"</p><p>  <<"\t\t※1.學(xué)生選課. ※\n"</p>

89、;<p>  <<"\t\t※2.學(xué)生情況. ※\n"</p><p>  <<"\t\t※3.選課情況. ※\n"</p><p>  <<&quo

90、t;\t\t※4.退出系統(tǒng). ※\n"</p><p>  <<"\t\t※ ※\n"</p><p>  <<"\t\t※※※※※※※※※※※※※※※※

91、※※※※※※※※※※※\n"<<endl;</p><p><b>  while(1)</b></p><p><b>  {</b></p><p>  cout<<"\t\t\t請選擇操作方式: ";</p><p><b>  

92、cin>>A;</b></p><p>  if(strlen(A)==1)</p><p><b>  {</b></p><p>  for(i='1';i<='4';i++)</p><p><b>  {</b></p>

93、;<p><b>  b=i;</b></p><p>  if(b==A[0]) return b;</p><p><b>  }</b></p><p><b>  }</b></p><p>  cerr<<"\n\t\t\t\t輸入

94、有誤!\n"<<endl;</p><p><b>  k++;</b></p><p><b>  if(k>2)</b></p><p><b>  {</b></p><p>  system("cls");</p&g

95、t;<p>  cerr<<"\n\n\t\t\t~~提示~~:錯誤輸入超過三次!你將被強制退出!!\n"<<endl;</p><p>  cout<<"\t\t按任意鍵繼續(xù)"<<endl;</p><p><b>  getch();</b></p>

96、<p><b>  tuichu();</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  char server()</p><

97、;p><b>  {</b></p><p>  char A[10];</p><p><b>  char b;</b></p><p><b>  char i;</b></p><p>  int k = 0;</p><p>  syst

98、em("cls");;</p><p>  cout<<"\n\n\n"</p><p>  <<"\t\t※※※※※※※※※※※※※※※※※※※※※※※※※※※\n"</p><p>  <<"\t\t※

99、 ※\n"</p><p>  <<"\t\t※ 選修課系統(tǒng)管理端 ※\n"</p><p>  <<"\t\t※ ※\n&

100、quot;</p><p>  <<"\t\t※ .操作方式: ※\n"</p><p>  <<"\t\t※ 1.增加學(xué)生 2.增加課程 ※\n"</p><p>  &l

101、t;<"\t\t※ 3.刪除學(xué)生 4.刪除課程 ※\n"</p><p>  <<"\t\t※ 5.填寫成績 6.更改學(xué)分 ※\n"</p><p>  <<"\t\t※ 7.

102、學(xué)生情況 8.選課情況 ※\n"</p><p>  <<"\t\t※ 9.保存數(shù)據(jù) 0.退出系統(tǒng) ※\n"</p><p>  <<"\t\t※ ※

103、\n"</p><p>  <<"\t\t※※※※※※※※※※※※※※※※※※※※※※※※※※※\n"<<endl;</p><p><b>  while(1)</b></p><p><b>  {</b></p><p>  cout<

104、;<"\t\t 請選擇操作方式: ";</p><p><b>  cin>>A;</b></p><p>  if(strlen(A)==1)</p><p><b>  {</b></p><p>  for(i='0';i<='

105、;9';i++)</p><p><b>  {</b></p><p><b>  b=i;</b></p><p>  if(b==A[0])</p><p><b>  return b;</b></p><p><b>  }&

106、lt;/b></p><p><b>  }</b></p><p>  cerr<<"\n\t\t\t\t輸入有誤!\n"<<endl;;</p><p><b>  k++;</b></p><p><b>  if(k>2)&l

107、t;/b></p><p><b>  {</b></p><p>  cerr<<"錯誤輸入超過三次!\n";</p><p><b>  exit(-1);</b></p><p><b>  }</b></p><

108、p><b>  }</b></p><p><b>  }</b></p><p>  //////////////////////////////////////////////////////////////////////////////////</p><p><b>  //密碼檢查</b&

109、gt;</p><p>  void password()</p><p><b>  {</b></p><p>  int k=0,i;</p><p>  char A[]="admin";</p><p>  char B[10];</p><p&g

110、t;<b>  char a;</b></p><p>  system("cls");</p><p>  for(i=0;i<8;i++)</p><p>  cout<<endl; </p><p>  while(k<=2)</p><p>&l

111、t;b>  {</b></p><p>  printf("\t\t\t請輸入管理員密碼:");</p><p><b>  i=0;</b></p><p><b>  while(1)</b></p><p><b>  {</b>&l

112、t;/p><p>  a=getch();</p><p><b>  if(a==13)</b></p><p><b>  break;</b></p><p><b>  B[i]=a;</b></p><p><b>  i++;</

113、b></p><p>  printf("*");</p><p><b>  }</b></p><p>  B[i]='\0';</p><p>  if(strcmp(A,B)==0)</p><p><b>  return;</b

114、></p><p><b>  else</b></p><p><b>  {</b></p><p><b>  k++;</b></p><p>  cerr<<"\n\n\t\t\t密碼輸入錯誤!請重新輸入!\n"<<e

115、ndl;</p><p><b>  }</b></p><p><b>  if(k>=3)</b></p><p><b>  {</b></p><p>  system("cls");</p><p>  cerr<

116、;<"\n\n\t\t\t輸入錯誤密碼超過三次!請按任意鍵退出.."<<endl;</p><p><b>  getch();</b></p><p><b>  tuichu();</b></p><p><b>  }</b></p><

117、p><b>  }</b></p><p><b>  }</b></p><p>  ///////////////////////////////////////////////////////////////////////</p><p>  struct subjectdb</p><p

118、><b>  {</b></p><p>  subject sub;</p><p>  subjectdb *Next;</p><p><b>  };</b></p><p>  int menu_2_7(studentdb *P);</p><p>  int

119、 menu_2_9(studentdb *Y,subjectdb *P);</p><p>  int menu_2_8(subjectdb *P);</p><p>  ////////////////////////////////////////////////////////////////////////</p><p><b>  //學(xué)生端功

120、能函數(shù)</b></p><p>  int menu_1_1(studentdb *P,subjectdb *X) //學(xué)生選課</p><p><b>  {</b></p><p>  system("cls");</p><p>  cout<<"\n\n

121、\t\t\t\t學(xué)生選課操作"<<endl;</p><p><b>  //</b></p><p>  studentdb *q=P->Next;</p><p><b>  int i;</b></p><p>  char N[20],M[20];</p&g

122、t;<p>  if(q!=NULL)</p><p>  cout<<"\n\n\n\t\t所有學(xué)生名單如下:\n"<<endl;</p><p><b>  else</b></p><p><b>  {</b></p><p>  c

123、err<<"\n\n\n\t\t對不起,暫時沒有學(xué)生名單!請按任意鍵繼續(xù).."<<endl;</p><p><b>  return 1;</b></p><p><b>  }</b></p><p><b>  while(q)</b></p&g

124、t;<p><b>  {</b></p><p>  q->stu.getname(N);</p><p>  cout<<"\t\t\t\t"<<N;</p><p>  cout<<endl;</p><p>  q = q->Nex

125、t ;</p><p><b>  }</b></p><p>  q = P->Next;</p><p>  if(q==NULL)</p><p><b>  return 1;</b></p><p>  cout<<"\n\n\t\t 請

126、輸入學(xué)生姓名:";</p><p><b>  cin>>N;</b></p><p><b>  i=0;</b></p><p>  q=P->Next;</p><p><b>  while(q)</b></p><p&g

127、t;<b>  {</b></p><p>  q->stu.getname(M);</p><p>  if(strcmp(N,M)==0)</p><p><b>  i++;</b></p><p>  q = q->Next;</p><p><b&

128、gt;  }</b></p><p>  int j=0,k=1;</p><p><b>  if(i==0)</b></p><p><b>  {</b></p><p>  cout<<"\n\n\t\t沒有這個學(xué)生!! 請按任意鍵返回.."<

129、;<endl;</p><p><b>  return 1;</b></p><p><b>  }</b></p><p>  else if(i>1)</p><p><b>  {</b></p><p>  cout<<

130、"\n\n\t\t共找到"<<i<<"個姓名為"<<N<<"的學(xué)生"<<endl;</p><p>  cout<<"\t\t選擇第幾個:";</p><p><b>  cin>>k;</b></p

131、><p><b>  }</b></p><p>  if(k>i||k<=0)</p><p><b>  {</b></p><p>  cerr<<"\n\t\t\t輸入有誤!按任意鍵繼續(xù)"<<endl;</p><p&g

132、t;<b>  return 1;</b></p><p><b>  }</b></p><p>  q = P->Next;</p><p><b>  j=0;</b></p><p><b>  while(q)</b></p>

133、<p><b>  {</b></p><p>  q->stu.getname(M);</p><p>  if(strcmp(N,M)==0)</p><p><b>  j++;</b></p><p><b>  if(j==k)</b></p&

134、gt;<p><b>  {</b></p><p>  if(q->stu.retfactcourse()>=q->stu.retmaxcourse())</p><p><b>  {</b></p><p>  cout<<"\n\t\t所選課程已滿!按任意鍵繼續(xù)

135、"<<endl;</p><p><b>  return 1;</b></p><p><b>  }</b></p><p><b>  else</b></p><p><b>  {</b></p><p&

136、gt;  subjectdb *t=X->Next;</p><p>  char N1[20];</p><p>  system("cls");;</p><p>  if(t!=NULL)</p><p><b>  {</b></p><p>  cout<

137、<"\n\n\n\t\t所有課程如下:"<<endl;</p><p>  cout<<"\n\t\t\t\t課程名稱\t\t 學(xué)分"<<endl;</p><p><b>  }</b></p><p><b>  else</b><

138、/p><p><b>  {</b></p><p>  cerr<<"\n\n\n\t\t對不起,暫時沒有課程"<<endl;</p><p><b>  return 1;</b></p><p><b>  }</b></p&

139、gt;<p><b>  while(t)</b></p><p><b>  {</b></p><p>  t->sub.getkname(N1);</p><p>  cout<<"\t\t\t\t "<<N1<<setw(26-strlen

140、(N1))<<t->sub.readcredit()<<endl;</p><p>  t = t->Next ;</p><p><b>  }</b></p><p>  char N2[20];</p><p>  cout<<"\n\t 輸入你所要選

141、的課程 : ";</p><p><b>  cin>>N2;</b></p><p>  t = X->Next;</p><p><b>  while(t)</b></p><p><b>  {</b></p><p>

142、;  t->sub.getkname(N1);</p><p>  if(strcmp(N1,N2)==0)</p><p><b>  {</b></p><p>  if(q->stu.findcourse(N2)==1)</p><p><b>  {</b></p>

143、<p>  cout<<"\n\t\t此課程你已選過了,不能再選.按任意鍵繼續(xù)"<<endl;</p><p><b>  return 1;</b></p><p><b>  }</b></p><p>  t=X->Next;</p><

144、;p>  char NA[20];</p><p><b>  while(t)</b></p><p><b>  {</b></p><p>  t->sub.getkname(NA);</p><p>  if(strcmp(NA,N2)==0)</p><p&

145、gt;<b>  {</b></p><p>  if(t->sub.retactivestudent()>=t->sub.retmaxstudent ())</p><p><b>  { </b></p><p>  cout<<"\n\t\t此課程已選滿,不能選.按任意鍵繼續(xù)&

146、quot;<<endl;</p><p><b>  return 1;</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  t = t->Next;</p><p><b&

147、gt;  }</b></p><p>  q->stu.addcourse(N2,0.0);</p><p>  cout<<"\n\n\t\t選課成功!按任意鍵繼續(xù)"<<endl;</p><p><b>  return 1;</b></p><p>&l

148、t;b>  }</b></p><p>  t = t->Next;</p><p><b>  }</b></p><p>  cerr<<"\n\t\t沒有此課程!按任意鍵繼續(xù)"<<endl;</p><p><b>  }</b&g

149、t;</p><p><b>  return 1;</b></p><p><b>  }</b></p><p>  q = q->Next;</p><p><b>  }</b></p><p><b>  return 1;&l

150、t;/b></p><p><b>  }</b></p><p>  int menu_1_2(studentdb *P,subjectdb *X) //學(xué)生情況</p><p><b>  {</b></p><p>  studentdb *q=P->Next;</p&g

151、t;<p>  char N[20];</p><p>  system("cls");</p><p>  cout<<"\n\n\t\t\t\t學(xué)生情況操作"<<endl;</p><p><b>  int i;</b></p><p>

溫馨提示

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

最新文檔

評論

0/150

提交評論