學生管理系統(tǒng)課程設(shè)計9_第1頁
已閱讀1頁,還剩31頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p><b>  課 程 設(shè) 計</b></p><p><b>  報 告 </b></p><p><b>  題目:學生管理系統(tǒng)</b></p><p><b>  題目:學生管理系統(tǒng)</b></p><p><b>  一、課

2、程設(shè)計目的</b></p><p>  掌握C語言的課程設(shè)計結(jié)構(gòu),語法規(guī)則,編程方法,達到獨立編程能力,為以后的學習,設(shè)計大型應(yīng)用系統(tǒng)打下堅實的基礎(chǔ)。</p><p><b>  二、課程設(shè)計內(nèi)容</b></p><p>  通過結(jié)構(gòu)體、數(shù)組、文件等的應(yīng)用,設(shè)計了一個小型的學生管理系統(tǒng)。</p><p>&l

3、t;b>  三、需求分析</b></p><p>  該學生管理系統(tǒng),具有最基本的功能:</p><p>  1:通過輸入和存儲學號、姓名、年齡、性別、出生日期、民族、籍貫、電話、QQ;</p><p>  2:將輸入信息輸出;</p><p>  3:通過輸入姓名或?qū)W號查詢出所要的信息;</p><p&

4、gt;<b>  4:添加同學信息;</b></p><p>  5;輸入想要修改的同學的姓名、籍貫、電話、QQ,可以將任一學生信息修改;</p><p>  6:通過輸入要刪除同學的學號或姓名,可刪除此同學的全部信息;</p><p>  7:可按照學號或出生日期對學生信息進行排序;</p><p>  8:可統(tǒng)計該班

5、的男女生人數(shù)或各年齡段人數(shù)。</p><p><b>  四、概要設(shè)計</b></p><p><b>  1)、系統(tǒng)結(jié)構(gòu)圖</b></p><p>  對系統(tǒng)進行分析,給出結(jié)構(gòu)圖</p><p><b>  2)模塊功能簡介:</b></p><p>

6、  輸入模塊:輸入要存儲的信息,最多只能存入36個信息。</p><p>  輸出模塊:輸出已經(jīng)輸入的信息。</p><p>  添加模塊:添加一些信息到存儲系統(tǒng)。</p><p>  修改模塊:將已存儲的姓名、籍貫、電話、QQ這些信息進行修改。</p><p><b>  5、查詢模塊:</b></p>

7、<p>  (1)按姓名查詢函數(shù):通過輸入姓名,若該姓名在存儲信息中,則將輸出關(guān)于此人的所有信息,若不存在,則告訴沒有關(guān)于此人的信息;</p><p>  (2)按學號查詢函數(shù):輸入學號在存儲信息中,則輸出關(guān)于該學號的所有信息,若無,則告知沒有關(guān)于此學號的信息;</p><p>  (3)返回主菜單:返回系統(tǒng)主菜單。</p><p><b>  

8、6、刪除模塊:</b></p><p>  (1)按學號刪除:通過輸入學號將該生信息全部刪除,若無該生信息,則告知無關(guān)于此學號的學生信息;</p><p>  (2)按姓名刪除:通過輸入姓名將該生信息全部刪除,若無該生信息,則告知無關(guān)于此姓名的學生信息;</p><p>  (3)返回主菜單:返回系統(tǒng)主菜單。</p><p>&l

9、t;b>  7:統(tǒng)計模塊:</b></p><p>  (1)統(tǒng)計性別:統(tǒng)計出該班男女生人數(shù);</p><p>  (2)統(tǒng)計年齡:統(tǒng)計17歲以下,17--18歲,18—19歲,19—20歲,20歲以上各年齡段的學生人數(shù);</p><p>  (3)返回主菜單:返回系統(tǒng)主菜單。</p><p>  五.詳細設(shè)計及運行結(jié)果&l

