c語言學生成績管理系統課程設計報告 (3)_第1頁
已閱讀1頁,還剩45頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p><b>  《C語言程序設計》</b></p><p><b>  課程設計報告</b></p><p>  專 業(yè): 自動化 </p><p>  班 級: </p><p>

2、  姓 名: </p><p>  指導教師: </p><p>  二0 一二年 十二月 二十日</p><p>  《C語言程序設計》課程設計任務書</p><p>  適用班級:電子信息工程、電子信息科學與技術、自動化、通信

3、工程2011級</p><p>  起止時間:2012年12月17日~2012年12月28日 </p><p>  一、設計題目:學生成績管理系統</p><p><b>  二、設計目的 </b></p><p>  1、熟練掌握C語言課程中所學的理論知識;</p><p>  2、通過綜合C語

4、言的基本知識來解決實際問題;</p><p>  3、加強分析和解決問題的能力。</p><p><b>  三、設計內容 </b></p><p>  設計包含N個學生的數據信息的學生成績管理系統,包括以下信息: </p><p>  學號 — num[10](字符串)、 </p><p>  

5、姓名(拼音)— name[25](字符串)、 </p><p>  性別 — sex(字符,M或F)、 </p><p><b>  年齡 — age </b></p><p>  三門課程成績(高數、英語、計算機)— score [3](整型)。 </p><p><b>  系統功能包括: </b&g

6、t;</p><p>  1、系統以菜單方式工作,密碼登陸。</p><p>  2、學生信息的錄入(增加數據)。用數組數據類型賦初值的方法或從鍵盤輸入的方法把學生的數據送到各個數組中(注意要是合法數據),然后把它們輸出顯示。</p><p>  3、學生信息的刪除(刪除數據)。任意輸入一位學生的學號,將它所有的信息從數組中刪除。</p><p&

7、gt;  4、學生信息的瀏覽(查找數據)。任意輸入一位學生的學號,打印出他的所有數據。要求能多次查找。</p><p>  5、學生信息的修改(修改數據)。任意輸入一位學生的學號,打印出所有相關信息后,可對某一項信息進行修改并保存。</p><p>  6、學生信息的計算并排序。計算每個學生三門課程的總分(sum,整型)及平均分(aver,單精度,輸出一位小數),將包括所有數據的數組元素按

8、總分從大到小的順序排序打印出來。</p><p><b>  四、設計步驟</b></p><p>  1、需求分析:對系統的應實現的功能進行分析。</p><p>  2、概要設計:對系統功能進行模塊分解,對模塊的功能及模塊之間的相互關系進行說明(如用到函數,則對函數間的接口進行說明),對系統使用的數據結構(各數組、主要變量的設置及其代表的含

9、義)進行說明。</p><p>  3、詳細設計:用流程圖、偽代碼等方法對各主要算法進行描述。</p><p>  4、編寫代碼:根據設計編寫。源程序要按照程序的格式規(guī)范來編寫,要求結構清晰,界面友好,關鍵部分有必要的注釋。</p><p>  5、調試分析:準備充分的測試數據對系統進行調試(對錯誤的數據輸入也要進行測試,保證程序的容錯性),并通過測試對系統提出改進

10、設想。</p><p><b>  五、上交材料要求</b></p><p>  上交的材料應包括系統源代碼電子版、課程設計報告材料電子文檔及打印件各一份。系統源代碼電子版命名為“班級_學號_姓名.c”。課程設計報告電子版命名為“班級_學號_姓名.doc”。</p><p>  課程設計報告應包含封面、目錄、任務書、課程設計報告主體內容、封底。

11、課程設計報告格式應嚴格符合《課程設計報告格式》的要求(字體和排版均不得隨意改變),其中正文的字數一般不少于3000字(不含源代碼)。參考文獻、注釋必須符合學術論文的格式要求。</p><p>  課程設計報告還可包括:課程設計過程的收獲、遇到的問題、解決問題的方法或手段,對解決問題過程的思考、程序調試能力的思考,對C語言這門課程的思考,在課程設計過程中對《C語言》課程的認識等內容。</p><

