c語言學生證管理系統(tǒng)課程設計報告_第1頁
已閱讀1頁,還剩34頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p><b>  課</b></p><p><b>  程</b></p><p><b>  設</b></p><p><b>  計</b></p><p><b>  報</b></p><p

2、><b>  告</b></p><p><b>  專業(yè):</b></p><p><b>  年級: </b></p><p><b>  姓名:</b></p><p><b>  成績:</b></p>

3、<p><b>  批改時間:</b></p><p><b>  說 明</b></p><p>  1、本報告供學生課程設計時使用。</p><p>  2、學生應認真閱讀課程設計要求。</p><p>  3、課程設計報告里面的內容要手工填寫,以備存檔使用(源程序可打?。?lt

4、;/p><p>  4、課程設計的總評成績根據(jù)課程的性質,按一定比例計入該門課程成績。</p><p>  5、課程設計報告中的各模塊填寫的內容是評分的主要依據(jù),如果不夠書寫,可以自行添加附頁。</p><p>  6、按規(guī)定的時間提交報告給教師評定成績,由任課教師交到工學院存檔。</p><p><b>  課程設計目錄</b&

5、gt;</p><p>  課程名稱:高級語言程序設計</p><p><b>  設計任務</b></p><p><b>  二.設計流程圖</b></p><p>  根據(jù)需求分析,可以把這個系統(tǒng)的設計分為添加、修改、查詢、瀏覽、統(tǒng)計、刪除六大模塊,其中查詢模塊可以分為三個子模塊,統(tǒng)計模塊可以

6、分為三個子模塊,子模塊下面還有子函數(shù);系統(tǒng)功能模塊圖如下所示:</p><p><b>  主函數(shù)模塊</b></p><p><b>  添加模塊</b></p><p>  修改模塊 4.瀏覽模塊</p><p><b>  5.查詢模塊</b>&

7、lt;/p><p><b>  6.統(tǒng)計模塊</b></p><p><b>  7.刪出模塊</b></p><p><b>  三.程序代碼</b></p><p>  #include<stdio.h></p><p>  #include

8、<stdlib.h></p><p>  #include<string.h></p><p>  #define N 100</p><p>  struct Class //班級</p><p><b>  {</b></p><p>  char C

9、name[20];//班名</p><p>  char Cno[20];//班號</p><p><b>  };</b></p><p>  struct Student//學生</p><p><b>  {</b></p><p>

10、;  char Sname[20];//姓名</p><p>  char Sex[10];//性別</p><p>  char Sno[20];//學號</p><p>  int Age;//年齡</p><p>  struct Class CInfo;//嵌套結構體,表示

11、班級信息</p><p>  }StuInfo[N];</p><p>  void menu(); //主菜單 </p><p>  void add(); //添加模塊</p><p>  void modify(); //修改模塊</p><

12、;p>  void Delete(); //刪除模塊</p><p>  void browse(); //瀏覽模塊</p><p>  void quiry(); //查詢模塊</p><p>  void stastic(); //統(tǒng)計模塊</p><p>  void bySnam

13、e(); //按姓名查詢,子模塊</p><p>  void bySno(); //按學號查詢,子模塊</p><p>  void byCno(); //按班號查詢,子模塊</p><p>  void StuMsg(); //返回全體學生統(tǒng)計信息,子模塊</p><p>  void Femal

14、e(); //女生統(tǒng)計信息,子模塊</p><p>  void Male(); //男生統(tǒng)計信息,子模塊</p><p>  int FemaleNum(); //返回女生人數(shù),子函數(shù)</p><p>  float FemaleMG(); //返回女生平均年齡,子函數(shù)</p><p>  int Male

15、Num(); //返回男生人數(shù),子函數(shù)</p><p>  float MaleMG(); //返回男生平均年齡,子函數(shù)</p><p>  int StuNum(); //返回全體學生人數(shù),子函數(shù)</p><p>  float MG(); //返回全體學生的平均年齡,子函數(shù)</p><p> 

16、 void main()</p><p><b>  {</b></p><p><b>  menu();</b></p><p>  getchar();</p><p><b>  }</b></p><p>  void menu()