10、t;/p><p>  主函數(shù): </p><p>  1 2 3 0</p><p>  六.調(diào)試情況,設(shè)計技巧及體會</p><p>  這次C語言的實習,自己最大的感受是無知.知

11、識總是在用的時候才知道匱乏,以前覺得自己C語言考試過了,就是合格了,對自己要求太低,以至于這次實習遇到很大的麻煩.</p><p>  這個程序是我按照書上例題程序模仿編寫的,當程序?qū)懲旰?,運行時發(fā)現(xiàn)有許多錯誤,我請教老師和同學,對程序進行了耐心細致的修改,經(jīng)過一番努力,程序里的錯誤終于被全部糾正了。但程序沒有錯誤不代表它能正常運行,</p><p>  基礎(chǔ)知識不夠扎實是我最大的問題,對

12、很多知識點是只知其一,不知其二,或是只知其然而不知其所以然,C語言程序的編寫和運行是非常具有科學性的,沒有正確掌握C語言編寫的風格和規(guī)則,要編譯成功較為復(fù)雜的程序真的是困難重重.正所謂”無以規(guī)矩,不成方圓”,對待科學文化知識沒有一個嚴謹求實的態(tài)度,只能讓自己在在成功路上舉步為艱.</p><p>  但一份耕耘一份收獲,兩個星期的C語言實習,我又重新拾起了漸以模糊的C語言知識和概念,通過上機調(diào)試程序,不但熟悉了C

13、語言的一些基本知識,而且熟練了上機實踐,通過實踐,又掌握了一些在書本上學不到的解決實際問題的方法,此外,也將學過的計算機基礎(chǔ)知識做了一次復(fù)習,這次實習確實是一次非常珍貴的實習.我明確了以后的方向和目標,再也不會荒廢時間了.</p><p><b>  七.參考文獻</b></p><p>  C語言程序設(shè)計(第二版) 王曙燕/主編</p>&l

14、t;p><b>  八.附錄</b></p><p><b>  源代碼</b></p><p>  #include "stdio.h"</p><p>  #include "string.h"</p><p>  #include "st

15、dlib.h"</p><p>  #include "conio.h"</p><p>  #define MAX 36</p><p>  #define PAGE 2</p><p>  #define print1 printf("-------------------------------

16、-----------------------------------------------\n");</p><p>  #define print2 printf("學號----姓名----年齡----性別----出生日期----民族---籍貫-----電話--------QQ------ \n");</p><p>  #define prin

17、t3 printf("%3d %8s %5d %7s %7d-%2d-%2d %7s%7s %12s %10s \n",stu[i].num,stu[i].name,stu[i].age,stu[i].sex,stu[i].borntime.year,stu[i].borntime.month,stu[i].borntime.day,stu[i].minzu,stu[i].jiguan,stu[i].tel,stu

18、[i].QQ);</p><p>  int sum; /*用來記錄學生數(shù)目*/</p><p>  /*日期結(jié)構(gòu)體類型*/</p><p>  struct date </p><p><b>  {</b></p><p><b>  int year;</b>&

19、lt;/p><p>  int month;</p><p><b>  int day;</b></p><p><b>  };</b></p><p>  /*學生信息結(jié)構(gòu)體類型*/</p><p>  struct stud_type</p><p&g

20、t;<b>  {</b></p><p><b>  int num;</b></p><p>  char name[20];</p><p><b>  int age;</b></p><p>  char sex[10]; </p><p&g

21、t;  struct date borntime;</p><p>  char minzu[5];</p><p>  char jiguan[10];</p><p>  char tel[10];</p><p>  char QQ[10];</p><p>  }stu[MAX];/*存放MAX個學生信息記錄的

22、結(jié)構(gòu)體數(shù)組*/</p><p><b>  /*函數(shù)聲明*/</b></p><p>  int input_message();</p><p>  void output_message();</p><p>  int add_message();</p><p>  int delet_b