12、p><b>  六、設計安排</b></p><p>  本課程設計的指導時間為第17周周一至周五和第18周周一至周五,每個班每天8節(jié)課。第18周周五對系統進行檢查和驗收,次周一提交相關材料。</p><p>  本課題可由5-6人組成的課題小組協作完成。組員間應對設計、各模塊編程、撰寫文檔、測試等任務有明確分工,并在項目開始時有合理的進度計劃,確保課題的順利完

13、成。提交的課程設計報告必須每人一份,其中必須單列對自己所負責部分的說明,包括任務內容、完成的方法、進行過程中遇到的問題及解決方案、完成情況等。</p><p><b>  七、成績考核與評定</b></p><p>  課程設計最后成績由指導教師根據學生完成任務的情況、課程設計報告的質量和課程設計過程中的態(tài)度等綜合評分。成績評定實行優(yōu)秀、良好、中等、及格和不及格五個等

14、級。不及格者不能得到相應的學分,需要重新做課程設計,經指導教師考核及格后,方可取得相應的學分。評分標準如下:</p><p>  優(yōu):系統功能完善,程序界面友好,有很強的實用性和良好的可擴展性,報告格式正確、各環(huán)節(jié)內容充實準確,并對系統提出有益的改進建議。</p><p>  良:系統功能較完善,程序界面清晰,有較強實用性,報告格式正確,各環(huán)節(jié)內容完整。</p><p&

15、gt;  中:系統功能基本完善,程序能正常運行,有一定的實用性,報告內容完整。</p><p>  及格:系統具備重要功能,程序主要模塊能正常運行,報告內容完整。</p><p>  不及格:系統未實現重要功能,或程序不能正常運行,或報告內容不完整。</p><p><b>  1、設計的目的</b></p><p> 

16、 1)復習鞏固C語言的基礎知識,進一步加深對C語言編程的理解和掌握;</p><p>  2)利用所學知識,理論和實際結合,利用資源,采用模塊化的結構,使用模仿修改自主設計相結合的方法,鍛煉學生綜合分析解決實際問題的編程能力;</p><p>  3)培養(yǎng)學生在項目開發(fā)中團隊合作精神、創(chuàng)新意識及實戰(zhàn)能力。</p><p><b>  2、設計的任務<

17、/b></p><p>  根據學生的實際情況,進行分組選題。主要的課程設計題目如下(學生也可自主選題):</p><p>  1、圖書信息管理系統 2、商品信息管理系統</p><p>  3、學生成績管理系統 4、職工信息管理系統 </p><p>  5、課程信息管理系統</

18、p><p>  課程設計采用學生自主設計和指導老師輔導相結合的方式。</p><p>  3、設計要求與設計報告</p><p><b>  設計要求:</b></p><p>  1、任選上述題目之一,或自選題目。  2、模塊化的程序設計 3、鋸齒形的程序書寫格式。 4、必須通

19、過編譯連接運行</p><p><b>  設計報告:</b></p><p><b>  1、設計目的和任務</b></p><p>  2、總體設計:包括程序設計組成框圖、流程圖。</p><p>  3、詳細設計:包括模塊功能說明:函數功能、入口及出口參數說明,函數調用關系描述等。</p

20、><p>  4、調試與測試:包括調試方法,測試結果分析與討論,測試過程中遇到的主要問題及采取的解決措施。</p><p>  5、源程序清單和執(zhí)行結果:清單中應有足夠的注釋</p><p>  目 錄</p><p>  1.總體設計………………………………………………………2</p><p>  2.詳細

21、設計………………………………………………………3</p><p>  3.課程設計報告內容…………………………………………………3</p><p>  3.1使用說明及運行實例…………………………………………8</p><p>  4.總結……………………………………………………………11</p><p>  5.參考資料…………………………

22、…………………………………11</p><p>  6.C語言課程設計心得……………………………………………12</p><p>  7.附錄…………………………………………………………………13</p><p><b>  一 設計目的</b></p><p>  1、熟練掌握C語言課程中所學的理論知識;</p

23、><p>  2、通過綜合C語言的基本知識來解決實際問題;</p><p>  3、加強分析和解決問題的能力。</p><p>  二 課程設計的內容</p><p>  要求:設計一個學生信息管理系統,使之能提供以下功能:</p><p>  1、應提供一個界面來調用各個功能,調用界面和各個功能的操作界面應盡可能清晰美

