c++課程設計學生選修課選課系統(tǒng)_第1頁
已閱讀1頁,還剩27頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p><b>  學生選修課選課系統(tǒng)</b></p><p><b>  目 錄</b></p><p><b>  1 前言1</b></p><p><b>  2 需求分析2</b></p><p>  2.1 編寫目的2<

2、;/p><p>  2.2 需求概述2</p><p>  2.3 需求說明2</p><p>  2.4 開發(fā)環(huán)境2</p><p><b>  3 總體設計3</b></p><p>  3.1功能模塊圖3</p><p><b>  3.2 流程圖4

3、</b></p><p>  3.3 類的設計圖5</p><p>  4 各功能模塊設計7</p><p><b>  4.1整體設計7</b></p><p>  4.2主要的功能函數(shù)設計7</p><p><b>  5 系統(tǒng)調試8</b><

4、/p><p>  6 總結與體會14</p><p><b>  6.1 總結14</b></p><p>  6.2 編寫程序中遇到的問題及解決辦法14</p><p><b>  參考文獻15</b></p><p><b>  附錄 源程序16</

5、b></p><p><b>  須眉原作</b></p><p><b>  1 前言</b></p><p>  隨著計算機的普及,各高校均采用計算機進行學生選課。學生選修課系統(tǒng)主要包含選修課管理系統(tǒng)及學生選課系統(tǒng)兩部分。</p><p>  學生選修課系統(tǒng)一般需要有管理員管理選修課課程,

6、然后學生對經過管理員操作后的選修課進行選課。選修課管理系統(tǒng)由管理員登錄,對當前所有選修課課程進行管理操作。學生選課系統(tǒng)則是由學生登錄,學生可以查看由管理員整理好的所有選修課,并從顯示出的選修課中選擇自己要選擇的課程。</p><p>  管理員管理選修課實質是對后臺選修課庫中的選修課信息進行操作,可以在庫中添加課程或刪除課程。學生選課的實質即是先打印出后臺選修課庫中所有選修課信息以供選擇,選擇課程即是對后臺學生信

7、息庫里的學生信息進行修改。</p><p><b>  2 需求分析</b></p><p><b>  2.1 編寫目的</b></p><p>  (1)要求學生達到熟練掌握C++語言的基本知識和技能; </p><p>  (2)基本掌握面向對象程序設計的基本思路和方法; </p>

8、<p> ?。?)能夠利用所學的基本知識和技能,解決簡單的面向對象程序設計問題;</p><p> ?。?)通過編寫此系統(tǒng),實現(xiàn)選修課系統(tǒng)的基本功能。</p><p><b>  2.2 需求概述</b></p><p> ?。?)系統(tǒng)中包括兩個登陸身份(管理員與學生),并對應不同的功能;</p><p>

9、 ?。?)對于管理員,此系統(tǒng)具有添加、刪除、查看選修課等功能;</p><p> ?。?)對于學生,此系統(tǒng)具有選課、查詢等功能</p><p><b>  2.3 需求說明</b></p><p>  此系統(tǒng)可以實現(xiàn)學生選課,管理員管理課程的基本功能</p><p><b>  2.4 開發(fā)環(huán)境</b&g

10、t;</p><p>  使用Visual C++6.0編程軟件</p><p><b>  3 總體設計</b></p><p><b>  3.1功能模塊圖</b></p><p><b>  (1)學生</b></p><p>  學生身份有兩個功

11、能,分別是選課與查看個人信息。如圖3.1所示。</p><p>  圖 3.1 學生功能模塊圖</p><p><b>  管理員</b></p><p>  管理員可以對選修課課程進行管理。如下圖所示。</p><p>  圖 3.2 管理員功能模塊圖</p><p><b>  3.

12、2 流程圖</b></p><p>  進入系統(tǒng)后可以選擇以學生身份或者管理員身份登錄。學生登錄需要輸入個人的學號及姓名,成功登錄后可以選課或查詢個人信息。管理員的登錄需要輸入密碼,成功登錄后則可以對當前所有的選修課進行管理操作,可添加新選修課或刪除已有的選修課。詳細操作流程如下圖所示。</p><p><b>  圖 3.3 流程圖</b></p&