17、 //菜單</p><p><b>  {</b></p><p>  int chose;</p><p>  int right;</p><p><b>  do</b></p><p><b>  {</b></p>

18、<p>  system("cls"); //清屏</p><p>  printf("\n\t\t\t\t學生證管理系統(tǒng)\n");</p><p>  printf("···········

19、;·····························");</p><p>  printf("

20、 菜單:\t1-添加\t2-修改\t3-瀏覽全部\t4-查詢\t5-統(tǒng)計\t6-刪除\t7-退出\n");</p><p>  printf("·····················

21、···················");</p><p>  printf("請輸入數(shù)字選擇:");</p><p>  scanf("%d",&a

22、mp;chose);</p><p>  if(chose<1||chose>7)</p><p><b>  {</b></p><p>  printf("輸入錯誤,請重新輸入!\n");</p><p><b>  right=1;</b></p>

23、<p>  getchar();</p><p><b>  }</b></p><p>  else right=0;</p><p>  }while(right==1);</p><p>  switch(chose)</p><p><b>  {</b>

24、</p><p>  case 1:add(); break;</p><p>  case 2:modify(); break;</p><p>  case 3:browse(); break;</p><p>  case 4:quiry(); break;</p><p>  case 5:st

25、astic(); break;</p><p>  case 6:Delete(); break;</p><p>  case 7:exit(0); </p><p><b>  } </b></p><p><b>  }</b></p><p>  void ad

26、d() //添加學生信息,一次添加一條記錄</p><p><b>  {</b></p><p><b>  int num;</b></p><p><b>  int i;</b></p><p><b>  int age

27、;</b></p><p>  char sno[20];</p><p>  char sex[20];</p><p>  char cno[20];</p><p>  int right;</p><p><b>  FILE*fp;</b></p><p&

28、gt;  if((fp=fopen("StuInfo.txt","r+"))==NULL) //以讀寫方式打開</p><p><b>  {</b></p><p>  if((fp=fopen("StuInfo.txt","w"))==NULL) //文件不存在則創(chuàng)建文件<

29、/p><p><b>  {</b></p><p>  printf("\n文件不存在且創(chuàng)建失敗,返回!\n");</p><p><b>  menu();</b></p><p><b>  }</b></p><p>  prin

30、tf("\n請按照提示輸入學生信息:\n\n");</p><p>  printf("姓名:");</p><p>  scanf("%s",&StuInfo[0].Sname);</p><p><b>  do</b></p><p><b&

31、gt;  {</b></p><p>  printf("\n性別(男或女):");</p><p>  scanf("%s",sex);</p><p>  if((strcmp(sex,"男")!=0)&&(strcmp(sex,"女")!=0))<

32、/p><p><b>  { </b></p><p>  printf("輸入錯誤,請輸入男或女!\n");</p><p><b>  right=1;</b></p><p>  getchar();</p><p><b>  }<

33、/b></p><p>  else right=0;</p><p>  }while(right==1);</p><p>  strcpy(StuInfo[0].Sex,sex);</p><p><b>  do</b></p><p><b>  {</b>&

34、lt;/p><p>  printf("\n學號(11位):");</p><p>  scanf("%s",sno);</p><p>  if(strlen(sno)!=11)</p><p><b>  { </b></p><p>  printf(

35、"輸入錯誤,學號長度應為11位數(shù)!\n");</p><p><b>  right=1;</b></p><p>  getchar();</p><p><b>  }</b></p><p>  else right=0;</p><p>  }wh

36、ile(right==1);</p><p>  strcpy(StuInfo[0].Sno,sno);</p><p><b>  do</b></p><p><b>  {</b></p><p>  printf("\n年齡:");</p><p>

37、;  scanf("%d",&age);</p><p>  if(age<=0||age>100)</p><p><b>  { </b></p><p>  printf("年齡應在0-100之間,請重新輸入年齡!\n");</p><p><b

38、>  right=1;</b></p><p>  getchar();</p><p><b>  }</b></p><p>  else right=0;</p><p>  }while(right==1);</p><p>  StuInfo[0].Age=age;&l

