c_語言的課程設計學生信息管理_第1頁
已閱讀1頁,還剩26頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p><b>  目 錄</b></p><p><b>  目 錄2</b></p><p>  一、課程設計的目的與要求2</p><p><b>  二、題目說明4</b></p><p>  2.1程序開發(fā)背景4</p>

2、<p>  2.2開發(fā)工具介紹4</p><p><b>  三、總體設計6</b></p><p>  3.1.系統(tǒng)開發(fā)平臺:6</p><p>  3.2 .系統(tǒng)流程圖:7</p><p>  3.3功能結構圖:8</p><p><b>  四、詳細說明9&l

3、t;/b></p><p>  4.1 系統(tǒng)實施9</p><p>  五、遇到的問題和解決方法17</p><p>  六、課程設計總結19</p><p><b>  七、參考文獻20</b></p><p>  附錄(源程序代碼)21</p><p>

4、  課程設計的目的與要求</p><p>  一、課程設計的目的與要求</p><p>  目的:應用所學C語言知識完成相對復雜的任務,進一步鞏固C語言。理解并將其應用到實際問題中去。</p><p>  要求:(1)整個程序用C 語言來實現(xiàn)</p><p> ?。?)利用指針等來實現(xiàn)學生信息管理的數(shù)據(jù)結構設計</p><

5、p> ?。?)系統(tǒng)具有查詢、輸入、輸出、修改、排序、刪除、退出基本功能</p><p> ?。?)系統(tǒng)的各個功能模塊都用函數(shù)的形式來實現(xiàn)</p><p>  (5)可以將學生信息從文件中讀取出來 </p><p><b>  1課程設計步驟:</b></p><p> ?。?)對系統(tǒng)進行功能需求分析;</p&

6、gt;<p> ?。?)設計合理的數(shù)據(jù)結構和系統(tǒng)框架;</p><p> ?。?)編程簡練,程序功能齊全,能正確運行;</p><p> ?。?)說明書、流程圖要清楚;</p><p>  (5)課題完成后必須按要求提交課程設計說明書;</p><p>  在課程設計過程中要求學生:重視課程設計環(huán)節(jié),用嚴謹、科學和踏實的工作態(tài)度

7、對待課程設計的每一項任務;按照課程設計的題目要求,獨立地完成各項任務,不允許相互抄襲;按時到機房上機,并接受教師的檢查。認真編寫課程設計報告。</p><p>  課程設計可以由2~4名同學合作完成一個課題。全體成員應共同協(xié)作完成選題,確定設計思想,進行功能模塊劃分,然后由組長為各成員分配任務。整個設計期間,組長負責協(xié)調工作。各小組成員明確自己的任務后,應獨立完成各自模塊的設計、編碼和調試,獨立完成課程設計說明書

8、。小組成員要理解同組其他成員設計的模塊,熟練操作本組設計。</p><p>  2 考核方式和成績評定</p><p><b>  考核分為兩個部分:</b></p><p>  (1)程序運行情況:按規(guī)定時間到機房運行程序,由老師檢查運行情況</p><p>  (2)課程設計報告:是否按規(guī)定書寫課程設計要求的各項內容

9、</p><p>  課程設計成績采用百分制:100%=平時(20%)+上機檢查(30%)+課程設計報告(50%)</p><p><b>  二、題目說明</b></p><p><b>  題目說明</b></p><p>  學生信息包括:學號,姓名。試設計一學生信息管理系統(tǒng),使之能提供以下功

10、能:</p><p><b>  系統(tǒng)以菜單方式工作</b></p><p>  學生信息錄入功能(學生信息用文件保存)---輸入</p><p>  學生信息瀏覽功能---輸出</p><p>  查詢、排序功能---算法</p><p><b>  按學號查詢</b>&l

11、t;/p><p><b>  按姓名查詢</b></p><p>  輸出最大值,最小值,平均值</p><p>  學生信息的刪除與修改(可選項) </p><p><b>  2.1程序開發(fā)背景</b></p><p>  隨著社會發(fā)展,近年來大學不斷擴招,大學生人數(shù)不斷的