13、gt;<p><b>  3.3 類的設計圖</b></p><p><b>  Course類</b></p><p>  Course類即選修課課程類。數(shù)據(jù)成員分別是:課程編號、課程名稱、課程類型、開課時間、授課學時、實驗學時、總學時以及學分。成員函數(shù)則包含所有數(shù)據(jù)成員的get函數(shù),用以獲取數(shù)據(jù)成員的值,set函數(shù)用來修改課程

14、,print函數(shù)則是打印課程的信息。如下圖所示。</p><p>  圖 3.4 Course類</p><p><b>  Student類</b></p><p>  Student類即學生類。其中包含了學生的學號、學生姓名、所選的兩門課程及兩門選修課課程的總學分。setId和setName是用來修改相關成員的值,getName獲取學生的

15、姓名,print函數(shù)用來打印學生的相關信息,個selectCourse則是用來選課。如下圖所示。</p><p>  圖3.5 Student類</p><p><b>  4 各功能模塊設計</b></p><p><b>  4.1整體設計</b></p><p>  對于學生和選修課,我們分別

16、定義了相應的類Student和類Course,其間的關系就是學生類中有兩個選修課類對象成員。而對于管理員我們并沒有單獨去定義類,因為管理員只是對選修課進行操作,程序中并不需要訪問管理員的信息。</p><p>  為了方便對選修課進行管理及多位學生的登錄,我們定義了一個選修課數(shù)組和學生數(shù)組。</p><p>  4.2主要的功能函數(shù)設計</p><p><b&

17、gt;  選課函數(shù) </b></p><p>  void selectCourse(Student s1[10], Course c1[M], int s_num1) </p><p>  對當前學生對象進行操作,覆蓋其選修課對象成員c1或c2,即學生的選課。</p><p>  兩種輸出所需選修課函數(shù)</p><p> 

18、 按學分輸出選修課函數(shù) void selectScore(Course c1[M])</p><p>  按類型輸出選修課void selectNature(Course c1[M])</p><p>  對傳遞進來的選修課數(shù)組進行掃描,輸出符合要求的選修課。</p><p><b>  選修課排序函數(shù) </b></p><

19、p>  void xu(Course c1[M])</p><p>  使用冒泡排序法對選修課數(shù)組進行編號從小到大的排序。</p><p><b>  主菜單函數(shù) </b></p><p>  void menu(Course c1[6], Student s1[10])</p><p>  所有菜單循環(huán)都在其中,

20、調用其他函數(shù)來實現(xiàn)具體功能。</p><p><b>  5 系統(tǒng)調試</b></p><p><b>  系統(tǒng)主界面</b></p><p>  進入系統(tǒng)主界面后可以選擇登錄身份或退出程序。如圖5.1所示。</p><p>  圖5.1 系統(tǒng)主界面</p><p><

21、b>  2.選修課管理系統(tǒng)</b></p><p>  圖5.1選擇登錄身份為管理員,默認密碼123,輸入-1可返回圖5.1界面。密碼輸入正確后可進入管理員登錄系統(tǒng)。如圖5.2所示。</p><p>  圖5.2 選修課管理系統(tǒng)</p><p><b>  按學分查看選修課</b></p><p>  

22、圖5.2選擇查看選修課,可以查看當前所有的選修課課程的相關信息??梢赃x擇不同的輸出方式:按學分查詢、按類型查詢、顯示全部。選擇按學分查詢,在選擇0.5,可打印當前所有課程中學分為0.5的課程信息。如圖5.3所示。</p><p>  圖5.3 按學分查看選修課</p><p><b>  查詢全部選修課</b></p><p>  查看選修課功

23、能中可以選擇顯示全部,即羅列出當前所有的選修課課程信息。如圖5.4所示。</p><p>  圖5.4 查詢全部選修課</p><p><b>  管理員添加選修課</b></p><p>  圖5.2選擇添加選修課,可以添加一門新的選修課,然后按要求輸入課程信息。如圖5.5所示。</p><p>  圖5.5 管理員添

24、加選修課</p><p><b>  添加后的選修課信息</b></p><p>  添加選修課后選擇返回上一層,再選擇顯示全部選修課可以看到已新增的選修課已添加成功。如圖5.6所示。</p><p>  圖5.6 添加后的選修課</p><p><b>  管理員刪除選修課</b></p&g