39、t;/p><p><b>  do</b></p><p><b>  {</b></p><p>  printf("\n班號(6位):");</p><p>  scanf("%s",cno);</p><p>  if(strlen(

40、cno)!=6)</p><p><b>  { </b></p><p>  printf("輸入錯誤,班號長度應為6位數(shù)!\n");</p><p><b>  right=1;</b></p><p>  getchar();</p><p>&

41、lt;b>  }</b></p><p>  else right=0;</p><p>  }while(right==1);</p><p>  strcpy(StuInfo[0].CInfo.Cno,cno);</p><p>  printf("\n班名:");</p><p&

42、gt;  scanf("%s",&StuInfo[0].CInfo.Cname); </p><p>  fprintf(fp,"\n%s\t%s\t%s\t%d\t%s\t%s",StuInfo[0].Sname,StuInfo[0].Sex,StuInfo[0].Sno,StuInfo[0].Age,StuInfo[0].CInfo.Cno,StuInfo[

43、0].CInfo.Cname);</p><p>  fclose(fp);</p><p>  printf("\n保存成功!\n");</p><p>  printf("\n請按enter鍵返回主菜單!\n");</p><p>  getchar();</p><p> 

44、 getchar();</p><p><b>  menu();</b></p><p><b>  }</b></p><p>  for(i=0;!feof(fp);i++) //讀取文件</p><p><b>  { </b></

45、p><p>  fscanf(fp,"%s%s%s%d%s%s",&StuInfo[i].Sname,&StuInfo[i].Sex,&StuInfo[i].Sno,&StuInfo[i].Age,&StuInfo[i].CInfo.Cno,&StuInfo[i].CInfo.Cname);</p><p><b>

46、  }</b></p><p><b>  num=i;</b></p><p>  if(num==N)</p><p><b>  {</b></p><p>  printf("\n保存記錄數(shù)超出結構體數(shù)組數(shù)的大小,請先修改N的值\n");</p>

47、<p><b>  menu();</b></p><p><b>  }</b></p><p>  printf("\n請按照提示輸入學生信息:\n\n");</p><p>  printf("姓名:");</p><p>  scanf(&

48、quot;%s",&StuInfo[num].Sname);</p><p><b>  do</b></p><p><b>  {</b></p><p>  printf("\n性別(男或女):");</p><p>  scanf("%s&qu

49、ot;,sex);</p><p>  if((strcmp(sex,"男")!=0)&&(strcmp(sex,"女")!=0))</p><p><b>  { </b></p><p>  printf("輸入錯誤,請輸入男或女!\n");</p>

50、<p><b>  right=1;</b></p><p>  getchar();</p><p><b>  }</b></p><p>  else right=0;</p><p>  }while(right==1);</p><p>  strcp

51、y(StuInfo[num].Sex,sex);</p><p><b>  do</b></p><p><b>  {</b></p><p>  printf("\n學號(11位):");</p><p>  scanf("%s",sno);</p

52、><p>  if(strlen(sno)!=11)</p><p><b>  { </b></p><p>  printf("輸入錯誤,學號長度應為11位數(shù)!\n");</p><p><b>  right=1;</b></p><p>  get

53、char();</p><p><b>  }</b></p><p>  else right=0;</p><p>  for(i=0;i<num;i++)</p><p><b>  {</b></p><p>  if(strcmp(sno,StuInfo[i]

54、.Sno)==0)</p><p><b>  {</b></p><p>  printf("該學號已經存在,請重新輸入!\n");</p><p><b>  right=1;</b></p><p>  getchar();</p><p><

55、b>  }</b></p><p><b>  }</b></p><p>  }while(right==1);</p><p>  strcpy(StuInfo[num].Sno,sno);</p><p><b>  do</b></p><p>&l