12、增加,因此如此龐大的人 如果不進行有效的管理就大大的增加了工作人員的工作強度,現(xiàn)在電子計算機技術和軟件業(yè)的日趨完善給現(xiàn)代辦公帶來了極大的便利,利用軟件就很容易的解決了這種問題從而幫助工作人員高效的合理的管理。本學生信息管理系統(tǒng)就是本著這個目的,幫助老師進行有效的管理,減輕工作強度和提高工作效率,使管理更方便快捷。</p><p><b>  2.2開發(fā)工具介紹</b></p>

13、<p>  C語言發(fā)展如此迅速,而且成為最受歡迎的語言之一,主要因為它具有強大的功能。</p><p>  C語言具有以下特點: </p><p><b>  C語言是結構式語言</b></p><p>  結構式語言的顯著特點是代碼級數(shù)據(jù)的分隔化,即程序的各個部分除了必要的信息交流外彼此獨立。</p><p&g

14、t;<b>  C語言功能齊全</b></p><p>  C語言具有各種各樣的數(shù)據(jù)類型,并引入了指針概念,可是程序效率更高,另外C語言具有強大的圖形功能,支持多種顯示器和驅動。</p><p><b>  C語言適用范圍大</b></p><p>  C語言還有一個突出的特點就是適合于多種操作系統(tǒng)。</p>

15、<p>  通過C語言,我們能夠實現(xiàn)學生的成績的基本管理,完成對其成績的各種操作。</p><p><b>  三、總體設計</b></p><p>  3.1.系統(tǒng)開發(fā)平臺:</p><p>  學生成績管理系統(tǒng)是為了方便用戶根據(jù)需要對學生的各科成績信息進行管理的系統(tǒng)。在如今的現(xiàn)代化信息理念下,一個學生管理系統(tǒng)在國際各大高校的教育

16、機構中是一個必不可少的應用程序,他可以方便的對學生信息進行查詢,刪除,修改,排序等功能,大大提高工作效率。</p><p>  學生成績管理系統(tǒng)包括人員信息的錄入,信息查詢,刪除,添加,排序等操作。內容比較龐大復雜。通過以上說明,我們可以總結得到如下的系統(tǒng)結構圖。</p><p>  3.2 .系統(tǒng)流程圖:</p><p><b>  圖 3-1<

17、;/b></p><p>  3.3功能結構圖: </p><p><b>  圖 3-2</b></p><p><b>  四、詳細說明</b></p><p><b>  4.1 系統(tǒng)實施</b></p><p>  #include&l

18、t;stdio.h></p><p>  #include<conio.h></p><p><b> ?。?)定義個結構體</b></p><p><b>  代碼:</b></p><p>  struct student</p><p><b&g

19、t;  {</b></p><p>  int number; /*學號*/</p><p>  char name[10]; /*姓名*/</p><p>  int score[4]; /*score[1]: 應用數(shù)學score[2]: 大學英語score[3]: Jave程序設計</p><

20、p>  score[4]: 計算機應用基礎*/ </p><p>  float ave; /*每個學生平均成績*/ </p><p><b>  }</b></p><p>  struct student STU input();</p><p>  (2) 學生信息輸入(學號、姓名、各科

21、成績)代碼:函數(shù)功能:輸入學生的學號、姓名、各科成績,函數(shù)參數(shù):結構體指針head,指向存儲學生信息的結構體數(shù)組的首地址。整形變量n表示學生數(shù)。函數(shù)返回值:沒有。</p><p>  void Appscore(STU *head,int n)</p><p><b>  {</b></p><p><b>  int j;</

22、b></p><p><b>  STU *p;</b></p><p>  for(p=head;p<head+n;p++)</p><p><b>  {</b></p><p>  printf("\ninput number:");</p>&l

23、t;p>  scanf("%d",&p->number);</p><p>  printf("input name");</p><p>  scanf("%s",p->name);</p><p>  for(j=0;j<4;j++)</p><p&g

24、t;<b>  {</b></p><p>  printf("input score%d:"); </p><p>  scanf("%d",p->score+j);</p><p><b>  }</b></p><p><b>  }

25、}</b></p><p><b>  圖 4-1</b></p><p><b>  圖 4-2</b></p><p>  此函數(shù)功能是:學校從鍵盤上輸入學生學號、姓名、各科成績等數(shù)據(jù)。</p><p> ?。?)輸出學生學號、姓名、各科成績等信息代碼:函數(shù)功能:輸出學生學號、姓名