25、t;<p>  圖5.2選擇刪除選修課。輸入要刪除的選修課的編號,即可刪除相應的選修課。如圖5.7所示。</p><p>  圖5.7 管理員刪除選修課</p><p><b>  刪除后的選修課信息</b></p><p>  刪除選修課后選擇返回上一層,再選擇顯示全部選修課可以看到已刪除的選修課已刪除成功。如圖5.8所示。&l

26、t;/p><p>  圖5.8 刪除后的選修課信息</p><p><b>  學生選課系統(tǒng)</b></p><p>  圖5.1選擇學生,然后輸入學生的姓名及學號就能進入學生選課系統(tǒng)。如圖5.9所示。</p><p>  圖5.9 學生選課系統(tǒng)</p><p><b>  學生選課<

27、/b></p><p>  以學生身份登錄成功后,可以選擇選課或是查詢個人信息。選擇選課可以選擇按學分選課、按課程類型選課或顯示全部課程再進行選課。選擇按學分選課,再選藝術類,再輸入課程編號即可選擇相應課程。如圖5.10所示。</p><p>  圖5.10 學生選課</p><p><b>  學生信息</b></p>&

28、lt;p>  選擇查看個人信息程序即打印出當前學生的相關信息。如圖5.11 所示。</p><p>  圖5.11 學生信息</p><p><b>  退出</b></p><p>  圖5.1選擇退出即退出程序。如圖5.12所示。</p><p>  圖5.12 退出程序</p><p>

29、;<b>  6 總結與體會</b></p><p><b>  6.1 總結</b></p><p>  本程序實現(xiàn)了學生選課及管理員對課程的操作功能,而學生的選課及管理員對課程的管理,都可以按學分或類型來進行操作。管理員登錄的默認密碼是123,管理員可以添加新的選修課課程,也可以刪除原有的選修課。</p><p>  

30、經過此次的課程設計,我們受益頗豐,尤其是對在編寫過程中遇到的難題的處理方法,學會了很多程序設計的技巧。</p><p>  6.2 編寫程序中遇到的問題及解決辦法</p><p>  (1)在無法與后臺交互的情況下如何實現(xiàn)用戶登錄?</p><p>  因為只需要管理員有對選修課操作的能力,因此不需儲存管理員的信息,只需在其登錄前詢問密碼即可。而學生的登錄,在其登錄

31、時分配一個對象空間,儲存在其登錄時獲取的學號及姓名即可,即每一個學生的登錄相當于注冊過程。</p><p>  (2)如何在不退出程序的情況下,能夠讓多位學生進行選課?</p><p>  定義學生類對象數(shù)組,每一位學生選完課后,再分配一個新的學生類對象空間。</p><p>  (3)如何實現(xiàn)對學生對象中課程對象成員的覆蓋?</p><p>

32、;  一開始我們?yōu)榱朔奖闫鹨娛强紤]學生類課程對象定義為引用,這樣只需引用已有的選修課課程即可,但這樣的話,在對學生對象初始化時引用的初始化就成了問題,因此只能放棄。最終是選擇了使用set和get方法對對象成員的成員一個個覆蓋。</p><p><b>  參考文獻</b></p><p>  [1] 黃維通.Visual C++面向對象與可視化程序設計(第2版)

33、.北京:清華大學出版社,2007.</p><p>  [2] 張乃孝,陳光,孫猛.算法與數(shù)據(jù)結構——C語言描述(第三版),2011.</p><p>  [3] 譚浩強.C程序語言設計(第三版)[M].北京:清華大學出版社,2007.</p><p>  [4] 楊永斌.數(shù)據(jù)結構理論與實踐[M].天津:科學技術出版社,2011.</p><p&

34、gt;  [5] 羅建軍.C++程序射機槍教程(第2版).北京:高等教育出版社,2004.</p><p>  [6] 鄭振杰.C++程序設計. 北京:人民郵電出版社,2005.</p><p>  [7] 劉覺夫,王更生等.c++程序設計.北京:郵電大學出版社,2011.</p><p>  [8] 邵偉忠.C常用算法程序集.天津:人民出版社,2009.</

35、p><p>  [9] 徐世亮.C++大學教程.北京:人民郵電出版社,2010.</p><p>  [10] 吳華恩.C++程序設計.北京:機械工業(yè)出版社,2008.</p><p>  [11] 邵偉忠.C常用算法程序集.天津:人民出版社,2009.</p><p><b>  附錄 源程序</b></p>