56、t;b>  {</b></p><p>  printf("\n年齡:");</p><p>  scanf("%d",&age);</p><p>  if(age<=0||age>100)</p><p><b>  { </b><

57、;/p><p>  printf("年齡應在0-100之間,請重新輸入年齡!\n");</p><p><b>  right=1;</b></p><p>  getchar();</p><p><b>  }</b></p><p>  else rig

58、ht=0;</p><p>  }while(right==1);</p><p>  StuInfo[num].Age=age;</p><p><b>  do</b></p><p><b>  {</b></p><p>  printf("\n班號(6位)

59、:");</p><p>  scanf("%s",cno);</p><p>  if(strlen(cno)!=6)</p><p><b>  { </b></p><p>  printf("輸入錯誤,班號長度應為6位數(shù)!\n");</p>&l

60、t;p><b>  right=1;</b></p><p>  getchar();</p><p><b>  }</b></p><p>  else right=0;</p><p>  }while(right==1);</p><p>  strcpy(St

61、uInfo[num].CInfo.Cno,cno);</p><p>  printf("\n班名:");</p><p>  scanf("%s",&StuInfo[num].CInfo.Cname);</p><p>  //把該記錄寫到文件末尾 </p><p>  fprintf(f

62、p,"\n%s\t%s\t%s\t%d\t%s\t%s",StuInfo[num].Sname,StuInfo[num].Sex,StuInfo[num].Sno,StuInfo[num].Age,StuInfo[num].CInfo.Cno,StuInfo[num].CInfo.Cname);</p><p>  fclose(fp);</p><p>  print

63、f("\n保存成功!\n");</p><p>  printf("\n請按enter鍵返回主菜單!\n");</p><p>  getchar();</p><p>  getchar();</p><p><b>  menu();</b></p><p&

64、gt;<b>  }</b></p><p>  void modify()//修改學生信息</p><p><b>  {</b></p><p><b>  int num;</b></p><p><b>  int i;</b><

65、;/p><p>  int right;</p><p><b>  int age;</b></p><p>  char sex[20];</p><p>  char cno[20];</p><p>  char sno[20];</p><p>  int found

66、=-1;</p><p>  char StuNO[20];</p><p>  FILE*fpr,*fpw;</p><p>  if((fpr=fopen("StuInfo.txt","r"))==NULL)</p><p><b>  {</b></p><

67、;p>  printf("文件打不開!\n");</p><p><b>  menu();</b></p><p><b>  }</b></p><p>  for(i=0;!feof(fpr);i++) //讀取文件</p><p>&