26、、各科成績等信息;函數(shù)參數(shù):結構體指針head,指向存儲學生信息的結構體組的首地址。整形變量n表示學生數(shù),函數(shù)返回值:沒有。</p><p>  void printscore(STU *head,int n)</p><p><b>  {</b></p><p><b>  STU *p;</b></p>

27、<p>  int i,temp[4];</p><p>  char str[100]={'\0'};</p><p>  strcat(str,"Number Name");</p><p>  for(i=1;i<=4;i++)</p><p><b>  {</

28、b></p><p>  strcat(str, "score");</p><p>  itoa(i,temp,10) ;</p><p>  strcat(str,temp);</p><p>  strcat(str," ");</p><p><b>  

29、}</b></p><p>  strcat(str," ave ");</p><p>  printf("%s",str); /*打印表頭*/</p><p>  for(p=head;p<head+n;p++)</p><p><b>  {</b>&

30、lt;/p><p>  printf("\nNO.%3d%8s",p->number,p->name);</p><p>  for(i=0;i<4;i++)</p><p><b>  {</b></p><p>  printf("%7d",p->score

31、[i]);</p><p><b>  }</b></p><p>  printf("%9.2f",p->ave);</p><p><b>  }</b></p><p><b>  }</b></p><p>  函數(shù)功能

32、:為打印出學生學號、姓名、各科成績等信息</p><p> ?。?)計算學生個人平均分并按個人平均分排名</p><p>  A: 計算學生個人平均分代碼:函數(shù)功能:計算學生個人平均分;函數(shù)參數(shù):結構體指針head,指向存儲學生信息的結構體組的首地址。整形變量n表示學生數(shù)。函數(shù)返回值:沒有。</p><p>  void avescore(STU *head,int

33、 n)</p><p><b>  {</b></p><p><b>  STU *p;</b></p><p>  int i,sum;</p><p>  for(p=head;p<head+n;p++)</p><p><b>  {</b>

34、;</p><p><b>  sum=0;</b></p><p>  for(i=0;i<4;i++)</p><p><b>  {</b></p><p>  sum=sum+p->score[i];</p><p><b>  }</b&

35、gt;</p><p>  p->ave=(float)sum/4;</p><p><b>  }</b></p><p><b>  }</b></p><p>  B: )按個人平均分排名代碼:函數(shù)功能:按個人平均分排名;函數(shù)參數(shù):結構體指針head,指向存儲學生信息的結構體組的首地址。