36、<p>  #include <iostream.h></p><p>  #include <string.h></p><p>  #define M 10</p><p>  class Course //選修課課程類</p><p><b>  {private:</b&

37、gt;</p><p>  char * id;</p><p>  char * name;</p><p>  char * nature;</p><p>  char * date;</p><p>  int shours;</p><p>  int ahours;</p>

38、;<p>  int zhours;</p><p>  double score;</p><p><b>  public:</b></p><p><b>  Course()</b></p><p><b>  {</b></p><p

39、>  id = "unknown";</p><p>  name = "unknown";</p><p>  nature = "unknown";</p><p>  zhours = 0;</p><p>  shours = 0;</p><

40、p>  ahours = 0;</p><p>  date = "unknown";</p><p>  score = 0;</p><p><b>  }</b></p><p>  Course(char *a, char *b, char *c, char *d, int e, i

41、nt f, double g)</p><p><b>  {</b></p><p><b>  id = a;</b></p><p><b>  name = b;</b></p><p>  nature = c;</p><p><b&

42、gt;  date = d;</b></p><p>  shours = e;</p><p>  ahours = f;</p><p>  score = g;</p><p>  zhours = e + f;</p><p><b>  }</b></p>

43、<p>  void set(char *a, char *b, char *c, char *d, int e, int f, double g)</p><p><b>  {</b></p><p><b>  id = a;</b></p><p><b>  name = b;</b&

44、gt;</p><p>  nature = c;</p><p><b>  date = d;</b></p><p>  shours = e;</p><p>  ahours = f;</p><p>  score = g;</p><p>  zhou

45、rs = e + f;</p><p><b>  }</b></p><p>  char * getDate()</p><p>  {return date;}</p><p>  int getZhours()</p><p>  {return zhours;}</p>&

46、lt;p>  int getShours()</p><p>  {eturn shours;}</p><p>  int getAhours()</p><p>  {return ahours;}</p><p>  double getScore()</p><p>  {return score;}&l

47、t;/p><p>  char * getNature()</p><p>  {return nature;}</p><p>  char * getId()</p><p>  {eturn id;}</p><p>  char * getName()</p><p>  {return n

48、ame;}</p><p>  void print()</p><p><b>  {</b></p><p>  cout << "編號: " << id << '\t';</p><p>  cout << "名稱:

49、" << name << '\t';</p><p>  cout << "類型: " << nature << '\t';</p><p>  cout << "上課時間: " << date << endl

50、;</p><p>  cout << "總學時: " << zhours << 'h' << '\t';</p><p>  cout << "授課學時: " << shours << 'h' << &

51、#39;\t';</p><p>  cout << "實驗學時: " << ahours << 'h' << '\t';</p><p>  cout << "學分: " << score << endl;</p&g

52、t;<p><b>  }</b></p><p><b>  };</b></p><p>  class Student //學生類</p><p><b>  {</b></p><p>  private:

53、 //學生選的課程是對象的成員</p><p>  char * id;</p><p>  char * name;</p><p>  Course c1;</p><p>  Course c2;</p><p>  double zscore;</p><p><b>  pu

54、blic:</b></p><p><b>  Student()</b></p><p>  {id = "unknown";</p><p>  name = "unknown";</p><p>  zscore = 0;</p><p>

55、<b>  }</b></p><p>  void setId(char * a1)</p><p><b>  {d = a1;}</b></p><p>  void setName(char * a1)</p><p>  {name = a1;}</p><p> 

56、 char * getName()</p><p>  {return name;}</p><p>  void print()</p><p><b>  {</b></p><p>  cout << "\n學號: " << id << endl;</

57、p><p>  cout << "姓名: " << name << endl;</p><p>  cout << "您已選的選修課:\n1.";</p><p>  c1.print();</p><p>  cout << "2.&

58、quot;;</p><p>  c2.print();</p><p>  cout << "選修課總學分: " << c1.getScore() + c2.getScore() << '\n' <<endl;</p><p><b>  }</b><

59、/p><p>  void selectCourse_1(Course cc) //修改對象的課程成員</p><p>  {c1.set(cc.getId(),cc.getName(),cc.getNature(),cc.getDate(),cc.getShours(),cc.getAhours(),cc.getScore());</p><p><