24、觀!</p><p>  2、錄入學生信息:可以輸入學生各種相關信息并可以輸入多個學生信息并保存。</p><p>  3、顯示學生總成績信息:可以顯示錄入的學生總成績信息。</p><p>  4、總成績排序:可以對錄入的學生總成績進行排序。</p><p>  5、顯示學生單科成績排序:可以對錄入的學生單科成績進行排序。</p>

25、;<p>  6、添加學生信息:在不影響已經錄入成績的學生信息前提下,增加新的學生信息。</p><p>  7、刪除學生成績:通過輸入學號,刪除錄入中的該學號的學生信息。</p><p>  8、查詢學生信息:通過輸入學號,游覽該名學號的學生信息。</p><p>  9、從文件讀入學生信息:可以通過查找外界文件,直接將外界學生信息輸入到程序中<

26、;/p><p>  10、刪除文件中學生信息:可以將外界文件中的學生信息刪除</p><p>  11、保存學生信息:可以保存當前程序中錄入的學生信息</p><p>  12、退出:退出學生信息管理系統</p><p>  3.課程設計報告內容</p><p><b>  1.總體設計方案</b>&

27、lt;/p><p><b>  系統的總體流程圖</b></p><p><b>  2詳細設計</b></p><p><b>  進入程序:</b></p><p>  用戶名:彭彥彰,密碼:123456</p><p>  .歡迎:顯示學生信息管理系統

28、的主菜單,供用戶選擇所需的功能,通過自己定義的void main()函數來實現。</p><p>  .輸入模塊:輸入1進入void input(); 函數定義的錄入模塊,供用戶進行學生成績的的開始錄入工作</p><p>  .刪除模塊:輸入6進入void del();函數定義的刪除模塊,通過輸入某一學生學號對該名學生信息進行刪除工作.</p><p>  .查找

29、模塊:輸入8進入void find(); 函數定義的查找數據模塊,通過輸入某一學生學號從數據中查找該名學生全部信息.</p><p>  修改模塊:輸入7進入void modify() :函數定義的修改數據模塊,通過輸入某一學生學號從數據中修改改名學生的信息,可以選擇修改某條信息或者不修改某條信息</p><p>  求總成績與平均數模塊:輸入3進入void average()函數定義的求

30、平均數模塊,可以顯示至今錄入的學生成績的英語,數學,計算機三門成績平均值</p><p>  退出系統模塊:退出學生信息管理系統,通過頭文件windows.h中的exit函數來實現</p><p>  3.1使用說明及運行實例</p><p>  (1)輸入密碼,運行程序,進入學生信息管理系統的主菜單:</p><p><b>  

31、(2)查詢界面:</b></p><p>  (3)學生成績列表界面:</p><p>  (4)學生成績修改界面:</p><p>  通過主程序界面進入各個功能選項,如圖所述</p><p>  我負責的模塊是”用戶密碼登陸、歡迎等整理各個函數部分”,通過編好的函數應用在主函數中運行,自定義初始密碼,當輸入的密碼與自定義的密碼

32、一致時,方可登陸;歡迎界面函數,簡單的使用printf語句實現!下面是我的程序源代碼</p><p>  void Mima()</p><p><b>  { </b></p><p><b>  int i=0;</b></p><p>  char password[50],c;</p&

33、gt;<p>  printf("\t\t\t\t密 碼:");</p><p>  while((c=getch())!=13)</p><p><b>  {</b></p><p><b>  if(c==8)</b></p><p><b>  

34、{</b></p><p>  printf("\b \b");</p><p><b>  i--;</b></p><p><b>  continue;</b></p><p><b>  }</b></p><p>

35、;  password[i++]=c;</p><p>  putchar('*');</p><p><b>  }</b></p><p>  printf("\n");</p><p>  password[i]='\0';</p><p>

36、;  if(strcmp(mima,password)==0)</p><p><b>  {</b></p><p>  printf("密碼正確!\n");</p><p>  system("cls");</p><p><b>  menu();</b>

37、;</p><p><b>  }</b></p><p><b>  else</b></p><p>  printf("\t\t\t密碼錯誤,請重新輸入!\n");</p><p><b>  }</b></p><p>  v