36、整形變量n表示學生數(shù)。函數(shù)返回值:沒有。</p><p>  void sortscore(STU *head,int n </p><p><b>  {</b></p><p>  int i,j,k;</p><p><b>  STU temp;</b></p><p&g

37、t;  for(i=0;i<n-1;i++)</p><p><b>  {</b></p><p><b>  k=i;</b></p><p>  for(j=i;j<n;j++)</p><p><b>  {</b></p><p>

38、  if((head+j)->ave>(head+k)->ave)</p><p><b>  {</b></p><p><b>  k=j;</b></p><p><b>  }</b></p><p><b>  if(k!=i)</b

39、></p><p><b>  {</b></p><p>  temp=*(head+k);</p><p>  *(head+k)=*(head+i);</p><p>  *(head+i)=temp; }}}</p><p>  (5)計算各科平均分</p><p

40、>  函數(shù)功能:代碼:計算學生各科平均分,函數(shù)參數(shù):結構體指針head,指向存儲學生信息的結構體組的首地址,整形變量n表示學生數(shù),函數(shù)返回值。</p><p>  void av2score(STU *head,int n)</p><p><b>  {</b></p><p><b>  STU *p;</b>&

41、lt;/p><p>  int i,sum;</p><p>  float ave[4];</p><p>  for(i=0;i<4;i++)</p><p><b>  {</b></p><p><b>  sum=0;</b></p><p&g

42、t;  for(p=head;p<head+n;p++)</p><p><b>  {</b></p><p>  sum=sum+(p->score[i]);</p><p><b>  }</b></p><p>  ave[i]=sum/10;</p><p&

43、gt;<b>  }</b></p><p>  for(i=0;i<4;i++)</p><p>  printf("%7d",ave[i]);</p><p><b>  }</b></p><p> ?。?)統(tǒng)計各科成績最高分和最低分。函數(shù)功能:統(tǒng)計各科成績最高分和最

44、低分</p><p>  函數(shù)參數(shù):結構體指針head,指向存儲學生信息的結構體組的首地址。整形變量n表示學生數(shù),函數(shù)返回值:沒有。</p><p>  void maxmin(STU *head,int n)</p><p><b>  {</b></p><p><b>  STU *p;</b>

45、;</p><p>  int i,max,min;</p><p>  for(i=0;i<4;i++)</p><p><b>  {</b></p><p>  max=p->score[i];</p><p>  min=p->score[i];</p>&

46、lt;p>  for(p=head;p<head+n;p++)</p><p><b>  {</b></p><p>  if(p->score[i]>max)</p><p>  max=p->score[i];</p><p>  if(p->score[i]<min)&l

47、t;/p><p>  min=p->score[i];</p><p><b>  }</b></p><p>  printf("score[%d] max is:%d",i,max);</p><p>  printf("score[%d] min is:%d",i,min)

48、;</p><p><b>  }</b></p><p><b>  }</b></p><p>  (7)學生查詢成績:函數(shù)功能:查找學生姓名;函數(shù)參數(shù):結構體指針head,指向存儲學生信息的結構體組的首地址。整形變量n表示學生數(shù),字符數(shù)組變量ming[10]:要查找的學生的姓名。函數(shù)返回值:學生成績名次。</p

49、><p><b>  A:</b></p><p>  int searchname(STU *head,char ming[10],int n)</p><p><b>  {</b></p><p><b>  int i;</b></p><p>  

50、for(i=0;i<n;i++)</p><p><b>  {</b></p><p>  if(strcmp((head+i)->name,ming)==0)</p><p><b>  return i;</b></p><p><b>  }</b><

51、/p><p>  return -1;</p><p><b>  }</b></p><p><b>  B:</b></p><p>  函數(shù)功能:找到學生的信息并輸出;函數(shù)參數(shù):結構體指針head,指向存儲學生信息的結構體組的首地址。整形變量n表示學生數(shù)。函數(shù)返回值:沒有。</p>

52、<p>  void searchscore(STU *head,int n)</p><p><b>  {</b></p><p>  char ming[10];</p><p><b>  int find;</b></p><p>  printf("please in

53、put the name you want to search:");</p><p>  scanf("%s",ming);</p><p>  find=searchname(head,ming[10],n);</p><p>  if(find==(-1))</p><p>  printf("\

54、not find!\n");</p><p><b>  else</b></p><p><b>  {</b></p><p>  printscore(head+find,1);</p><p>  printf("pai ming is:%7d",find);&

55、lt;/p><p><b>  }</b></p><p><b>  }</b></p><p><b>  圖 4-3</b></p><p> ?。?)函數(shù)功能:顯示菜單并獲得學生鍵盤輸入的選項,函數(shù)參數(shù):沒有;函數(shù)返回值:學生輸入的選項。</p><