60、;b>  }</b></p><p>  void selectCourse_2(Course cc)</p><p>  {c2.set(cc.getId(),cc.getName(),cc.getNature(),cc.getDate(),cc.getShours(),cc.getAhours(),cc.getScore());</p><p&g

61、t;<b>  }</b></p><p><b>  };</b></p><p>  void selectCourse(Student s1[10], Course c1[M], int s_num1) //選課</p><p><b>  {</b></p>

62、<p>  char id[2][10], select1;</p><p>  int i, j, k;</p><p>  for(j=0; j<2; j++)</p><p><b>  {</b></p><p>  cout << "\n您想選您的第幾門選修課(1 or

63、2):";</p><p><b>  cin >> k;</b></p><p>  cout << "請輸入您想要選的選修課的編號:";</p><p>  cin >> id[j];</p><p>  for(i=0; i<M &&a

64、mp; c1[i].getScore() !=0; i++) //掃描所有選修課,如果當前選修課為空則跳出循環(huán)</p><p><b>  {</b></p><p>  if(strcmp(id[j], c1[i].getId())==0)</p><p><b>  {</b></p>&l

65、t;p>  if(1 == k)</p><p><b>  {</b></p><p>  s1[s_num1].selectCourse_1(c1[i]);</p><p><b>  break;</b></p><p><b>  }</b></p>

66、<p>  if(2 == k)</p><p><b>  {</b></p><p>  s1[s_num1].selectCourse_2(c1[i]);</p><p><b>  break;</b></p><p><b>  }</b></p&g

67、t;<p><b>  }</b></p><p><b>  }</b></p><p>  if(0 == j)</p><p><b>  {</b></p><p>  cout << "\n您是否想要繼續(xù)選課?(y/n):"

68、;;</p><p>  cin >> select1;</p><p>  if('n' == select1) break;</p><p><b>  }</b></p><p><b>  }</b></p><p>  cout <

69、< "\n選課成功!" << endl;</p><p><b>  }</b></p><p>  void selectScore(Course c1[M]) //按學分查詢選修課</p><p><b>  {</b></p><p>  in

70、t select, num, i;</p><p>  cout << "\n請輸入選修課的學分:";</p><p>  cout << "\n 1. 0.5\n 2. 1.0" << endl;</p><p>  cout << " 請選擇:";&