68、lt;b>  { </b></p><p>  fscanf(fpr,"%s%s%s%d%s%s",&StuInfo[i].Sname,&StuInfo[i].Sex,&StuInfo[i].Sno,&StuInfo[i].Age,&StuInfo[i].CInfo.Cno,&StuInfo[i].CInfo.Cname

69、);</p><p><b>  }</b></p><p><b>  num=i;</b></p><p>  fclose(fpr);</p><p>  printf("\n請輸入學號選擇要修改的記錄:");</p><p>  scanf(&qu

70、ot;%s",StuNO);</p><p>  for(i=0;i<num;i++)</p><p><b>  {</b></p><p>  if(strcmp(StuNO,StuInfo[i].Sno)==0)</p><p><b>  {</b></p>&

71、lt;p><b>  found=i;</b></p><p>  printf("\n你要修改的學生信息為:\n\n");</p><p>  printf("姓名 性別 學號 年齡 班號 班名\n"); </p><p>  printf(&quo

72、t;%s\t%s\t%s\t%d\t%s\t%s\n",StuInfo[i].Sname,StuInfo[i].Sex,StuInfo[i].Sno,StuInfo[i].Age,StuInfo[i].CInfo.Cno,StuInfo[i].CInfo.Cname);</p><p>  printf("\n請按照提示輸入學生的新信息:\n");</p><p&

73、gt;  printf("姓名:");</p><p>  scanf("%s",&StuInfo[found].Sname);</p><p><b>  do</b></p><p><b>  {</b></p><p>  printf(&qu

74、ot;\n性別(男或女):");</p><p>  scanf("%s",sex);</p><p>  if((strcmp(sex,"男")!=0)&&(strcmp(sex,"女")!=0))</p><p><b>  { </b></p&

75、gt;<p>  printf("輸入錯誤,請輸入男或女!\n");</p><p><b>  right=1;</b></p><p>  getchar();</p><p><b>  }</b></p><p>  else right=0;</p&

76、gt;<p>  }while(right==1);</p><p>  strcpy(StuInfo[found].Sex,sex);</p><p><b>  do</b></p><p><b>  {</b></p><p>  printf("\n學號(11位):

77、");</p><p>  scanf("%s",sno);</p><p>  if(strlen(sno)!=11)</p><p><b>  { </b></p><p>  printf("輸入錯誤,學號長度應為11位數(shù)!\n");</p>&

78、lt;p><b>  right=1;</b></p><p>  getchar();</p><p><b>  }</b></p><p>  else right=0;</p><p>  for(i=0;i<num;i++)</p><p><b&

79、gt;  {</b></p><p>  if((i!=found)&&(strcmp(sno,StuInfo[i].Sno)==0))</p><p><b>  {</b></p><p>  printf("該學號已經存在,請重新輸入!\n");</p><p>&l

80、t;b>  right=1;</b></p><p>  getchar();</p><p><b>  }</b></p><p><b>  }</b></p><p>  }while(right==1);</p><p>  strcpy(StuI

81、nfo[found].Sno,sno);</p><p><b>  do</b></p><p><b>  {</b></p><p>  printf("\n年齡:");</p><p>  scanf("%d",&age);</p>

82、<p>  if(age<=0||age>100)</p><p><b>  { </b></p><p>  printf("年齡應在0-100之間,請重新輸入年齡!\n");</p><p><b>  right=1;</b></p><p>

83、;  getchar();</p><p><b>  }</b></p><p>  else right=0;</p><p>  }while(right==1);</p><p>  StuInfo[found].Age=age;</p><p><b>  do</b&g

84、t;</p><p><b>  {</b></p><p>  printf("\n班號(6位):");</p><p>  scanf("%s",cno);</p><p>  if(strlen(cno)!=6)</p><p><b>  

85、{ </b></p><p>  printf("輸入錯誤,班號長度應為6位數(shù)!\n");</p><p><b>  right=1;</b></p><p>  getchar();</p><p><b>  }</b></p><p&g

86、t;  else right=0;</p><p>  }while(right==1);</p><p>  strcpy(StuInfo[found].CInfo.Cno,cno);</p><p>  printf("\n班名:");</p><p>  scanf("%s",&StuIn

87、fo[found].CInfo.Cname);</p><p>  if((fpw=fopen("StuInfo.txt","w"))==NULL)</p><p><b>  {</b></p><p>  printf("文件打不開,保存失敗!\n");</p>&l

88、t;p><b>  menu();</b></p><p><b>  }</b></p><p>  for(i=0;i<num;i++) //保存文件</p><p><b>  { </b></p><p>  fpr

89、intf(fpw,"\n%s\t%s\t%s\t%d\t%s\t%s",StuInfo[i].Sname,StuInfo[i].Sex,StuInfo[i].Sno,StuInfo[i].Age,StuInfo[i].CInfo.Cno,StuInfo[i].CInfo.Cname);</p><p><b>  }</b></p><p>  f

90、close(fpw);</p><p>  printf("\n修改成功!\n");</p><p>  printf("\n請按enter鍵返回主菜單!\n");</p><p>  getchar();</p><p>  getchar();</p><p><b&g

91、t;  menu();</b></p><p><b>  } </b></p><p><b>  }</b></p><p>  if(found<0)</p><p><b>  {</b></p><p>  printf(&

92、quot;\n沒有找到該學號的記錄:\n");</p><p>  printf("\n請按enter鍵返回主菜單!\n");</p><p>  getchar();</p><p>  getchar();</p><p><b>  menu();</b></p><

93、;p><b>  }</b></p><p><b>  } </b></p><p>  void browse()//顯示所有學生信息</p><p><b>  {</b></p><p><b>  int num;</b>&

94、lt;/p><p><b>  int i;</b></p><p><b>  FILE*fp;</b></p><p>  if((fp=fopen("StuInfo.txt","r"))==NULL)</p><p><b>  {</b&g

95、t;</p><p>  printf("文件打不開!\n");</p><p><b>  menu();</b></p><p><b>  }</b></p><p>  for(i=0;!feof(fp);i++) //讀取文件</p&g