56、;p>  char menu(void)</p><p><b>  {</b></p><p><b>  char ch;</b></p><p>  printf("#=========================================#\n");</p><

57、;p>  printf("# student's score manage system #\n");</p><p>  printf("#=========================================#\n");</p><p>  printf("#

58、 1.pai xu houjie guo #\n");</p><p>  printf("# 2.ge kezuigaofenyuzidifen #\n");</p><p>  printf("# 3.search scor

59、 #\n");</p><p>  printf("# 0.end program #\n");</p><p>  printf("#=========================================#\n");</

60、p><p>  printf("please input the num");</p><p>  scanf("%c",&ch);</p><p>  return ch;</p><p><b>  }</b></p><p><b>  

61、main程序:</b></p><p><b>  main()</b></p><p><b>  char ch;</b></p><p><b>  int n=10;</b></p><p>  STU stu[10];</p><p&g

62、t;  Appscore(stu,n); /*先輸入學生成績*/</p><p><b>  while(1)</b></p><p><b>  {</b></p><p>  ch=menu(); /*實現(xiàn)菜單的顯示*/</p><p>  sw

63、itch(ch)</p><p><b>  {</b></p><p>  case'1':avescore()stu,n ; </p><p>  printscore(stu,n); /*平均成績降序輸出成績表*/ </p><p><b>  break;<

64、/b></p><p>  case'2':maxmin(stu,n); /*各科最高分和最低分*/</p><p><b>  break;</b></p><p>  case'3':avescore(stu,n); /*輸入姓名查詢成績*/</p><

65、;p>  searchscore(stu,n);</p><p><b>  break;</b></p><p>  case'0':exit(0);</p><p>  printf("end of program");</p><p><b>  break;&l

66、t;/b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  五、遇到的問題和解決方法</p><p> ?。?)剛開始編寫程序,對各個函數(shù)的運用不熟練,因此

67、在開始的時候,總是出錯,在看書查看資料后,慢慢的好了起來。也沒有一開始出錯的。</p><p>  (2)剛開始執(zhí)行輸入函數(shù),按學號順序輸入十個學生的成績,輸完后執(zhí)行顯示功能,學生信息記錄是按學號的反順序顯示的,所以在輸入信息時只能按學號反順序輸入,最后就按學號正常順序輸出了。</p><p>  (3)剛開始行輸入函數(shù)時,在學號輸“0”后,不能一下子退出返回菜單,仍彈出需要輸入的信息。但

68、不影響輸入結果。所以在學號輸“0”后,輸入的學生信息是無效的。</p><p> ?。?)輸入太多個學生的信息時,屏幕顯示不能控制為一頁一頁顯示,所以為了方便起見,不要輸入太多記錄,十七左右為最佳。</p><p> ?。?)在沒有輸入任何信息的情況下,去執(zhí)行其他功能,顯示“沒有任何學生資料,請先建立鏈表!”</p><p> ?。?)在輸入選項時不能輸入字母,否則

69、會死循環(huán),建議不要亂輸字母。</p><p> ?。?).學生初始信息模塊:</p><p>  其中包括學生的姓名、學號和性別以及學生的語文、數(shù)學、英語和計算機等相關信息;可用函數(shù)cin(stu *p1)來實現(xiàn)此操作。當正確輸入存在的學生學號,系統(tǒng)進行判斷時,提示不存在此學生。</p><p><b>  解決辦法及步驟:</b></p

70、><p>  a.一個個輸出所有的學生的學號,檢查文件中是否有此學生,發(fā)現(xiàn)有。</p><p>  b .既然有此學生,那么檢查循環(huán)判斷是否有此學生的語句發(fā)現(xiàn)沒有錯</p><p>  c.輸出用于循環(huán)檢查語句中的學生信息,發(fā)現(xiàn)亂碼</p><p>  d.仔細分析亂碼的原因,最后發(fā)現(xiàn)是變量的類型錯誤,錯將學生類型的結構體指針變量定義為了其他類型

71、的指針變量。</p><p><b>  問題三、插入模塊:</b></p><p>  (8).可用insert( )函數(shù)來實現(xiàn)。其中通過學號的大小來比較的,并且以此來排序。當我們輸入插入信息時,系統(tǒng)卻提示插入不進數(shù)據(jù)。</p><p><b>  解決辦法及步驟:</b></p><p>  

72、a、檢查所編寫的程序代碼是否完全正確,若不是,則改之,然后再繼續(xù)正確輸入插入信息看能否插入進去得到所要插入的學生信息以及學生的語文、數(shù)學、英語和計算機的成績。</p><p>  b、檢查當我們在輸入插入信息時,看是否我們輸入的插入信息有錯誤的地方。</p><p><b>  六、課程設計總結</b></p><p>  這次課程設計,我感慨

73、頗多,從理論到實踐,在整整一星期的日子里,我學到很多很多的東西,真的驗證了:只有堅持不懈才能更接近成功。沒有人生來什么東西都會,只要努力你一定不會比別人差。這次實訓不僅鞏固了以前所學過的知識,而且學到了很多在書本上所沒有學到過的內容。通過這次課程設計使我懂得了理論與實際相結合是很重要的,只有理論知識是遠遠不夠的,只有把所學的理論知識與實踐相結合起來,從理論中得出結論,才是真正的知識,才能提高自己的實際動手能力和獨立思考的能力。</