23、y_name();</p><p>  int delet_by_num();</p><p>  int renew_message();</p><p>  int inquire_name();</p><p>  int inquire_num();</p><p>  int inquire_message(

24、); </p><p>  int count_sex();</p><p>  int count_age();</p><p>  int count_message();</p><p>  int sort_num();</p><p>  int sort_borntime();</p><

25、;p>  int sort_message();</p><p>  int read_message();</p><p><b>  /*保存信息*/</b></p><p>  save_message(int sum)</p><p><b>  {</b></p>&l

26、t;p>  FILE *fp;/*定義文件指針*/</p><p><b>  int i;</b></p><p>  if((fp=fopen("student.txt","wb"))==NULL)</p><p>  { printf("讀文件錯誤!\n");</p

27、><p>  return 0; </p><p><b>  }</b></p><p>  for(i=0;i<sum;i++)</p><p>  if(fwrite(&stu[i],sizeof(struct stud_type),1,fp)!=1)</p><p>  prin

28、tf("寫文件錯誤!\n");</p><p>  fclose(fp);</p><p><b>  return 0;</b></p><p><b>  }</b></p><p><b>  /*主函數(shù)*/</b></p><p&

29、gt;<b>  main()</b></p><p><b>  {</b></p><p>  int choice;</p><p>  sum=read_message();</p><p><b>  do</b></p><p><

30、b>  {</b></p><p>  printf("\n\n\n ***********學生通訊錄信息管理系統(tǒng)***********\n\n");</p><p>  printf(" 1.錄入學生信息\n\n");</p><p>  printf(&quo

31、t; 2.瀏覽學生信息\n\n");</p><p>  printf(" 3.更新學生信息\n\n");</p><p>  printf(" 4.學生信息的排序\n\n");</p><

32、p>  printf(" 5.查詢學生信息\n\n");</p><p>  printf(" 6.統(tǒng)計學生信息\n\n");</p><p>  printf(" 0.退出系統(tǒng)\n\n");&

33、lt;/p><p>  printf(" 請選擇(0--6):\n\n\n");</p><p>  printf(" -----------------------------------------------------");</p><p>  sca

34、nf("%d",&choice);</p><p>  switch(choice)</p><p>  { case 1: input_message();break;</p><p>  case 2: output_message();break;</p><p>  case 3: renew_messag

35、e();break;</p><p>  case 4: sort_message();break;</p><p>  case 5: inquire_message();break;</p><p>  case 6: count_message();break;</p><p>  case 0: break;</p>&

36、lt;p><b>  } </b></p><p>  }while(choice!=0);</p><p>  save_message(sum);</p><p>  printf("\n--以上學生信息已保存!--(文件名:student.txt)\n");</p><p><b&g

37、t;  return 0;</b></p><p><b>  }</b></p><p><b>  /*輸入模塊*/</b></p><p>  input_message()</p><p>  { int i=0,s=MAX;</p><p>  prin

38、tf("\n\n 錄入學生信息 (最多%d個)\n",s);</p><p>  printf(" ---------------------------------\n");</p><p><b>  do</b></p><p>  { printf(

39、"\n 第%d個學生",i+1);</p><p>  printf("\n 學號:");</p><p>  scanf("%d",&stu[i].num);</p><p>  if(stu[i].num==0) break;</p>

40、<p>  printf(" 姓名:");</p><p>  scanf("%s",stu[i].name);</p><p>  printf(" 年齡:");</p><p>  scanf("%d",&stu

41、[i].age);</p><p>  printf(" 性別:");</p><p>  scanf("%s",stu[i].sex);</p><p>  printf(" 出生日期(yyyy-mm-dd):");</p><p&g

42、t;  scanf("%d-%d-%d",&stu[i].borntime.year,&stu[i].borntime.month,&stu[i].borntime.day);</p><p>  printf(" 民族:");</p><p>  scanf("%s",stu[i

43、].minzu);</p><p>  printf(" 籍貫:");</p><p>  scanf("%s",stu[i].jiguan);</p><p>  printf(" 電話:");</p><p>  scanf(&

44、quot;%s",stu[i].tel);</p><p>  printf(" QQ:");</p><p>  scanf("%s",stu[i].QQ);</p><p><b>  i++;</b></p><p>  }while(i&

45、lt;MAX);</p><p>  printf("\n --%d個學生信息輸入完畢!--\n",i);</p><p><b>  sum=i;</b></p><p>  printf("\n 按任意鍵返回主菜單!");</p><p&

46、gt;<b>  return 0;</b></p><p><b>  }</b></p><p><b>  /*讀取信息*/</b></p><p>  int read_message()</p><p>  { FILE *fp;</p><p&g

47、t;<b>  int i=0;</b></p><p>  if((fp=fopen("student.txt","rb"))==NULL)/*打開文件*/</p><p><b>  { </b></p><p>  printf("\n\n*****暫時還沒有任何庫存

48、信息,按任意鍵進入主菜單選擇基本信息的錄入!****\n");</p><p><b>  return 0;</b></p><p><b>  }</b></p><p>  while(!feof(fp))</p><p><b>  { </b></p&

49、gt;<p>  fread(&stu[i],sizeof(struct stud_type),1,fp);</p><p>  if(stu[i].num==0) break;</p><p><b>  else i++;</b></p><p><b>  }</b></p>&l

50、t;p>  fclose(fp);/*關(guān)閉文件*/</p><p>  return(i);</p><p><b>  }</b></p><p>  /*學生信息瀏覽*/</p><p>  void output_message()</p><p><b>  { int i

51、;</b></p><p>  printf("\n\n ****學生信息表**** \n\n");</p><p><b>  print1;</b></p><p><b>  print2;</b></p><p>

52、;  for(i=0;i<sum;i++)</p><p><b>  print3;</b></p><p><b>  }</b></p><p>  /*添加學生信息*/</p><p>  add_message()</p><p>  { int i=sum,

53、flag=0;</p><p>  char choice,ch;</p><p>  printf("\n\n 添加一名學生的信息\n");</p><p>  printf(" ------------------\n");</p><p><b&g

54、t;  do</b></p><p>  { stu[i].num=++sum;</p><p>  printf("\n 學號:");</p><p>  scanf("%d",&stu[i].num);</p><p>  printf("\n

55、 姓名:");</p><p>  scanf("%s",stu[i].name);</p><p>  printf("\n 年齡:");</p><p>  scanf("%d",&stu[i].age);</p><p>

56、;  printf("\n 性別:");</p><p>  scanf("%s",stu[i].sex);</p><p>  printf("\n 出生日期(yyyy-mm-dd):");</p><p>  scanf("%d-%d-%d"

57、;,&stu[i].borntime.year,</p><p>  &stu[i].borntime.month,</p><p>  &stu[i].borntime.day);</p><p>  printf("\n 民族:");</p><p>  scanf(&qu

58、ot;%s",stu[i].minzu);</p><p>  printf("\n 籍貫:");</p><p>  scanf("%s",stu[i].jiguan);</p><p>  printf("\n 電話:");</p>&

59、lt;p>  scanf("%s",stu[i].tel);</p><p>  printf("\n QQ:");</p><p>  scanf("%s",stu[i].QQ);</p><p>  printf("\n 要繼續(xù)嗎? (Y/N)

60、");</p><p>  ch=getchar();</p><p>  choice=getchar();</p><p><b>  i++;</b></p><p>  if(choice=='y'||choice=='Y')</p><p>  

61、{ printf("\n 繼續(xù)!\n");</p><p><b>  flag=1;</b></p><p><b>  }</b></p><p>  else flag=0;</p><p>  }while(flag==1);</p>&

62、lt;p>  printf("\n 按任意鍵返回主菜單!");</p><p><b>  return 0;</b></p><p><b>  }</b></p><p><b>  /*按姓名刪除*/</b></p><p

63、>  int delet_by_name() </p><p>  { int i=0,k,flag;char ch,delet_name[20]; </p><p>  char choice;</p><p><b>  do</b></p><p>  { printf(

64、"\n 輸入要刪除的學生姓名:");</p><p>  scanf("%s",delet_name);</p><p>  for(i=0;i<MAX;i++)</p><p>  { if(strcmp(stu[i].name,delet_name)==0)</p&g

65、t;<p><b>  { </b></p><p><b>  k=i;</b></p><p>  for(k=i;k<MAX-1;k++)</p><p>  stu[k]=stu[k+1];</p><p>  sum=MAX-1;</p>&l

66、t;p><b>  }</b></p><p>  if(i==MAX)</p><p>  { printf("\n 無該學生的信息!");</p><p><b>  return 0;</b></p><p><b>  

67、}</b></p><p><b>  }</b></p><p>  printf("\n\n 要繼續(xù)刪除嗎?(Y/N)");</p><p>  ch=getchar();choice=getchar();</p><p>  if(choice==

68、'Y'||choice=='y')</p><p><b>  {</b></p><p><b>  flag=1;</b></p><p>  printf("\n 繼續(xù)!\n");</p><p><b

69、>  }</b></p><p>  else flag=0;</p><p>  }while(flag==1);</p><p>  printf("\n 刪除完畢!");</p><p><b>  return 0;</b>&l

70、t;/p><p>  } </p><p>  int delet_by_num()</p><p>  /*按學號刪除*/ </p><p>  { int i,j,delet_num,flag,b=0; </p>&l

71、t;p><b>  char ch;</b></p><p>  char choice;</p><p><b>  do</b></p><p>  { printf(" 輸出要刪除的學生學號:");</p><p>  scanf("%d

72、",&delet_num);</p><p>  for(i=0;i<sum;i++)</p><p><b>  {</b></p><p>  if(stu[i].num==delet_num&&stu[i].num!=0)</p><p>  {for(j=i;j<su

73、m;j++)</p><p>  {stu[j]=stu[j+1];}</p><p><b>  sum--;</b></p><p><b>  break;</b></p><p><b>  }</b></p><p>  else b++;&

74、lt;/p><p><b>  }</b></p><p><b>  print1;</b></p><p><b>  print2;</b></p><p>  for(i=0;i<sum;i++)</p><p><b>  { pr

75、int3;</b></p><p>  printf("\n");</p><p><b>  }</b></p><p>  if(sum==b)</p><p><b>  {</b></p><p>  printf("\n

76、 無該學生的信息!");</p><p><b>  return 0;</b></p><p><b>  }</b></p><p>  printf("\n\n 要繼續(xù)刪除嗎?(Y/N)");</p><p&g

77、t;  ch=getchar();</p><p>  choice=getchar();</p><p>  if(choice=='Y'||choice=='y')</p><p><b>  { </b></p><p><b>  flag=1;</b><

78、;/p><p>  printf("\n 繼續(xù)!\n"); </p><p><b>  }</b></p><p>  else flag=0;</p><p>  }while(flag==1);</p><p>  printf(&quo

79、t;\n 刪除完畢!");</p><p><b>  return 0;</b></p><p><b>  }</b></p><p><b>  /*刪除模塊*/</b></p><p>  int delet_messag

80、e()</p><p>  { int choice;</p><p><b>  do</b></p><p>  { printf(" --------- 刪除學生信息 ---------\n\n\n");</p><p>  printf("\n 1.按

81、學生姓名刪除\n\n");</p><p>  printf(" 2.按學生學號刪除\n\n");</p><p>  printf(" 0.返回主菜單\n\n");</p><p>  printf(" 請選擇(0-2)\n\n;"

82、;);</p><p>  scanf("%d",&choice);</p><p>  switch(choice)</p><p>  { case 1: delet_by_name();break;</p><p>  case 2: delet_by_num();break;</p><

83、p>  case 0: break;</p><p><b>  }</b></p><p>  }while(choice!=0);</p><p>  save_message(sum);</p><p><b>  return 0;</b></p><p>&l

84、t;b>  }</b></p><p><b>  /*修改模塊*/</b></p><p>  revise_message()</p><p>  { int i=0,choice,revise_num,flag;</p><p><b>  do</b></p>

85、<p>  { printf("\n 請輸入要修改的學生學號:");</p><p>  scanf("%d",&revise_num);</p><p>  for(i=0;i<sum;i++)</p><p>  if(stu[i].num==revise_num)&l

86、t;/p><p>  { printf("\n ---學生信息---\n");</p><p><b>  print1;</b></p><p><b>  print2;</b></p><p><b>  print3;</b>&

87、lt;/p><p>  printf("\n 您要修改哪一項?\n");</p><p>  printf("\n 1.姓名\n");</p><p>  printf("\n 2.籍貫\n");<

88、/p><p>  printf("\n 3.電話\n");</p><p>  printf("\n 4.QQ\n");</p><p>  printf("\n 請選擇(1-4):");</

89、p><p>  scanf("%d",&choice);</p><p>  switch(choice)</p><p>  {case 1:printf("\n 輸入修改后的姓名:");</p><p>  scanf("%s",stu[i].

90、name); break;</p><p>  case 2:printf("\n 輸入修改后的籍貫:");</p><p>  scanf("%s",stu[i].jiguan); break;</p><p>  case 3:printf("\n

91、輸入修改后的電話:");</p><p>  scanf("%s",stu[i].tel); break;</p><p>  case 4:printf("\n 輸入修改后的QQ:");</p><p>  scanf("%s",stu[i].QQ); break

92、;</p><p><b>  }</b></p><p><b>  print1;</b></p><p><b>  print2;</b></p><p><b>  print3;</b></p><p><b>

93、;  break;</b></p><p><b>  }</b></p><p>  if(i==sum)</p><p>  { printf("\n 該學生不存在!");</p><p><b>  return 0;</b></p&

94、gt;<p><b>  }</b></p><p>  printf("\n\n 繼續(xù)修改嗎?(Y/N)");</p><p>  choice=getchar();</p><p>  if(choice=='Y'||choice=='y')</

95、p><p><b>  {flag=1;</b></p><p>  printf("\n 繼續(xù)!\n");</p><p><b>  }</b></p><p>  else flag=0;</p><p>  }while(fl

96、ag==1);</p><p>  printf("\n 按任意鍵返回主菜單!");</p><p><b>  return 0;</b></p><p><b>  }</b></p><p><b>  /*更新模塊*/</b&g

97、t;</p><p>  renew_message()</p><p>  { int choice;</p><p><b>  do</b></p><p>  { printf("\n\n\n **********更新學生信息**********\n\n");</p

98、><p>  printf(" 1.添加學生信息\n\n");</p><p>  printf(" 2.刪除學生信息\n\n");</p><p>  printf("

99、 3.修改學生信息\n\n");</p><p>  printf(" 0.返回主菜單\n\n");</p><p>  printf(" 請選擇(0-3):");</p><p>  scanf(&q

100、uot;%d",&choice);</p><p>  switch(choice)</p><p>  {case 1:add_message();break;</p><p>  case 2:delet_message();break;</p><p>  case 3:revise_message();break;&

101、lt;/p><p>  case 0:break;</p><p><b>  }</b></p><p>  }while(choice!=0);</p><p><b>  return 0;</b></p><p><b>  }</b></p&

102、gt;<p><b>  /*按姓名查詢*/</b></p><p>  inquire_name() </p><p><b>  { </b></p><p><b>  int i;</b></p><p>  char inquire_

103、name[10];</p><p>  printf("\n 輸入要查詢的學生姓名:");</p><p>  scanf("%s",inquire_name);</p><p>  for(i=0;i<sum;i++)</p><p>  if(strcmp(stu[i]

104、.name,inquire_name)==0&&stu[i].num!=0)</p><p>  { printf("\n ---%s學生信息---",stu[i].name);</p><p><b>  print1;</b></p><p><b>  print2;<

105、/b></p><p><b>  print3;</b></p><p><b>  }</b></p><p>  if(i==sum) </p><p>  printf("\n 該學生信息不存在!");</p><p>

106、<b>  return 0;</b></p><p><b>  }</b></p><p>  inquire_num() /*按學號查詢*/</p><p><b>  { </b></p><p>  int i,j=0;</p>

107、<p>  long inquire_num;</p><p>  printf("\n 請輸入要查詢的學生學號:");</p><p>  scanf("%ld",&inquire_num);</p><p>  for(i=0;i<sum;i++)</p><

108、;p>  if(stu[i].num==inquire_num&&stu[i].num!=0)</p><p><b>  {</b></p><p>  printf("\n ---%d學生信息 ---\n",stu[i].num);</p><p><b>  

109、print1;</b></p><p><b>  print2;</b></p><p><b>  print3;</b></p><p><b>  }</b></p><p><b>  else j++;</b></p>

110、<p>  if(j==sum)</p><p>  printf("\n\n 該學生信息不存在!");</p><p><b>  return 0;</b></p><p><b>  }</b></p><p><b>  /*查詢模塊*/

111、</b></p><p>  inquire_message()</p><p>  { int choice;</p><p><b>  do</b></p><p>  { printf("\n\n\n **********查詢學生信息**********\n\n");

112、</p><p>  printf(" 1.按學生姓名查詢\n\n");</p><p>  printf(" 2.按學生學號查詢\n\n");</p><p>  printf(" 0.返回主菜單

113、\n\n");</p><p>  printf(" 請選擇(0-2):");</p><p>  scanf("%d",&choice);</p><p>  switch(choice)</p><p>  {case 1:inquire_

114、name();break;</p><p>  case 2:inquire_num();break;</p><p>  case 0:break;</p><p><b>  }</b></p><p>  }while(choice!=0);</p><p><b>  retur

115、n 0;</b></p><p><b>  }</b></p><p>  count_sex() /*統(tǒng)計性別*/</p><p>  { int i,cnt=0;</p><p>  for(i=0;i<sum;i++)</p><p>  if(strcmp(stu[i

116、].sex,"男")==0) </p><p><b>  cnt++;</b></p><p>  printf("\n\n該班的男生人數(shù):%d",cnt);</p><p>  printf("\n\n該班的女生人數(shù):%d",sum-cnt );</p><p&

117、gt;<b>  return 0;</b></p><p><b>  }</b></p><p>  count_age() /*統(tǒng)計年齡*/</p><p>  { int i,a=0,b=0,c=0,d=0,e=0;</p><p>  for(i=0;i<sum;i++)</

118、p><p>  { if(stu[i].age<=17) a++;</p><p>  else if(stu[i].age>17&&stu[i].age<=18) b++;</p><p>  else if(stu[i].age>18&&stu[i].age<=19) c++;</p>&l

119、t;p>  else if(stu[i].age>19&&stu[i].age<=20) d++;</p><p>  else if(stu[i].age>20) e++;</p><p><b>  }</b></p><p>  printf("\n該班17歲以下(包含17)的人數(shù):%d&

120、quot;,a);</p><p>  printf("\n該班17-18歲(包含18)的人數(shù):%d",b);</p><p>  printf("\n該班18-19歲(包含19)的人數(shù):%d",c);</p><p>  printf("\n該班19-20歲(包含20)的人數(shù):%d",d);</p&

121、gt;<p>  printf("\n該班20歲以上的人數(shù):%d",e);</p><p><b>  return 0;</b></p><p><b>  }</b></p><p><b>  /*統(tǒng)計模塊*/</b></p><p> 

122、 count_message()</p><p>  { int choice;</p><p><b>  do</b></p><p>  { printf("\n\n\n **********統(tǒng)計學生信息**********\n\n");</p><p>  printf("

123、; 1.統(tǒng)計學生的性別\n\n");</p><p>  printf(" 2.統(tǒng)計學生的年齡\n\n");</p><p>  printf(" 0.返回主菜單\n\n");</p><p>  

124、printf(" 請選擇(0-2):");</p><p>  scanf("%d",&choice);</p><p>  switch(choice)</p><p>  {case 1: count_sex(); break;</p><p>

125、  case 2: count_age(); break;</p><p>  case 0: break;</p><p><b>  }</b></p><p>  }while(choice!=0);</p><p><b>  return 0;</b></p><p&g

126、t;<b>  }</b></p><p>  /*按學號排序*/ </p><p>  sort_num()

127、 </p><p>  { int i,j;</p><p>  struct stud_type t;</p&g

128、t;<p>  for(i=0;i<sum-1;i++) </p><p>  for(j=i+1;j<sum;j++)

129、 </p><p>  if(stu[i].num>stu[j].num) </p><p>  {t=stu[i];</p><p>  stu[i]=stu[j];</p><p><b>  stu[j]=t;</b></p><

130、p><b>  }</b></p><p>  printf("\n\n\n按學號排序后的的順序:\n\n");</p><p><b>  print1;</b></p><p><b>  print2;</b></p><p>  for(i=0

131、;i<sum;i++) </p><p><b>  print3;</b></p><p><b>  return 0;</b></p><p><b>  }</b></p><p>  /*按出生日期排序*/<

132、;/p><p>  sort_borntime() </p><p>  { int i,j; </p><p>  struct stud_type t;</p><p>  for(i=0;i<sum-1;i++)

133、 </p><p>  for(j=i+1;j<sum;j++)</p><p>  if(stu[i].borntime.year>stu[j].borntime.year)</p><p>  { t=stu[i];</p><p>  stu[i]=stu[j];</p>&l

134、t;p><b>  stu[j]=t;</b></p><p><b>  }</b></p><p>  else if(stu[i].borntime.year==stu[j].borntime.year)</p><p>  if(stu[i].borntime.month>stu[j].borntime

135、.month)</p><p>  { t=stu[i];</p><p>  stu[i]=stu[j];</p><p><b>  stu[j]=t;</b></p><p><b>  }</b></p><p>  else if(stu[i].borntime.m

136、onth==stu[j].borntime.month)</p><p>  if(stu[i].borntime.day>stu[j].borntime.day)</p><p>  { t=stu[i];</p><p>  stu[i]=stu[j];</p><p><b>  stu[j]=t;</b>&

137、lt;/p><p><b>  }</b></p><p>  printf("\n\n\n按出生日期排序后的順序:");</p><p><b>  print1;</b></p><p><b>  print2;</b></p><p&

138、gt;  for(i=0;i<sum;i++)</p><p><b>  print3;</b></p><p><b>  return 0;</b></p><p><b>  }</b></p><p><b>  /*排序模塊*/</b>&

139、lt;/p><p>  sort_message()</p><p>  { int choice;</p><p><b>  do</b></p><p>  { printf("\n\n\n **********學生排行信息**********\n\n");</p>&l

140、t;p>  printf(" 1.按學號排行\(zhòng)n\n");</p><p>  printf(" 2.按出生日期排行\(zhòng)n\n");</p><p>  printf(" 0.返回主菜單\n\n&qu

141、ot;);</p><p>  printf(" 請選擇(0-2):");</p><p>  scanf("%d",&choice);</p><p>  switch(choice)</p><p>  {case 1: sort_num()

142、; break;</p><p>  case 2: sort_borntime(); break;</p><p>  case 0: break;</p><p><b>  }</b></p><p>  }while(choice!=0);</p><p><b>  retur

溫馨提示

  • 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)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論