96、t;<p><b>  { </b></p><p>  fscanf(fp,"%s%s%s%d%s%s",&StuInfo[i].Sname,&StuInfo[i].Sex,&StuInfo[i].Sno,&StuInfo[i].Age,&StuInfo[i].CInfo.Cno,&StuInfo[

97、i].CInfo.Cname);</p><p><b>  }</b></p><p>  fclose(fp);</p><p><b>  num=i;</b></p><p>  printf("\n已添加%d個學生信息\n\n",num);</p><

98、;p>  printf("姓名 性別 學號 年齡 班號 班名\n"); </p><p>  for(i=0;i<num;i++) //輸出</p><p><b>  {</b></p><p>  printf("%s %s

99、 %s %d %s %s\n",StuInfo[i].Sname,StuInfo[i].Sex,StuInfo[i].Sno,StuInfo[i].Age,StuInfo[i].CInfo.Cno,StuInfo[i].CInfo.Cname);</p><p><b>  }</b></p><p>  printf("\n請按e

100、nter鍵返回主菜單!\n");</p><p>  getchar();</p><p>  getchar();</p><p><b>  menu();</b></p><p><b>  }</b></p><p>  void quiry()</p

101、><p><b>  {</b></p><p>  int chose;</p><p>  int right; </p><p><b>  do</b></p><p><b>  {</b></p><p>  system

102、("cls");</p><p>  printf("\n\t1-按學號查詢\t2-按姓名查詢\t3-某班學生信息\t4-返回\n"); </p><p>  printf("\n請輸入數(shù)字選擇:");</p><p>  scanf("%d",&chose);</p&g

103、t;<p>  if(chose<1||chose>4)</p><p><b>  {</b></p><p><b>  right=1;</b></p><p>  getchar();</p><p><b>  }</b></p>

104、<p>  else right=0;</p><p>  }while(right==1);</p><p>  switch(chose)</p><p><b>  {</b></p><p>  case 1:bySno();break;</p><p>  case 2:b

105、ySname();break;</p><p>  case 3:byCno();break;</p><p>  case 4:menu();</p><p><b>  } </b></p><p><b>  }</b></p><p>  void bySno()

106、</p><p><b>  {</b></p><p>  int found=-1;</p><p><b>  int num;</b></p><p><b>  int i;</b></p><p>  char no[20];</p&g

107、t;<p><b>  FILE*fp;</b></p><p>  if((fp=fopen("StuInfo.txt","r"))==NULL)</p><p><b>  {</b></p><p>  printf("文件打不開!\n");&

108、lt;/p><p><b>  menu();</b></p><p><b>  }</b></p><p>  for(i=0;!feof(fp);i++) //讀取文件</p><p><b>  { </b></p>

109、<p>  fscanf(fp,"%s%s%s%d%s%s",&StuInfo[i].Sname,&StuInfo[i].Sex,&StuInfo[i].Sno,&StuInfo[i].Age,&StuInfo[i].CInfo.Cno,&StuInfo[i].CInfo.Cname);</p><p><b>  }<

110、/b></p><p><b>  num=i;</b></p><p>  fclose(fp);</p><p>  printf("\n請輸入學生學號:");</p><p>  scanf("%s",no);</p><p>  for(i=0

111、;i<num;i++)</p><p><b>  {</b></p><p>  if(strcmp(no,StuInfo[i].Sno)==0)</p><p><b>  {</b></p><p><b>  found=i;</b></p><

112、;p>  printf("\n該學生的信息為:\n\n");</p><p>  printf("姓名 性別 學號 年齡 班號 班名\n"); </p><p>  printf("%s\t%s\t%s\t%d\t%s\t%s\n",StuInfo[found].Sname,Stu

113、Info[found].Sex,StuInfo[found].Sno,StuInfo[found].Age,StuInfo[found].CInfo.Cno,StuInfo[found].CInfo.Cname);</p><p><b>  }</b></p><p><b>  }</b></p><p>  if(f

114、ound<0)</p><p>  printf("\n沒有找到該班號的記錄!\n");</p><p>  printf("\n請按enter鍵返回上級菜單!\n");</p><p>  getchar();</p><p>  getchar();</p><p>&