74、p><p>  在設計的過程遇到了各種各樣的問題,例如,有的程序會出現(xiàn)各種錯誤,要通過調試和修改,同時在設計的過程中發(fā)現(xiàn)了自己的不足之處,對以前所學過的知識理解得不夠深刻,掌握得不夠牢固,通過這次課程設計,把以前所學過的知識重新溫故,鞏固了所學的知識。使自己由原來的對c語言的迷茫和恐懼變成了理解和樂觀。</p><p><b>  七、參考文獻</b></p>

75、<p>  (1)《C程序設計》;譚浩強著;清華大學出版社出版。</p><p>  (2)《C語言入門經典(原書第3版)》;張欣譯;Apress出版社出版。</p><p> ?。?)《C語言程序設計》;秀峰,黃倩譯;人民電出版社出版。</p><p>  (4)《實用C語言簡明教程》;顧小晶著;.中國電力出版社出版。</p><

76、p>  (5)《C語言程序設計》; 廖雷著;北京:高等教育出版社出版。</p><p><b>  附錄(源程序代碼)</b></p><p>  #include<stdio.h></p><p>  #include<conio.h></p><p>  struct student&l

77、t;/p><p><b>  {</b></p><p>  int number;</p><p>  char name[10];</p><p>  int score[4];</p><p>  float ave;</p><p><b>  };</

78、b></p><p>  struct student STU input();</p><p>  void Appscore(STU *head,int n)</p><p><b>  {</b></p><p><b>  int j;</b></p><p>

79、;<b>  STU *p;</b></p><p>  for(p=head;p<head+n;p++)</p><p><b>  {</b></p><p>  printf("\ninput number:");</p><p>  scanf("%d&q

80、uot;,&p->number);</p><p>  printf("input name");</p><p>  scanf("%s",p->name);</p><p>  for(j=0;j<4;j++)</p><p><b>  {</b>&

81、lt;/p><p>  printf("input score%d:");</p><p>  scanf("%d",p->score+j);</p><p><b>  }</b></p><p><b>  }</b></p><p&

82、gt;<b>  }</b></p><p>  void printscore(STU *head,int n)</p><p><b>  {</b></p><p><b>  STU *p;</b></p><p>  int i,temp[4];</p>

83、<p>  char str[100]={'\0'};</p><p>  strcat(str,"Number Name");</p><p>  for(i=1;i<=4;i++)</p><p><b>  {</b></p><p>  strcat(st

84、r, "score");</p><p>  itoa(i,temp,10) ;</p><p>  strcat(str, temp);</p><p>  strcat(str," ");</p><p><b>  }</b></p><p>  st

85、rcat(str," ave ");</p><p>  printf("%s",str);</p><p>  for(p=head;p<head+n;p++)</p><p><b>  {</b></p><p>  printf("\nNO.%3d%8s&q

86、uot;,p->number,p->name);</p><p>  for(i=0;i<4;i++)</p><p><b>  {</b></p><p>  printf("%7d",p->score[i]);</p><p><b>  }</b>

87、</p><p>  printf("%9.2f",p->ave);</p><p><b>  }</b></p><p><b>  }</b></p><p>  void avescore(STU *head,int n)</p><p>&

88、lt;b>  {</b></p><p><b>  STU *p;</b></p><p>  int i,sum;</p><p>  for(p=head;p<head+n;p++)</p><p><b>  {</b></p><p><

89、;b>  sum=0;</b></p><p>  for(i=0;i<4;i++)</p><p><b>  {</b></p><p>  sum=sum+p->score[i];</p><p><b>  }</b></p><p> 

90、 p->ave=(float)sum/4;</p><p><b>  }</b></p><p><b>  }</b></p><p>  void av2score(STU *head,int n)</p><p><b>  {</b></p>&l

91、t;p><b>  STU *p;</b></p><p>  int i,sum;</p><p>  float ave[4];</p><p>  for(i=0;i<4;i++)</p><p><b>  {</b></p><p><b> 

92、 sum=0;</b></p><p>  for(p=head;p<head+n;p++)</p><p><b>  {</b></p><p>  sum=sum+(p->score[i]);</p><p><b>  }</b></p><p&g

93、t;  ave[i]=sum/10;</p><p><b>  }</b></p><p>  for(i=0;i<4;i++)</p><p>  printf("%7d",ave[i]);</p><p><b>  }</b></p><p>