38、oid Zhao()</p><p><b>  {</b></p><p>  char YHM[50];</p><p>  printf("\t\t\t\t用戶名:");</p><p>  scanf("%s",&YHM); </p><p&

39、gt;<b>  }</b></p><p>  void xianshi1()</p><p><b>  { </b></p><p>  printf("\t ★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★\n");</p><p>  printf(&q

40、uot;\t ********************************************************** \n");</p><p>  printf("\t Student achievement management system management system!\n");</p><p>  printf("

41、\t !^_^ 學生成績管理系統 ^_^! \n");</p><p>  printf("\t *********************************************************\n"); </p><p>  printf("\t ★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

42、☆★☆★☆★☆★\n");</p><p>  printf("\n\n");</p><p>  printf("\t ╭⌒╮¤ 東邊日出  ╭⌒╮ 西邊雨  \n");</p><p>  printf("\t ╭╭ ⌒╮道是無晴 ●

43、╭○╮ ╭╭ ⌒╮卻有晴 \n"); </p><p>  printf("\t ╰ ----╯ /█∨█\ ╰ ----╯ \n");</p><p>  printf("\t ~~~~~~~~~~~~~ ~~ ∏~~∏ ~~ ~~~~~~~~~~~~~

44、 \n"); </p><p><b>  }</b></p><p>  void xianshi()</p><p><b>  {</b></p><p>  printf("\n\n");</p><p>  printf(

45、"\t ╭⌒╮¤ 東邊日出  ╭⌒╮ 西邊雨  \n");</p><p>  printf("\t ╭╭ ⌒╮道是無晴 ●╭○╮ ╭╭ ⌒╮卻有晴 \n"); </p><p>  printf("\t ╰ ----╯ /█∨

46、█\ ╰ ----╯ \n");</p><p>  printf("\t ~~~~~~~~~~~~~ ~~ ∏~~∏ ~~ ~~~~~~~~~~~~~ \n"); </p><p><b>  }</b></p><p><b>  運用實例

47、:</b></p><p><b>  總結</b></p><p>  經過這段時間開發(fā)過程風們了解了c++程序的具體涵義,大體熟悉了開發(fā)流程,也撐握了軟件文檔的編寫,學到了很多以前沒有了解到的知識,由于時間的不夠充分和知識上的不足,大量的時間都用作學習,所以留給軟件開發(fā)的時間相對較少一些,造成的結果是,開發(fā)的過程不是均勻,但是經過這段時間的開發(fā),終于完

48、成了課題。學到的知識都是很值得珍惜的。</p><p>  由于本課題中的許多知識點都沒有學過都要靠自己到課外的資料中去查找。在用的時候難免出現這樣那樣的錯誤。如開始設計出來的菜單不是預想的那樣,而是總個窗中出現混亂。解決的這個問題的辦法是調整。一個系統的菜單和提示信息非常重要。如果沒有這些用戶根本不知道怎么用你設計的這個系統。在設計的調試過程中也無法順利的完成調試工作。有了一個清晰簡單的菜單和一些提示信息這后,

49、調試過程完成的非常順利。</p><p><b>  5、參考資料</b></p><p>  《C程序設計》(第三版) 譚浩強 著 清華大學出版社</p><p>  《C語言三日通》 ~ (美)(S.A.阿博爾魯)Sam A.A (作者) </p><p>  《The C Programming Languag

50、e》~(美)Brian W.Kernighan,Dennis M.Ritchie</p><p>  http://blog.jobbole.com/16035/ :很酷的C語言技巧</p><p>  http://see.xidian.edu.cn/cpp/ :C語言中文網</p><p>  6、C語言課程設計心得</p>

51、;<p>  通過這一次的課程設計,我的體會相當大,第一天開始,我們一下子從書本上的理論,來到了實際的操作,而且馬上就要編寫一段完整的可以運行的程序,讓我們感覺,這完全不同于以往,也讓我們清醒的認識到,我們學習的知識是可以運用到實際操作中的,而且這次課程設計也完全沒有所謂的正確答案,只要做的符合要求,一切程序都是正確的。</p><p>  第一天我們略顯得有些手足無措,6個人一起研究主程序的寫法,

52、卻在密碼上遇到了阻礙,結果一個上午之后密碼問題依舊沒有解決,但是經過后續(xù)的學習,以及其他同學們提供的他們的編寫想法,也讓我們在做自己的程序上,得益良多,在第二天的課程設計中,順利的攻克了密碼難關,接下來,我們六人分工合作,展開了如火如荼的工作,在一個星期之內完成了基本操作,真是應了中國那句老話“人多力量大啊”,接下來的一星期中,我們從之前的分工合作,又變回了集體工作,一起在更加美觀,程序更加簡潔,功能更加齊全上下力氣,終于功夫不負有心人

53、,我們組在規(guī)定的時間內完成了本學期的課程設計,這對我們不光光是一次學習,也是一次讓我認識到自己能力的機會,在這次集體合作中,我們組表現相當出色,雖然有些地方稍有摩擦,不過大家都知道什么才是大局,求同的想法,時時在我們腦中,通過這一次機會,更加加深了我們組的羈絆,相信我們組在今后的集體活動中也能發(fā)揮出色表現!</p><p><b>  附錄</b></p><p> 

54、 #include<stdio.h> </p><p>  #include<conio.h> </p><p>  #define mima "123456" </p><p>  #include <stdlib.h>

55、 </p><p>  #include<string.h> </p><p>  #define MAX 1000</p><p>  void menu(); </p><p>  void Mima();</p><p>  void Zhao(

56、);</p><p>  void xianshi1();</p><p>  void xianshi();</p><p>  void input(); /*輸入數據函數*/ </p><p>  void sort();

57、 /*排序數據函數*/ </p><p>  void display(); /*顯示數據函數*/ </p><p>  void display1(); /*顯示各科成績函數*/ &l

58、t;/p><p>  void insert(); /*插入數據函數*/ </p><p>  void del(); /*刪除數據函數*/ </p><p>  void average();

59、 /*平均值函數*/ </p><p>  void find(); /*查找數據函數*/ </p><p>  void save(); /*保存數據函數*

60、/ </p><p>  void read(); /*讀出數據函數*/ </p><p>  void del_file(); /*刪除文件函數*/ </p><p>  void modify();

61、 /*修改文件函數*/ </p><p>  int now_no=0; </p><p>  struct student //定義學生信息</p><p><b>  { </b><

62、/p><p>  int no; // 學號</p><p>  char name[20]; //姓名 </p><p>  char sex[4];

63、 //性別</p><p>  float score1; //成績1</p><p>  float score2; //成績2</p><p>  float score3;

64、 //成績3</p><p>  float sort; //排序成績</p><p>  float ave; //平均分</p><

65、p>  float sum; //總分</p><p><b>  }; </b></p><p>  void main()</p><p><b>  {</b></p><p>  xianshi1();

66、</p><p><b>  Zhao();</b></p><p><b>  Mima();</b></p><p><b>  }</b></p><p>  struct student stu[MAX],*p; </p><p>  void