71、lt;/p><p>  cin >> select;</p><p><b>  num = 1;</b></p><p>  if(1 == select)</p><p><b>  {</b></p><p>  for(i=0; i<M &&am

72、p; c1[i].getScore() !=0; i++)</p><p><b>  {</b></p><p>  if(0.5 == c1[i].getScore())</p><p><b>  {</b></p><p>  cout << num << '

73、.';</p><p>  c1[i].print();</p><p>  cout << endl;</p><p><b>  num++;</b></p><p><b>  }</b></p><p><b>  }</b>

74、</p><p><b>  }</b></p><p>  else if(2 == select)</p><p><b>  {</b></p><p>  for(i=0; i<M && c1[i].getScore() !=0; i++)</p>&l

75、t;p><b>  {</b></p><p>  if(1.0 == c1[i].getScore())</p><p><b>  {</b></p><p>  cout << num << '.';</p><p>  c1[i].print()

76、;</p><p>  cout << endl;</p><p><b>  num++;</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b>

77、</p><p>  else cout << "對不起,您的輸入有誤,請重新輸入!\n\n";</p><p><b>  }</b></p><p>  void selectNature(Course c1[M]) //按類型查詢選修課</p><p><b&g

78、t;  {</b></p><p>  int select, num, i;</p><p>  char n1[10]="藝術類", n2[10] ="學術類";</p><p>  cout << "請輸入選修課的學分:";</p><p>  cout

79、 << "\n 1. 藝術類\n 2. 學術類" << endl;</p><p>  cout << " 請選擇:";</p><p>  cin >> select;</p><p><b>  num = 1;</b></p>&l

80、t;p>  if(1 == select)</p><p><b>  {</b></p><p>  for(i=0; i<M && c1[i].getScore() !=0; i++)</p><p><b>  {</b></p><p>  if(strcmp(n

81、1, c1[i].getNature()) == 0)</p><p><b>  {</b></p><p>  cout << num << '.';</p><p>  c1[i].print();</p><p>  cout << endl;</p>

82、;<p><b>  num++;</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  else if(2 == select)</p>

83、;<p><b>  {</b></p><p>  for(i=0; i<M && c1[i].getScore() !=0; i++)</p><p><b>  {</b></p><p>  if(strcmp(n2, c1[i].getNature()) == 0)</

84、p><p><b>  {</b></p><p>  cout << num << '.';</p><p>  c1[i].print();</p><p>  cout << endl;</p><p><b>  num++;<

85、;/b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  else cout << "對不起,您的輸入有誤,請重新輸入!\n\n";</p&

86、gt;<p><b>  }</b></p><p>  void xu(Course c1[M]) //當前所有選修課進行排序(編號從小到大)</p><p><b>  {</b></p><p>  int i,j,k=0,num=0;</p><p>  Cours

87、e cc;</p><p>  for(j=0; j<M && c1[j].getScore() !=0; j++)</p><p><b>  {</b></p><p>  for(i=num; i<M && c1[i].getScore() !=0; i++)</p><p&

88、gt;<b>  {</b></p><p>  if(strcmp( c1[i].getId(), c1[i+1].getId() ) > 0)</p><p><b>  {</b></p><p>  k++;cc.set(c1[i].getId(),c1[i].getName(),c1[i].getNatu

89、re(),c1[i].getDate(),c1[i].getShours(),c1[i].getAhours(),c1[i].getScore());</p><p>  c1[i].set(c1[i+1].getId(),c1[i+1].getName(),c1[i+1].getNature(),c1[i+1].getDate(),c1[i+1].getShours(),c1[i+1].getAhours(),

90、c1[i+1].getScore());</p><p>  c1[i+1].set(cc.getId(),cc.getName(),cc.getNature(),cc.getDate(),cc.getShours(),cc.getAhours(),cc.getScore());</p><p><b>  }</b></p><p>  el

91、se k = 2;</p><p>  if(1 == k) num = i;</p><p><b>  }</b></p><p><b>  k = 0;</b></p><p><b>  }</b></p><p><b>  }&l

92、t;/b></p><p>  void menu(Course c1[6], Student s1[10]) //菜單</p><p><b>  {</b></p><p>  int flag0, flag1, flag2, flag3, flag4, password=0 ;</p><p> 

93、 int select, s_num=0, i, j, num, newNum;</p><p>  char id[10][10];</p><p>  char select1;</p><p>  char id1[10];</p><p>  char name1[10];</p><p>  char da[

94、20];</p><p>  char na[10];</p><p><b>  int sh;</b></p><p><b>  int ah;</b></p><p>  double sc;</p><p>  flag0 = 1;</p><p

95、>  while(flag0)</p><p><b>  {</b></p><p>  cout << "\n============" << endl;</p><p>  cout << "| 菜 單 |" << endl;</p&

96、gt;<p>  cout << "============" << endl;</p><p>  cout << "| 1.管理員 |" << endl;</p><p>  cout << "| 2.學生 |" << endl;<

97、/p><p>  cout << "| 3.退出 |" << endl;</p><p>  cout << "============" << endl;</p><p>  cout << "\n請選擇:";</p><p&

98、gt;  cin >> select;</p><p>  switch(select)</p><p><b>  {</b></p><p><b>  case 1:</b></p><p>  flag3 = 1;</p><p><b>  w

99、hile(1)</b></p><p><b>  {</b></p><p>  cout << "請輸入密碼(輸入-1退出):";</p><p>  cin >> password;</p><p>  if(-1 == password) </p>

100、;<p><b>  {</b></p><p><b>  flag3 =0;</b></p><p><b>  break;</b></p><p><b>  }</b></p><p>  if(123 == password)

101、 </p><p><b>  {</b></p><p>  cout << "\n 管理員,你好!歡迎登錄!" <<endl;</p><p><b>  break;</b></p><p><b>  }</

102、b></p><p>  cout << "密碼錯誤,請重新輸入!\n";</p><p><b>  }</b></p><p>  while(flag3)</p><p><b>  {</b></p><p>  cout <

103、;< "\n================" <<endl;</p><p>  cout << "| 菜 單 |" <<endl;</p><p>  cout << "================" <<endl;</p>&l

104、t;p>  cout << "| 1.添加選修課 |" << endl;</p><p>  cout << "| 2.刪除選修課 |" << endl;</p><p>  cout << "| 3.查看選修課 |" << endl;</p>

105、;<p>  cout << "| 4.返回上一層 |" << endl;</p><p>  cout << "================" <<endl;</p><p>  cout << "\n請選擇:";</p><p&g

106、t;  cin >> select;</p><p>  switch(select)</p><p><b>  {</b></p><p><b>  case 1:</b></p><p>  newNum = 0;</p><p>  for(i=0; i

107、<M && c1[i].getScore() !=0; i++) newNum++;</p><p>  cout << "\n請按格式依次輸入選修課的編號、名稱、上課時間(x.xx-x.xx)、類型(藝術類或學術類)、授課學時、實驗學時、學分:" << endl;</p><p>  cin >> id1 &g

108、t;> name1 >> da >> na >> sh >> ah >> sc;</p><p>  c1[newNum].set(id1, name1, da, na, sh, ah, sc);</p><p><b>  xu(c1);</b></p><p>  cout

109、<< "添加成功!" << endl;</p><p><b>  break;</b></p><p><b>  case 2:</b></p><p>  flag4 = 1;</p><p><b>  j = 0;</b>&

110、lt;/p><p><b>  num = 0;</b></p><p>  while(flag4)</p><p><b>  {</b></p><p>  cout << "\n請輸入您想要刪除課程的編號:";</p><p>  cin

111、>> id[j];</p><p>  for(i=0; i<M && c1[i].getScore() !=0; i++)</p><p><b>  {</b></p><p>  if(strcmp(id[j], c1[i].getId())==0)</p><p><b&g

112、t;  {</b></p><p>  for(num=i; num<M && c1[i].getScore() !=0; num++)</p><p><b>  {</b></p><p>  c1[num].set(c1[num+1].getId(),c1[num+1].getName(),c1[num+

113、1].getNature(),c1[num+1].getDate(),c1[num+1].getShours(),c1[num+1].getAhours(),c1[num+1].getScore());</p><p><b>  }</b></p><p>  c1[num] = Course();</p><p><b>  br

114、eak;</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  cout << "刪除成功!\n";</p><p>  cout << "\n您是否想要繼續(xù)刪除?(y/n):&q

115、uot;;</p><p>  cin >> select1;</p><p>  if('n' == select1) break;</p><p><b>  j++;</b></p><p><b>  }</b></p><p><b

116、>  break;</b></p><p><b>  case 3:</b></p><p>  flag2 = 1;</p><p>  while(flag2)</p><p><b>  {</b></p><p>  cout << &

117、quot;\n============================" <<endl;</p><p>  cout << "| 菜 單 |" <<endl;</p><p>  cout << "============================"

118、; <<endl;</p><p>  cout << "| 1.按學分查詢選修課 |" << endl;</p><p>  cout << "| 2.按選修課類型查詢選修課 |" << endl;</p><p>  cout << &qu

119、ot;| 3.顯示全部 |" << endl;</p><p>  cout << "| 4.返回上一層 |" << endl;</p><p>  cout << "============================" <<

120、;endl;</p><p>  cout << "請選擇:";</p><p>  cin >> select;</p><p>  switch(select)</p><p><b>  {</b></p><p><b>  case

121、1:</b></p><p>  selectScore(c1);</p><p><b>  break;</b></p><p><b>  case 2:</b></p><p>  selectNature(c1);</p><p><b>  

122、break;</b></p><p><b>  case 3:</b></p><p>  for(i=0; i<M && c1[i].getScore() !=0; i++)</p><p><b>  {</b></p><p>  cout <<

123、; i+1 << '.' ;</p><p>  c1[i].print();</p><p>  cout << endl;</p><p><b>  }</b></p><p><b>  break;</b></p><p>&

124、lt;b>  case 4:</b></p><p>  flag2 = 0;</p><p><b>  break;</b></p><p><b>  default :</b></p><p>  cout << "對不起,您的輸入有誤,請重新輸入!\

125、n\n";</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  break;</b></p><p><b>  case 4:</b></p><p>  flag

126、3 = 0;</p><p><b>  break;</b></p><p><b>  default :</b></p><p>  cout << "對不起,您的輸入有誤,請重新輸入!\n\n";</p><p><b>  }</b>&

127、lt;/p><p><b>  }</b></p><p><b>  break;</b></p><p><b>  case 2:</b></p><p>  char a[10], b[10];</p><p>  s1[s_num] = Stude

128、nt();</p><p>  cout << "\n請輸入您的學號:";</p><p><b>  cin >> a;</b></p><p>  s1[s_num].setId(a);</p><p>  cout << "請輸入您的姓名:"

129、;;</p><p><b>  cin >> b;</b></p><p>  s1[s_num].setName(b);</p><p>  flag1 = 1;</p><p>  while(flag1)</p><p><b>  {</b></

130、p><p>  cout << "\n================" <<endl;</p><p>  cout << "| 菜單 |" <<endl;</p><p>  cout << "================" &

131、lt;<endl;</p><p>  cout << "| 1.選課 |" << endl;</p><p>  cout << "| 2.個人信息 |" << endl;</p><p>  cout << "| 3.返回上一層 |

132、" << endl;</p><p>  cout << "================" <<endl;</p><p>  cout << "請選擇:";</p><p>  cin >> select;</p><p>  

133、switch(select)</p><p><b>  {</b></p><p><b>  case 1:</b></p><p>  flag2 = 1;</p><p>  cout << "\n" << s1[s_num].getName()

134、<< ",你好!歡迎登錄!" << endl;</p><p>  while(flag2)</p><p><b>  {</b></p><p>  cout << "\n============================" <<endl;<

135、/p><p>  cout << "| 菜 單 |" <<endl; </p><p>  cout << "=============================" <<endl;</p><p>  cout << &quo

136、t;| 1.按學分查詢選修課 |" << endl;</p><p>  cout << "| 2.按選修課類型查詢選修課 |" << endl;</p><p>  cout << "| 3.顯示全部 |" << endl;</

137、p><p>  cout << "| 4.返回上一層 |" << endl;</p><p>  cout << "=============================" <<endl;</p><p>  cout << "請選

138、擇:";</p><p>  cin >> select;</p><p>  switch(select)</p><p><b>  {</b></p><p><b>  case 1:</b></p><p>  selectScore(c1);

139、</p><p>  selectCourse(s1, c1 ,s_num);</p><p><b>  break;</b></p><p><b>  case 2:</b></p><p>  selectNature(c1);</p><p>  selectCou

140、rse(s1, c1 ,s_num);</p><p><b>  break;</b></p><p><b>  case 3:</b></p><p>  for(i=0; i<M && c1[i].getScore() !=0; i++)</p><p><b&

141、gt;  {</b></p><p>  cout << i+1 << '.' ;</p><p>  c1[i].print();</p><p>  cout << endl;</p><p><b>  }</b></p><p&g

142、t;  selectCourse(s1, c1, s_num);</p><p><b>  break;</b></p><p><b>  case 4:</b></p><p>  flag2 = 0;</p><p><b>  break;</b></p>

143、<p><b>  default :</b></p><p>  cout << "對不起,您的輸入有誤,請重新輸入!\n\n";</p><p><b>  }</b></p><p><b>  }</b></p><p>&

144、lt;b>  break;</b></p><p><b>  case 2:</b></p><p>  s1[s_num].print();</p><p><b>  break;</b></p><p><b>  case 3:</b></p&

145、gt;<p>  flag1 = 0;</p><p><b>  s_num++;</b></p><p><b>  break;</b></p><p><b>  default :</b></p><p>  cout << "對不

146、起,您的輸入有誤,請重新輸入!\n\n";</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  break;</b></p><p><b>  case 3:</b></p>

147、<p>  flag0 = 0;</p><p>  cout << " 謝謝使用!\n 再見!" << endl;</p><p><b>  break;</b></p><p><b>  default :</b></p><p&g

148、t;  cout << "對不起,您的輸入有誤,請重新輸入!\n\n";</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  void main()

149、 //管理員默認密碼:123</p><p><b>  {</b></p><p>  Student s[10]; //學生數(shù)組,用于不同學生的選課</p><p>  Course c[M]; //定義了一個課程類的數(shù)組,儲存所有選修課</p><p>

150、  c[0] = Course("001", "健康與養(yǎng)生", "學術類", "5.13-5.30", 15, 0, 1.0);</p><p>  c[1] = Course("003", "音樂鑒賞", "藝術類", "5.21-6.10", 12,

151、3, 0.5);</p><p>  c[2] = Course("006", "數(shù)學建模", "學術類", "5.7-6.2", 10, 6, 1.0);</p><p>  c[3] = Course("007", "酒文化與鑒賞", "藝術類",

溫馨提示

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

評論

0/150

提交評論