94、;  void maxmin(STU *head,int n)</p><p><b>  {</b></p><p><b>  STU *p;</b></p><p>  int i,max,min;</p><p>  for(i=0;i<4;i++)</p><p&

95、gt;<b>  {</b></p><p>  max=(p->score[i]);</p><p>  min=(p->score[i]);</p><p>  for(p=head;p<head+n;p++)</p><p><b>  {</b></p>&l

96、t;p>  if(p->score[i]>max)</p><p>  max=p->score[i];</p><p>  if(p->score[i]<min)</p><p>  min=p->score[i];</p><p><b>  }</b></p>

97、<p>  printf("score[%d] max is:%d",i,max);</p><p>  printf("score[%d] min is:%d",i,min);</p><p><b>  }</b></p><p><b>  }</b></p&

98、gt;<p>  void sortscore(STU *head,int n)</p><p><b>  {</b></p><p>  int i,j,k;</p><p><b>  STU temp;</b></p><p>  for(i=0;i<n-1;i++)&l

99、t;/p><p><b>  {</b></p><p><b>  k=i;</b></p><p>  for(j=i;j<n;j++)</p><p><b>  {</b></p><p>  if((head+j)->ave>(h

100、ead+k)->ave)</p><p><b>  {</b></p><p><b>  k=j;</b></p><p><b>  }</b></p><p><b>  if(k!=i)</b></p><p>&l

101、t;b>  {</b></p><p>  temp=*(head+k);</p><p>  *(head+k)=*(head+i);</p><p>  *(head+i)=temp;</p><p><b>  }</b></p><p><b>  }</

102、b></p><p><b>  }</b></p><p><b>  }</b></p><p>  int searchname(STU *head,char ming[10],int n)</p><p><b>  {</b></p><p&

103、gt;<b>  int i;</b></p><p>  for(i=0;i<n;i++)</p><p><b>  {</b></p><p>  if(strcmp((head+i)->name,ming)==0)</p><p><b>  return i;<

104、/b></p><p><b>  }</b></p><p>  return -1;</p><p><b>  }</b></p><p>  void searchscore(STU *head,int n)</p><p><b>  {</b

105、></p><p>  char ming[10];</p><p><b>  int find;</b></p><p>  printf("please input the name you want to search:");</p><p>  scanf("%s"

106、,ming);</p><p>  find=searchname(head,ming[10],n);</p><p>  if(find==(-1))</p><p>  printf("\not find!\n");</p><p><b>  else</b></p><p&

107、gt;<b>  {</b></p><p>  printscore(head+find,1);</p><p>  printf("pai ming is:%7d",find);</p><p><b>  }</b></p><p><b>  }</b&g

108、t;</p><p>  char menu(void)</p><p><b>  {</b></p><p><b>  char ch;</b></p><p>  printf("#=========================================#\n"

109、);</p><p>  printf("# student's score manage system #\n");</p><p>  printf("#=========================================#\n");</p><p>  printf("

110、# 1.pai xu houjie guo #\n");</p><p>  printf("# 2.ge kezuigaofenyuzidifen #\n");</p><p>  printf("# 3.search scor

111、#\n");</p><p>  printf("# 0.end program #\n");</p><p>  printf("#=========================================#\n");</p><p>  printf(&

112、quot;please input the num");</p><p>  scanf("%c",&ch);</p><p>  return ch;</p><p><b>  }</b></p><p><b>  main()</b></p>

113、<p><b>  {</b></p><p><b>  char ch;</b></p><p><b>  int n=10;</b></p><p>  STU stu[10];</p><p><b>  clrscr();</b>

114、</p><p>  Appscore(stu,n);</p><p><b>  while(1)</b></p><p><b>  {</b></p><p>  ch=menu();</p><p>  switch(ch)</p><p>&

115、lt;b>  {</b></p><p>  case'1':avescore(stu,n);</p><p>  printscore(stu,n);</p><p><b>  break;</b></p><p>  case'2':maxmin(stu,n);&l

116、t;/p><p><b>  break;</b></p><p>  case'3':avescore(stu,n);</p><p>  searchscore(stu,n);</p><p><b>  break;</b></p><p>  case&#

117、39;0':exit(0);</p><p>  printf("end of program");</p><p><b>  break;</b></p><p><b>  }</b></p><p><b>  }</b></p>

溫馨提示

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

評論

0/150

提交評論