115、lt;b>  quiry();</b></p><p><b>  }</b></p><p>  void bySname()</p><p><b>  {</b></p><p>  int found=-1;</p><p><b>  i

116、nt num;</b></p><p><b>  int i;</b></p><p>  char name[20];</p><p><b>  FILE*fp;</b></p><p>  if((fp=fopen("StuInfo.txt","r&

117、quot;))==NULL)</p><p><b>  {</b></p><p>  printf("文件打不開!\n");</p><p><b>  menu();</b></p><p><b>  }</b></p><p&g

118、t;  for(i=0;!feof(fp);i++) //讀取文件</p><p><b>  { </b></p><p>  fscanf(fp,"%s%s%s%d%s%s",&StuInfo[i].Sname,&StuInfo[i].Sex,&StuInfo[i].Sno,&a

119、mp;StuInfo[i].Age,&StuInfo[i].CInfo.Cno,&StuInfo[i].CInfo.Cname);</p><p><b>  }</b></p><p><b>  num=i;</b></p><p>  fclose(fp);</p><p> 

120、 printf("\n請輸入學生姓名:");</p><p>  scanf("%s",name);</p><p>  printf("\n叫該姓名的學生信息為:\n\n");</p><p>  printf("姓名 性別 學號 年齡 班號 班名\n"

121、;); </p><p>  for(i=0;i<num;i++)</p><p><b>  {</b></p><p>  if(strcmp(name,StuInfo[i].Sname)==0)</p><p><b>  {</b></p><p>  fou

122、nd=i;</p><p>  printf("%s\t%s\t%s\t%d\t%s\t%s\n",StuInfo[found].Sname,StuInfo[found].Sex,StuInfo[found].Sno,StuInfo[found].Age,StuInfo[found].CInfo.Cno,StuInfo[found].CInfo.Cname);</p><

123、;p><b>  }</b></p><p><b>  }</b></p><p>  if(found<0)</p><p>  printf("\n沒有找到該班號的記錄!\n");</p><p>  printf("\n請按enter鍵返回上級菜單!

124、\n");</p><p>  getchar();</p><p>  getchar();</p><p><b>  quiry();</b></p><p><b>  } </b></p><p>  void byCno()</p><

125、;p><b>  {</b></p><p>  int found=-1;</p><p><b>  int num;</b></p><p><b>  int i;</b></p><p>  char ClaNO[20];</p><p>

126、;<b>  FILE*fp;</b></p><p>  if((fp=fopen("StuInfo.txt","r"))==NULL)</p><p><b>  {</b></p><p>  printf("文件打不開!\n");</p>&

127、lt;p><b>  menu();</b></p><p><b>  }</b></p><p>  for(i=0;!feof(fp);i++) //讀取文件</p><p><b>  { </b></p><p>  fsc

128、anf(fp,"%s%s%s%d%s%s",&StuInfo[i].Sname,&StuInfo[i].Sex,&StuInfo[i].Sno,&StuInfo[i].Age,&StuInfo[i].CInfo.Cno,&StuInfo[i].CInfo.Cname);</p><p><b>  }</b></p&g

129、t;<p><b>  num=i;</b></p><p>  fclose(fp);</p><p>  printf("\n請輸入班號:");</p><p>  scanf("%s",ClaNO);</p><p>  printf("\n該班級的學

130、生信息為:\n\n");</p><p>  printf("姓名 性別 學號 年齡 班號 班名\n"); </p><p>  for(i=0;i<num;i++)</p><p><b>  { </b></p><p>  if(st

131、rcmp(ClaNO,StuInfo[i].CInfo.Cno)==0)</p><p><b>  {</b></p><p>  found=i; </p><p>  printf("%s\t%s\t%s\t%d\t%s\t%s\n",StuInfo[found].Sname,StuInfo[found].

132、Sex,StuInfo[found].Sno,StuInfo[found].Age,StuInfo[found].CInfo.Cno,StuInfo[found].CInfo.Cname);</p><p><b>  }</b></p><p><b>  }</b></p><p>  if(found<0)&l

133、t;/p><p>  printf("\n沒有找到該班號的記錄!\n");</p><p>  printf("\n請按enter鍵返回上級菜單!\n");</p><p>  getchar();</p><p>  getchar();</p><p><b>  qu