67、menu() /*主函數*/ </p><p><b>  { </b></p><p><b>  int as; </b></p><p><b>  char ch; </b></p><p

68、><b>  do{ </b></p><p>  xianshi();</p><p>  start: printf("\n\n\n\n\t\t\t 歡迎使用學生成績管理系統\n"); </p><p>  printf("\n\n\n\n\t\t******************按任意鍵繼續(xù)**

69、******************"); </p><p>  ch=getch(); </p><p><b>  } </b></p><p>  while(!ch); </p><p>  system("cls"); </p><p>  /*以下為功能選

70、擇模塊*/ </p><p><b>  do </b></p><p><b>  { </b></p><p>  printf("\n\t\t\t\t1.錄入學生信息\n\n\t\t\t\t2.顯示學生總成績信息\n\n\t\t\t\t3.對總成績排序\n\n\t\t\t\t4.顯示學生單科成績排序\n\n

71、\t\t\t\t5.添加學生信息\n\n\t\t\t\t6.刪除學生信息\n\n\t\t\t\t7.修改學生信息\n\n\t\t\t\t8.查詢學生信息\n\n\t\t\t\t9.從文件讀入學生信息\n\n\t\t\t\t10.刪除文件中學生信息\n\n\t\t\t\t11.保存學生信息\n\n\t\t\t\t12.退出\n"); </p><p>  printf("\t\t\t\t選擇功能

72、選項(輸入所選功能前的數字):"); </p><p>  fflush(stdin); </p><p>  /*可用可不用,用于清除緩存防止下次用scanf輸入時出現錯誤*/ </p><p>  scanf("%d",&as); </p><p>  switch(as) </p>&

73、lt;p><b>  { </b></p><p>  case 1:system("cls"); </p><p><b>  input(); </b></p><p><b>  break; </b></p><p>  case 2:syst

74、em("cls"); </p><p>  display(); </p><p><b>  break; </b></p><p>  case 3:system("cls"); </p><p><b>  sort(); </b></p>

75、<p><b>  break; </b></p><p>  case 4:system("cls"); </p><p>  display1(); </p><p><b>  break; </b></p><p>  case 5:system("

76、cls"); </p><p>  insert(); </p><p><b>  break; </b></p><p>  case 6:system("cls"); </p><p><b>  del(); </b></p><p>&

77、lt;b>  break; </b></p><p>  case 7:system("cls"); </p><p>  modify(); </p><p><b>  break; </b></p><p>  case 8:system("cls"); &

78、lt;/p><p><b>  find(); </b></p><p><b>  break; </b></p><p>  case 9:system("cls"); </p><p><b>  read(); </b></p><p

79、><b>  break; </b></p><p>  case 10:system("cls"); </p><p>  del_file(); </p><p><b>  break; </b></p><p>  case 11:system("cls&

80、quot;); </p><p><b>  save(); </b></p><p><b>  break; </b></p><p>  case 12:system("exit"); </p><p><b>  exit(0); </b></

81、p><p>  default:system("cls"); </p><p>  goto start; </p><p><b>  } </b></p><p><b>  }</b></p><p>  while(1);

82、 /*while(1),1表示真,所以while(1)表示永遠循環(huán)下去*/ </p><p>  /*至此功能選擇模塊結束*/ </p><p><b>  }</b></p><p>  void input()

83、 /*學生信息錄入模塊*/ </p><p><b>  { </b></p><p><b>  int i=0; </b></p><p><b>  char ch; </b></p><p><b>  do </b></p>

84、<p><b>  { </b></p><p>  printf("\t\t\t\t1.錄入學生信息\n輸入第%d個學生的信息\n",i+1); </p><p>  printf("\n輸入3位的學生學號:"); </p><p>  scanf("%u",&s

85、tu[i].no); </p><p>  fflush(stdin); </p><p>  printf("\n輸入學生姓名:"); </p><p>  fflush(stdin); </p><p>  gets(stu[i].name); </p><p>  printf("\

86、n輸入學生性別:"); </p><p>  fflush(stdin); </p><p>  gets(stu[i].sex); </p><p>  printf("\n輸入英語成績:"); </p><p>  scanf("%f",&stu[i].score1); </

87、p><p>  printf("\n輸入計算機成績:"); </p><p>  fflush(stdin); </p><p>  scanf("%f",&stu[i].score2); </p><p>  printf("\n輸入數學成績:"); </p>&

88、lt;p>  fflush(stdin); </p><p>  scanf("%f",&stu[i].score3); </p><p>  printf("\n\n"); </p><p><b>  i++; </b></p><p>  now_no=i; &

89、lt;/p><p>  printf("是否繼續(xù)輸入?(Y/N)"); </p><p>  fflush(stdin); </p><p>  ch=getch(); </p><p>  system("cls"); </p><p><b>  } </b>

90、;</p><p>  while(ch!='n'&&ch!='N'); </p><p>  system("cls"); </p><p><b>  } </b></p><p>  void sort()

91、 /*排序數據函數*/ </p><p><b>  { </b></p><p>  struct student temp; </p><p><b>  int i,j; </b></p><p>  average(); </p>&

92、lt;p>  for(i=1;i<now_no;i++) </p><p><b>  { </b></p><p>  for(j=1;j<=now_no-i;j++) </p><p><b>  { </b></p><p>  if(stu[j-1].ave<stu[

93、j].ave) </p><p><b>  { </b></p><p>  temp=stu[j]; </p><p>  stu[j]=stu[j-1]; </p><p>  stu[j-1]=temp; </p><p><b>  } </b></p>

94、<p><b>  } </b></p><p><b>  } </b></p><p>  printf("排序已完成進入功能2可進行顯示\n"); </p><p>  system("pause"); </p><p>  system(

95、"cls"); </p><p><b>  } </b></p><p>  void sort1() /*排序數據函數*/ </p><p><b>  { </b></p><p>  st

96、ruct student temp; </p><p><b>  int i,j; </b></p><p>  for(i=1;i<now_no;i++) </p><p><b>  { </b></p><p>  for(j=1;j<=now_no-i;j++) </p&

97、gt;<p><b>  { </b></p><p>  if(stu[j-1].score1<stu[j].score1) </p><p><b>  { </b></p><p>  temp=stu[j]; </p><p>  stu[j]=stu[j-1]; <

98、;/p><p>  stu[j-1]=temp; </p><p><b>  } </b></p><p><b>  } </b></p><p><b>  } </b></p><p><b>  } </b></p>

99、;<p>  void sort2() /*排序數據函數*/ </p><p><b>  { </b></p><p>  struct student temp; </p><p><b>  int i,j; </b>&

100、lt;/p><p>  for(i=1;i<now_no;i++) </p><p><b>  { </b></p><p>  for(j=1;j<=now_no-i;j++) </p><p><b>  { </b></p><p>  if(stu[j-1]

101、.score2<stu[j].score2) </p><p><b>  { </b></p><p>  temp=stu[j]; </p><p>  stu[j]=stu[j-1]; </p><p>  stu[j-1]=temp; </p><p><b>  } &l

102、t;/b></p><p><b>  } </b></p><p><b>  } </b></p><p><b>  } </b></p><p>  void sort3() /*

103、排序數據函數*/ </p><p><b>  { </b></p><p>  struct student temp; </p><p><b>  int i,j; </b></p><p>  for(i=1;i<now_no;i++) </p><p><

104、;b>  { </b></p><p>  for(j=1;j<=now_no-i;j++) </p><p><b>  { </b></p><p>  if(stu[j-1].score3<stu[j].score3) </p><p><b>  { </b>&

105、lt;/p><p>  temp=stu[j]; </p><p>  stu[j]=stu[j-1]; </p><p>  stu[j-1]=temp; </p><p><b>  } </b></p><p><b>  } </b></p><p&g

106、t;<b>  } </b></p><p><b>  } </b></p><p>  void display() /*顯示數據函數*/ </p><p><b>  { </b></p><p&

107、gt;<b>  int i; </b></p><p><b>  char as; </b></p><p>  average(); </p><p><b>  do </b></p><p><b>  { </b></p>

108、<p>  printf("\t\t\t班級學生信息列表\n"); </p><p>  printf("\t學號\t姓名\t性別\t成績1\t成績2\t成績3\t平均值\n"); </p><p>  for(i=0;i<now_no&&stu[i].name[0];i++) </p><p>

109、;  printf("\t%u%s\t%s\t%.2f\t%.2f\t%.2f\t%.2f\n",stu[i].no,stu[i].name,stu[i].sex,stu[i].score1,stu[i].score2,stu[i].score3,stu[i].ave); </p><p>  printf("\t\t\t按任意鍵返回主菜單"); </p>&

110、lt;p>  fflush(stdin); </p><p>  as=getch(); </p><p><b>  } </b></p><p>  while(!as); </p><p>  system("cls"); </p><p><b>  }

111、 </b></p><p>  void display1() /*顯示數據函數*/ </p><p><b>  { </b></p><p><b>  int i; </b></p><p>  char

112、 as; </p><p><b>  do </b></p><p><b>  { </b></p><p>  printf("\t\t\t班級學生score1成績排序\n"); </p><p>  printf("\t學號\t姓名\t性別\t成績1\n&q

113、uot;); </p><p><b>  sort1(); </b></p><p>  for(i=0;i<now_no&&stu[i].name[0];i++) </p><p>  printf("\t%u%s\t%s\t%.2f\t\n",stu[i].no,stu[i].name,stu[i

114、].sex,stu[i].score1); </p><p>  printf("\t\t\t班級學生score2成績排序\n"); </p><p>  printf("\t學號\t姓名\t性別\t成績2\n"); </p><p><b>  sort2(); </b></p><

115、p>  for(i=0;i<now_no&&stu[i].name[0];i++) </p><p>  printf("\t%u%s\t%s\t%.2f\t\n",stu[i].no,stu[i].name,stu[i].sex,stu[i].score2); </p><p>  printf("\t\t\t班級學生score

116、3成績排序\n"); </p><p>  printf("\t學號\t姓名\t性別\t成績3\n"); </p><p><b>  sort3(); </b></p><p>  for(i=0;i<now_no&&stu[i].name[0];i++) </p><p

117、>  printf("\t%u%s\t%s\t%.2f\t\n",stu[i].no,stu[i].name,stu[i].sex,stu[i].score3); </p><p>  printf("\t\t\t按任意鍵返回主菜單"); </p><p>  fflush(stdin); </p><p>  as=

118、getch(); </p><p><b>  } </b></p><p>  while(!as); </p><p>  system("cls"); </p><p><b>  }</b></p><p>  void insert()

119、 /*插入數據函數*/ </p><p><b>  { </b></p><p><b>  char ch; </b></p><p><b>  do </b></p><p><b>  

120、{ </b></p><p>  printf("\n\t\t輸入新插入學生信息\n"); </p><p>  printf("\n輸入學生學號:"); </p><p>  scanf("%u",&stu[now_no].no); </p><p>  ffl

121、ush(stdin); </p><p>  printf("\n輸入學生姓名:"); </p><p>  fflush(stdin); </p><p>  gets(stu[now_no].name); </p><p>  printf("\n輸入學生性別:"); </p><

122、;p>  fflush(stdin); </p><p>  gets(stu[now_no].sex); </p><p>  printf("\n輸入英語成績:"); </p><p>  fflush(stdin); </p><p>  scanf("%f",&stu[now_no

123、].score1); </p><p>  printf("\n輸入計算機成績:"); </p><p>  fflush(stdin); </p><p>  scanf("%f",&stu[now_no].score2); </p><p>  printf("\n輸入數學成績:&

124、quot;); </p><p>  fflush(stdin); </p><p>  scanf("%f",&stu[now_no].score3); </p><p>  printf("\n\n"); </p><p>  now_no=now_no+1; </p><

125、;p><b>  sort(); </b></p><p>  printf("是否繼續(xù)輸入?(Y/N)"); </p><p>  fflush(stdin); </p><p>  ch=getch(); </p><p>  system("cls"); </p&

126、gt;<p><b>  } </b></p><p>  while(ch!='n'&&ch!='N'); </p><p><b>  } </b></p><p>  void del()

127、 /*刪除數據函數*/ </p><p>  {unsigned long inum; </p><p><b>  int i; </b></p><p>  printf("輸入要刪除學生的學號:"); </p><p>  fflush(stdin); </p>

128、<p>  scanf("%u",&inum); </p><p>  for(i=0;i<now_no;i++) </p><p><b>  { </b></p><p>  if(stu[i].no==inum) </p><p><b>  { </b

129、></p><p>  if(i==now_no)now_no-=1; </p><p><b>  else </b></p><p><b>  { </b></p><p>  stu[i]=stu[now_no-1]; </p><p>  now_no-=1;

130、 </p><p><b>  } </b></p><p><b>  sort(); </b></p><p><b>  break; </b></p><p><b>  } </b></p><p><b>  

131、} </b></p><p>  system("cls"); </p><p><b>  } </b></p><p>  void save() /*保存數據函數*/ </p><p><b&

132、gt;  { </b></p><p>  FILE *fp; </p><p><b>  int i; </b></p><p>  char filepath[20]; </p><p>  printf("輸入要保存的文件路徑:"); </p><p>  

133、fflush(stdin); </p><p>  gets(filepath); </p><p>  if((fp=fopen(filepath,"w"))==NULL) </p><p><b>  { </b></p><p>  printf("\n保存失敗!"); &l

134、t;/p><p><b>  exit(0); </b></p><p><b>  } </b></p><p>  for(i=0;i<now_no;i++) </p><p><b>  { </b></p><p>  stu[i].sum=s

135、tu[i].score1+stu[i].score2+stu[i].score3; </p><p>  stu[i].ave=stu[i].sum/3; </p><p>  fprintf(fp,"\t%u%s\t%s\t%.2f\t%.2f\t%.2f\t%.2f\n",stu[i].no,stu[i].name,stu[i].sex,stu[i].score1,

136、stu[i].score2,stu[i].score3,stu[i].ave); </p><p><b>  } </b></p><p>  fclose(fp); </p><p>  printf("學生信息已保存在%s中!\n",filepath); </p><p>  system(&q

溫馨提示

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

評論

0/150

提交評論