134、iry();</b></p><p><b>  }</b></p><p>  void stastic()</p><p><b>  {</b></p><p>  int chose;</p><p>  int right; </p>&l

135、t;p><b>  do</b></p><p><b>  {</b></p><p>  system("cls");</p><p>  printf("\n\t1-全體男生\t2-全體女生\t3-全體學生\t4-返回\n"); </p><p>

136、;  printf("\n請輸入數(shù)字選擇:");</p><p>  scanf("%d",&chose);</p><p>  if(chose<1||chose>4)</p><p><b>  {</b></p><p><b>  right=

137、1;</b></p><p>  getchar();</p><p><b>  }</b></p><p>  else right=0;</p><p>  }while(right==1);</p><p>  switch(chose)</p><p>

138、;<b>  {</b></p><p><b>  case 1:</b></p><p><b>  Male();</b></p><p>  printf("\n請按enter鍵返回上級菜單!\n");</p><p>  getchar();<

139、;/p><p>  getchar();</p><p>  stastic();</p><p><b>  break;</b></p><p><b>  case 2:</b></p><p><b>  Female();</b></p>

140、;<p>  printf("\n請按enter鍵返回上級菜單!\n");</p><p>  getchar();</p><p>  getchar();</p><p>  stastic();</p><p><b>  break;</b></p><p&g

141、t;<b>  case 3:</b></p><p><b>  StuMsg();</b></p><p>  printf("\n請按enter鍵返回上級菜單!\n");</p><p>  getchar();</p><p>  getchar();</p>

142、<p>  stastic();</p><p><b>  break;</b></p><p>  case 4:menu();</p><p><b>  } </b></p><p><b>  }</b></p><p>  

143、void Male()//男生基本統(tǒng)計信息</p><p><b>  {</b></p><p><b>  int num;</b></p><p><b>  float mg;</b></p><p>  num=MaleNum();</p>

144、<p>  mg=MaleMG();</p><p>  printf("\n男生總人數(shù)為:%d\n平均年齡為:%f\n",num,mg);</p><p><b>  }</b></p><p>  int MaleNum() //男生人數(shù)</p&

145、gt;<p><b>  {</b></p><p><b>  int num;</b></p><p>  int count=0;</p><p><b>  int i;</b></p><p><b>  FILE*fp;</b>&

146、lt;/p><p>  if((fp=fopen("StuInfo.txt","r"))==NULL)</p><p><b>  {</b></p><p>  printf("文件打不開!\n");</p><p><b>  menu();</

147、b></p><p><b>  }</b></p><p>  for(i=0;!feof(fp);i++) //讀取文件</p><p>  { </p><p>  fscanf(fp,"%s%s%s%d%s%s",&StuInfo[i]

148、.Sname,&StuInfo[i].Sex,&StuInfo[i].Sno,&StuInfo[i].Age,&StuInfo[i].CInfo.Cno,&StuInfo[i].CInfo.Cname);</p><p><b>  }</b></p><p>  fclose(fp);</p><p>

149、<b>  num=i;</b></p><p>  for(i=0;i<num;i++) </p><p><b>  {</b></p><p>  if(strcmp("男",StuInfo[i].Sex)==0)</p><p>

150、<b>  {</b></p><p><b>  count++;</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  return count;</p><p><b

151、>  }</b></p><p>  float MaleMG() //男生平均年齡</p><p><b>  {</b></p><p><b>  int num;</b></p><p>  int count=0;

152、</p><p>  int found;</p><p>  float mAge=0;</p><p><b>  int i;</b></p><p><b>  FILE*fp;</b></p><p>  if((fp=fopen("StuInfo.txt

153、","r"))==NULL)</p><p><b>  {</b></p><p>  printf("文件打不開!\n");</p><p><b>  menu();</b></p><p><b>  }</b><

154、/p><p>  for(i=0;!feof(fp);i++) //讀取文件</p><p><b>  { </b></p><p>  fscanf(fp,"%s%s%s%d%s%s",&StuInfo[i].Sname,&StuInfo[i].Sex,&StuIn

溫馨提示

  • 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

提交評論