2023年全國(guó)碩士研究生考試考研英語(yǔ)一試題真題(含答案詳解+作文范文)_第1頁(yè)
已閱讀1頁(yè),還剩23頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、<p>  C 語(yǔ) 言 課 程 設(shè) 計(jì) 報(bào) 告 </p><p>  這周我們的C語(yǔ)言程序課程設(shè)計(jì)是讓學(xué)生自主設(shè)計(jì)學(xué)生成績(jī)管理系統(tǒng) 。</p><p>  C語(yǔ)言的實(shí)質(zhì)就是以一定的語(yǔ)法規(guī)范為準(zhǔn),通過(guò)對(duì)數(shù)據(jù)量的復(fù)雜結(jié)構(gòu)運(yùn)算,完成一定功能的程序,是一門計(jì)算機(jī)基礎(chǔ)

2、語(yǔ)言,我們通過(guò)這一學(xué)期的學(xué)習(xí),對(duì)于其特點(diǎn)和算法有了一定程度的了解。這一周的課程設(shè)計(jì)正是讓我們鞏固以前的知識(shí)并在此基礎(chǔ)上能夠有所突破。</p><p>  在設(shè)計(jì)程序的過(guò)程中,我了解到要設(shè)計(jì)一個(gè)完整的程序,其中最難的可能就屬設(shè)計(jì)整個(gè)程序的框架,其中可能會(huì)需要經(jīng)過(guò)很多次的修改與調(diào)試,所以必須要有耐心,直至最后設(shè)計(jì)出自己想要的程序。 另外平時(shí)學(xué)習(xí)c語(yǔ)言的基礎(chǔ)也很關(guān)鍵,因?yàn)槿绻綍r(shí)學(xué)得就不怎么樣,那么你面對(duì)這么一個(gè)比較有

3、難度的程序,可能會(huì)望而卻步,看懂他人的程序都是個(gè)難點(diǎn),更別說(shuō)讓自己去設(shè)計(jì)。</p><p>  設(shè)計(jì)一個(gè)程序的過(guò)程就是解決一個(gè)實(shí)際問(wèn)題的過(guò)程,從解決實(shí)際問(wèn)題的角度,我們可以這樣來(lái)看:首先要了解這個(gè)問(wèn)題的基本要求,即輸入、輸出、完成從輸入到輸出的要求是什么;在次我們必須捋清思路,逐一的解決問(wèn)題的各個(gè)方面,即從輸入開(kāi)始入手,著重考慮如何從輸入導(dǎo)出輸出,在這個(gè)過(guò)程中,可確定所需的變量、數(shù)組、函數(shù),然后確定處理過(guò)程--算

4、法。</p><p>  經(jīng)過(guò)一周的課程設(shè)計(jì),我學(xué)到了很多東西:</p><p> ?、凫柟毯图由盍藢?duì)編程的理解,提高綜合運(yùn)用本課程所學(xué)知識(shí)的能力。</p><p> ?、谂囵B(yǎng)了我選用參考書(shū),查閱手冊(cè)及文獻(xiàn)資料的能力。培養(yǎng)獨(dú)立思考,深入研究,分析問(wèn)題、解決問(wèn)題的能力。</p><p>  ③經(jīng)過(guò)實(shí)際編譯系統(tǒng)的分析設(shè)計(jì)、編程調(diào)試,掌握應(yīng)用軟件的

5、分析方法和工程設(shè)計(jì)方法。</p><p> ?、苣軌虬匆缶帉懻n程設(shè)計(jì)報(bào)告書(shū),能正確闡述設(shè)計(jì)和實(shí)驗(yàn)結(jié)果,。</p><p>  課程設(shè)計(jì)是把我們所學(xué)的理論知識(shí)進(jìn)行系統(tǒng)的總結(jié)并應(yīng)用于實(shí)踐的良好機(jī)會(huì),有利于加強(qiáng)我們用知識(shí)理論來(lái)分析實(shí)際問(wèn)題的能力,進(jìn)而加強(qiáng)了我們對(duì)知識(shí)認(rèn)識(shí)的實(shí)踐度,鞏固了我們的理論知識(shí),深化了對(duì)知識(shí)的認(rèn)識(shí),并為走向社會(huì)打下一個(gè)良好的基礎(chǔ)。</p><p>

6、  感謝這次的課程設(shè)計(jì),它使我更加深刻地體會(huì)到c語(yǔ)言程序編寫過(guò)程的嚴(yán)謹(jǐn)與細(xì)致,還有就是無(wú)論做任何事都要有耐心??偟膩?lái)說(shuō),這次程序設(shè)計(jì)讓我獲益匪淺,對(duì)C語(yǔ)言也有了進(jìn)一步的認(rèn)識(shí):C語(yǔ)言功能高、表達(dá)能力強(qiáng)、使用靈活方便、目標(biāo)程序效率高等等。C語(yǔ)言是在國(guó)內(nèi)外廣泛使用的一種計(jì)算機(jī)語(yǔ)言,相信除了以上優(yōu)點(diǎn),還有許多我們還未發(fā)現(xiàn),希望能在以后的學(xué)習(xí)中有更深入的認(rèn)識(shí)。</p><p><b>  學(xué)生成績(jī)管理系統(tǒng)<

7、/b></p><p>  要求設(shè)計(jì)一個(gè)具有以下功能的學(xué)生管理系統(tǒng): </p><p>  1.系統(tǒng)以菜單方式工作;</p><p>  2.能夠?qū)崿F(xiàn)對(duì)學(xué)生基本數(shù)據(jù)進(jìn)行添加、刪除、修改等維護(hù);</p><p>  3.能夠?qū)φn程基本數(shù)據(jù)進(jìn)行添加、刪除、修改等維護(hù);</p><p>  4.能夠?qū)W(xué)生成績(jī)進(jìn)行添加、

8、刪除、修改等維護(hù);</p><p>  5.具備按學(xué)號(hào)、姓名或課程名進(jìn)行成績(jī)查詢的功能;</p><p>  6.具備統(tǒng)計(jì)成績(jī)的最高分、最低分、平均分、及格率等。</p><p><b>  總體設(shè)計(jì)</b></p><p>  根據(jù)上面的需求分析,可以將這個(gè)系統(tǒng)分為以下模塊:輸入模塊,修改模塊,刪除模塊,查找模塊,顯示

9、模塊.</p><p><b>  詳細(xì)設(shè)計(jì)</b></p><p><b>  主函數(shù):</b></p><p>  主函數(shù)一般設(shè)計(jì)得比較簡(jiǎn)單,只提供輸入,處理和輸出部分的函數(shù)調(diào)用,其中各功能模塊用菜單方式選擇.</p><p><b>  流程圖:</b></p>

10、;<p><b>  N</b></p><p><b>  Y</b></p><p>  //#include "head.h" </p><p>  int menu_select() </p><p><b>  { </b></

11、p><p><b>  char c; </b></p><p>  printf("\n\n"); </p><p>  printf(" \t\t\t| 1. 增加學(xué)生記錄 5.統(tǒng)計(jì)信息 |\n"); </p><p>  printf(" \t\t\t| 2.

12、 查詢學(xué)生記錄 6.打開(kāi)文件 |\n"); </p><p>  printf(" \t\t\t| 3. 修改學(xué)生記錄 7.保存文件 |\n"); </p><p>  printf(" \t\t\t| 4. 學(xué)生紀(jì)錄排序 8.顯示記錄 |\n"); </p><p>  printf(

13、" \t\t\t| 9. 增加課程信息 10.修改課程信息 |\n"); </p><p>  printf(" \t\t\t| 11. 查詢課程信息 0. 退出系統(tǒng)|\n"); </p><p>  printf("\n\n"); </p><p>  printf("\t\t\

14、t請(qǐng)選擇(0-11):"); </p><p>  c=getchar(); </p><p>  getchar(); </p><p>  return (c-'0'); </p><p><b>  } </b></p><p><b>  輸入模塊:&l

15、t;/b></p><p>  void addrecord(student stud[]) </p><p><b>  { </b></p><p>  int i=0,j,num; </p><p>  char str[5]; </p><p>  if(numstus!=0) &l

16、t;/p><p><b>  { </b></p><p>  printf("已有記錄存在是否覆蓋?(y/n)\n"); </p><p>  gets(str); </p><p>  if(str[0]=='Y'||str[0]=='y') </p>&

17、lt;p><b>  i=0; </b></p><p>  else i=numstus; </p><p><b>  } </b></p><p>  printf("請(qǐng)輸入增加的學(xué)生數(shù):"); </p><p>  scanf("%d",&

18、;num); </p><p><b>  if(i==0) </b></p><p>  numstus=num; </p><p>  else numstus+=num; </p><p>  if(numstus>lens) </p><p><b>  { </b&

19、gt;</p><p>  lens+=50; </p><p>  pointer=(student *)realloc(pointer,lens*LEN); </p><p><b>  } </b></p><p>  printf("請(qǐng)輸入學(xué)生信息:\n"); </p><

20、p>  for(;i<numstus;i++) </p><p><b>  { </b></p><p>  getchar(); </p><p>  printf("請(qǐng)輸入學(xué)號(hào):"); </p><p>  gets(pointer[i].number); </p>&

21、lt;p>  printf("請(qǐng)輸入姓名:"); </p><p>  gets(pointer[i].name); </p><p>  printf("請(qǐng)輸入性別(男/女 1/0):"); </p><p>  gets(pointer[i].sex); </p><p>  if(point

22、er[i].sex[0]=='0') strcpy(pointer[i].sex,"女"); </p><p>  else strcpy(pointer[i].sex,"男"); </p><p>  printf("請(qǐng)輸入各科成績(jī)按 語(yǔ)文 高數(shù) 英語(yǔ) 物理 線代"); </p><p>

23、  stud[i].score=0; </p><p>  for(j=0;j<numsubs;j++) </p><p><b>  { </b></p><p>  scanf("%f",&stud[i].subject[j]); /*計(jì)算總分*/ </p><p>  stud[i

24、].score+=stud[i].subject[j]; </p><p><b>  } </b></p><p>  stud[i].average=stud[i].score/numsubs; /*計(jì)算平均分*/ </p><p><b>  } </b></p><p>  count(st

25、ud); /*附名次*/ </p><p>  display(stud,0,numstus-1); </p><p>  getchar(); </p><p><b>  }</b></p><p>  int numstus; </p><p>  int lens; </p>

26、<p>  student *pointer; </p><p>  void main() </p><p><b>  { </b></p><p><b>  int i=1; </b></p><p>  char str[2]; </p><p>  l

27、ens=100; </p><p>  pointer=(student *)malloc(lens*LEN); /*分配內(nèi)存*/ </p><p>  numstus=0; </p><p>  welcome(); /*歡迎界面*/ </p><p>  while(i>0) </p><p><b&g

28、t;  { </b></p><p>  i=menu_select(); /*控制菜單*/ </p><p>  switch(i) </p><p><b>  { </b></p><p>  case 1:addrecord(pointer);break; /*增加學(xué)生信息*/ </p>

29、<p>  case 2:findrecord(pointer);break; /*查詢學(xué)生信息*/ </p><p>  case 3:amendrecord(pointer);break; /*修改學(xué)生信息*/ </p><p>  case 4:sort(pointer);break; /*學(xué)生信息排序*/ </p><p>  case 5:st

30、atistic(pointer);break; /*統(tǒng)計(jì)信息*/ </p><p>  case 6:openfile(pointer);break; /*打開(kāi)文件*/ </p><p>  case 7:writetotext(pointer);break; /*保存文件*/ </p><p>  case 8:display(pointer,0,numstus-

31、1);break; /*顯示記錄*/ </p><p><b>  case 0: </b></p><p>  if(numstus!=0) printf("是否保存當(dāng)前記錄?(y/n)"); </p><p>  gets(str); </p><p>  if(str[0]=='y

32、9;||str[0]=='Y') </p><p>  writetotext(pointer); </p><p>  i=-1;break; /*退出系統(tǒng)*/ </p><p>  default:printf("請(qǐng)輸入數(shù)字0~8:\n");i=1; /*輸入錯(cuò)誤*/ </p><p><b>

33、;  } </b></p><p><b>  } </b></p><p>  printf("\t\t歡迎再次使用本系統(tǒng)。\n\n"); </p><p>  display1(); </p><p><b>  }</b></p><p>

34、;<b>  修改模塊:</b></p><p>  void xiugai() </p><p><b>  { </b></p><p>  if((fp=fopen("s_score.txt","rb+"))==NULL||(fp1=fopen("temp.txt&q

35、uot;,"wb+"))==NULL) /*檢查是否出錯(cuò)*/</p><p><b>  { </b></p><p>  printf("Cannot open this file.\n"); </p><p><b>  exit(0); </b></p><

36、p><b>  } </b></p><p>  printf("\nPLease shuru xiugai xuehao:"); </p><p>  scanf("%d",&i); getchar(); </p><p>  while((fread(&data,sizeof(d

37、ata),1,fp))==1) </p><p><b>  { </b></p><p>  j=atoi(data.xuehao); </p><p><b>  if(j==i) </b></p><p><b>  { </b></p><p>

38、  printf("xuehao:%s\nmingzi:%s\nnianling:%s\n",data.xuehao,data.mingzi,data.nianling); </p><p>  printf("Please shuru mingzi:"); </p><p>  gets(data.mingzi); </p><

39、p>  printf("Please shuru shuxue score:"); </p><p>  gets(temp);data.score[0]=atof(temp); </p><p>  printf("Please input yingyu score:"); </p><p>  gets(temp);

40、data.score[1]=atof(temp); </p><p>  printf("Please input wuli score:"); </p><p>  gets(temp);data.score[2]=atof(temp); </p><p>  data.score[3]=data.score[0]+data.score[1]+

41、data.score[2];</p><p>  } fwrite(&data,sizeof(data),1,fp1); </p><p><b>  } </b></p><p>  fseek(fp,0L,0); /*將位置指針移到離頭文件0個(gè)字節(jié)處*/</p><p>  fseek(fp1,0L,0);

42、</p><p>  while((fread(&data,sizeof(data),1,fp1))==1) </p><p><b>  { </b></p><p>  fwrite(&data,sizeof(data),1,fp); </p><p><b>  } </b>&

43、lt;/p><p>  fclose(fp); </p><p>  fclose(fp1); </p><p><b>  }</b></p><p><b>  刪除模塊:</b></p><p>  void deleterecord(student stu[],int i

44、) /*刪除信息*/ </p><p><b>  { </b></p><p><b>  int j; </b></p><p>  while(i>=0) </p><p><b>  { </b></p><p>  for(j=i;j&l

45、t;numstus;j++) </p><p>  stu[j]=stu[j+1]; </p><p>  numstus--; </p><p>  printf("刪除成功!\n"); </p><p><b>  } </b></p><p><b>  } &

46、lt;/b></p><p>  void count(student stud[]) </p><p><b>  { </b></p><p><b>  int i,j; </b></p><p>  for(i=0;i<numstus;i++) </p><p

47、><b>  { </b></p><p>  stud[i].index=1; </p><p>  for(j=0;j<numstus;j++) </p><p>  if(stud[j].score>stud[i].score) </p><p>  stud[i].index++; </p

48、><p><b>  } </b></p><p><b>  }</b></p><p><b>  查找模塊:</b></p><p>  //#include "head.h" </p><p>  int findrecord(s

49、tudent stud[]) /*查找信息*/ </p><p><b>  { </b></p><p>  char str[2]; </p><p>  int i,num; </p><p>  if(numstus==0) </p><p><b>  { </b>

50、</p><p>  printf("沒(méi)有可被查找的記錄\n"); </p><p>  return -1; </p><p><b>  } </b></p><p><b>  else </b></p><p><b>  { </

51、b></p><p>  printf("\t\t\t以何種方式查找?\n1.學(xué)號(hào)\t2.姓名\t3.課程名\n"); </p><p>  gets(str); </p><p>  if(str[0]=='1') /*按學(xué)號(hào)查找*/ </p><p><b>  { </b>

52、</p><p>  printf("請(qǐng)輸入學(xué)號(hào):"); </p><p>  gets(str); </p><p>  for(i=0;i<=numstus;i++) </p><p>  if(strcmp(str,stud[i].number)==0) </p><p><b&g

53、t;  { </b></p><p>  display(stud,i,i); </p><p><b>  break; </b></p><p><b>  } </b></p><p>  else continue; </p><p><b> 

54、 } </b></p><p>  else if(str[0]=='2') /*按姓名查找*/ </p><p><b>  { </b></p><p>  printf("請(qǐng)輸入姓名:"); </p><p>  gets(str); </p><

55、p>  for(i=0;i<=numstus;i++) </p><p>  if(strcmp(str,stud[i].name)==0) </p><p><b>  { </b></p><p>  display(stud,i,i); </p><p><b>  break; </b

56、></p><p><b>  } </b></p><p>  else continue; </p><p><b>  } </b></p><p>  else if(str[0]=='3') /*按課程查找*/ </p><p><b&g

57、t;  { </b></p><p>  printf("請(qǐng)輸入課程名:"); </p><p>  getchar(str); </p><p>  for(i=0;i<=numstus;i++) </p><p>  if(strcmp(str,stud[i].name)==0)</p>

58、<p><b>  { </b></p><p>  display(stud,i,i); </p><p><b>  break; </b></p><p><b>  } </b></p><p>  else continue; </p>&l

59、t;p><b>  } </b></p><p>  if(i>numstus) </p><p><b>  { </b></p><p>  printf("沒(méi)有查找所要的信息。\n"); </p><p>  return -1; </p><

60、;p><b>  } </b></p><p>  return i; </p><p><b>  } </b></p><p><b>  } </b></p><p><b>  顯示模塊:</b></p><p>  

61、void welcome() </p><p><b>  { </b></p><p>  printf("\t*************************************************************\n"); </p><p>  printf("\t\t\t**西安科技大學(xué)學(xué)

62、生成績(jī)管理系統(tǒng)**\n\t\t\t\t祖國(guó)利益高于一切!\n"); </p><p>  printf("\t*************************************************************\n"); </p><p><b>  } </b></p><p>  void

63、 showtable() </p><p><b>  { </b></p><p>  printf("-----------------------------------------------------------------------------\n"); </p><p>  printf("學(xué)號(hào)\

64、t姓名\t性別\t語(yǔ)文\t高數(shù)\t英語(yǔ)\t物理\t線代 總分 平均分 名次\n"); </p><p>  printf("-----------------------------------------------------------------------------\n"); </p><p><b>  } </b>&

65、lt;/p><p>  void display(student stud[],int n1,int n2) </p><p><b>  { </b></p><p><b>  int i; </b></p><p>  showtable(); /*顯示表頭*/ </p><p

66、>  for(i=n1;i<=n2;i++) </p><p>  printf("%s\t%s\t%s\t%.1f\t%.1f\t%.1f\t%.1f\t%.1f\t%.1f %.1f %d\n",stud[i].number,stud[i].name,stud[i].sex,stud[i].subject[0],stud[i].subject[1],stud[i].subje

67、ct[2],stud[i].subject[3],stud[i].subject[4],stud[i].score,stud[i].average,stud[i].index); </p><p>  /*通過(guò)循環(huán)輸出數(shù)據(jù)*/ </p><p><b>  } </b></p><p>  void display1() </p>

68、<p><b>  { </b></p><p>  printf("\t\t西安科技大學(xué)\n\n"); </p><p>  printf("\t\t測(cè)控技術(shù)與儀器1202 \n\n"); </p><p>  printf("\t\t樊佳\t\t\t\n"); <

69、/p><p>  printf("\n\n"); </p><p>  getchar(); </p><p><b>  } </b></p><p><b>  程序源</b></p><p>  #ifndef H_STUDENT_HH </p&g

70、t;<p>  #define H_STUDENT_HH </p><p>  #include "stdio.h" </p><p>  #include "string.h" </p><p>  #include "malloc.h" </p><p>  #de

71、fine LEN sizeof(struct message_student) /*一個(gè)結(jié)構(gòu)體數(shù)組元素的長(zhǎng)度*/ </p><p>  #define numsubs 5 /*學(xué)科數(shù)目*/ </p><p>  typedef struct message_student /*結(jié)構(gòu)體定義*/ </p><p><b>  { </b></

72、p><p>  char number[10]; </p><p>  char name[20]; </p><p>  char sex[4]; </p><p>  float subject[numsubs]; </p><p>  float score; </p><p>  float

73、 average; </p><p>  int index; </p><p>  }student; </p><p>  extern int numstus; /*學(xué)生數(shù)目*/ </p><p>  extern student *pointer; /*指向結(jié)構(gòu)體數(shù)組*/ </p><p>  extern i

74、nt lens; </p><p>  int menu_select(); /*函數(shù)聲明*/ </p><p>  int openfile(student stu[]); </p><p>  int findrecord(student stud[]); </p><p>  int writetotext(student stud[]

75、); </p><p>  void welcome(); </p><p>  void display1(); </p><p>  void showtable(); </p><p>  void sort(student stu[]); </p><p>  void deleterecord(student

76、 stu[],int i); </p><p>  void addrecord(student stud[]); </p><p>  void display(student stud[],int n1,int n2); </p><p>  void amendrecord(student stud[]); </p><p>  voi

77、d count(student stud[]); </p><p>  void sortnum(student stud[]); </p><p>  void sortnum2(student stud[]); </p><p>  void sortname(student stud[]); </p><p>  void sortna

78、me2(student stud[]); </p><p>  void sortcount(student stud[]); </p><p>  void sortcount2(student stud[]); </p><p>  void statistic(student stud[]); </p><p>  void displ

79、ay1(); </p><p><b>  #endif </b></p><p>  //#include "head.h" </p><p>  int menu_select() </p><p><b>  { </b></p><p><b

80、>  char c; </b></p><p>  printf("\n\n"); </p><p>  printf(" \t\t\t| 1. 增加學(xué)生記錄 5.統(tǒng)計(jì)信息 |\n"); </p><p>  printf(" \t\t\t| 2. 查詢學(xué)生記錄 6.打開(kāi)文件 |

81、\n"); </p><p>  printf(" \t\t\t| 3. 修改學(xué)生記錄 7.保存文件 |\n"); </p><p>  printf(" \t\t\t| 4. 學(xué)生紀(jì)錄排序 8.顯示記錄 |\n"); </p><p>  printf(" \t\t\t| 9. 增加課

82、程信息 10.修改課程信息 |\n"); </p><p>  printf(" \t\t\t| 11. 查詢課程信息 0. 退出系統(tǒng)|\n"); </p><p>  printf("\n\n"); </p><p>  printf("\t\t\t請(qǐng)選擇(0-11):"); &

83、lt;/p><p>  c=getchar(); </p><p>  getchar(); </p><p>  return (c-'0'); </p><p><b>  } </b></p><p>  //#include "head.h" </p&

84、gt;<p>  int findrecord(student stud[]) /*查找信息*/ </p><p><b>  { </b></p><p>  char str[2]; </p><p>  int i,num; </p><p>  if(numstus==0) </p>

85、<p><b>  { </b></p><p>  printf("沒(méi)有可被查找的記錄\n"); </p><p>  return -1; </p><p><b>  } </b></p><p><b>  else </b></p&

86、gt;<p><b>  { </b></p><p>  printf("\t\t\t以何種方式查找?\n1.學(xué)號(hào)\t2.姓名\t3.課程名\n"); </p><p>  gets(str); </p><p>  if(str[0]=='1') /*按學(xué)號(hào)查找*/ </p>

87、<p><b>  { </b></p><p>  printf("請(qǐng)輸入學(xué)號(hào):"); </p><p>  gets(str); </p><p>  for(i=0;i<=numstus;i++) </p><p>  if(strcmp(str,stud[i].number)=

88、=0) </p><p><b>  { </b></p><p>  display(stud,i,i); </p><p><b>  break; </b></p><p><b>  } </b></p><p>  else continue;

89、 </p><p><b>  } </b></p><p>  else if(str[0]=='2') /*按姓名查找*/ </p><p><b>  { </b></p><p>  printf("請(qǐng)輸入姓名:"); </p><p&

90、gt;  gets(str); </p><p>  for(i=0;i<=numstus;i++) </p><p>  if(strcmp(str,stud[i].name)==0) </p><p><b>  { </b></p><p>  display(stud,i,i); </p>&

91、lt;p><b>  break; </b></p><p><b>  } </b></p><p>  else continue; </p><p><b>  } </b></p><p>  else if(str[0]=='3') /*按課程查

92、找*/ </p><p><b>  { </b></p><p>  printf("請(qǐng)輸入課程名:"); </p><p>  getchar(str); </p><p>  for(i=0;i<=numstus;i++) </p><p>  if(strcmp(

93、str,stud[i].name)==0)</p><p><b>  { </b></p><p>  display(stud,i,i); </p><p><b>  break; </b></p><p><b>  } </b></p><p>

94、;  else continue; </p><p><b>  } </b></p><p>  if(i>numstus) </p><p><b>  { </b></p><p>  printf("沒(méi)有查找所要的信息。\n"); </p><p

95、>  return -1; </p><p><b>  } </b></p><p>  return i; </p><p><b>  } </b></p><p><b>  } </b></p><p>  //#include"

96、;head.h" </p><p>  int openfile(student stu[]) </p><p><b>  { </b></p><p>  int i=0,j; </p><p>  FILE *fp; </p><p>  char filename[20],str

97、[2]; </p><p>  if(numstus!=0) </p><p><b>  { </b></p><p>  printf("已經(jīng)有記錄存在,是否保存?(y/n)"); </p><p>  gets(str); </p><p>  if(str[0]==&#

98、39;y'||str[0]=='Y') </p><p>  writetotext(stu); </p><p><b>  } </b></p><p>  printf("請(qǐng)輸入文件名:"); </p><p>  gets(filename); </p>

99、<p>  numstus=0; </p><p>  if((fp=fopen(filename,"rb+"))==NULL) </p><p><b>  { </b></p><p>  printf("無(wú)法打開(kāi)該文件\n"); </p><p>  return(

100、-1); </p><p><b>  } </b></p><p>  fscanf(fp,"%d",&numstus); </p><p>  fgetc(fp); </p><p>  while(i<numstus) </p><p><b> 

101、 { </b></p><p>  fscanf(fp,"%d",stu[i].number); </p><p>  fscanf(fp,"%c",stu[i].name); </p><p>  fscanf(fp,"%s",stu[i].sex); </p><p>

102、;  for(j=0;j<numsubs;j++) </p><p>  fscanf(fp,"%f",&stu[i].subject[j]); </p><p>  fscanf(fp,"%f",&stu[i].score); </p><p>  fscanf(fp,"%f",&a

103、mp;stu[i].average); </p><p>  fscanf(fp,"%d",&stu[i].index); </p><p><b>  i++; </b></p><p><b>  } </b></p><p>  fclose(fp); </p

104、><p>  printf("文件讀取成功\n"); </p><p>  printf("是否顯示紀(jì)錄?(y/n)"); </p><p>  gets(str); </p><p>  if(str[0]=='y'||str[0]=='Y') </p>&l

105、t;p>  display(stu,0,numstus-1); </p><p>  return(0); </p><p><b>  } </b></p><p>  //#include "head.h" </p><p>  void sort(student stud[]) </

106、p><p><b>  { </b></p><p>  int i,j=0; </p><p>  char str[5]; </p><p>  student *p; </p><p><b>  p=stud; </b></p><p>  if(

107、numstus==0) </p><p><b>  { </b></p><p>  printf("沒(méi)有可供查詢的記錄!"); </p><p><b>  } </b></p><p><b>  while(1) </b></p>&l

108、t;p><b>  { </b></p><p>  for(i=0;;i++) </p><p><b>  { </b></p><p>  printf(" 請(qǐng)輸入查詢方式:"); </p><p>  printf("(直接輸入回車則結(jié)束查詢操作)\n&q

109、uot;); </p><p>  printf("1.按照學(xué)號(hào)\t"); </p><p>  printf("2.按照姓名\t"); </p><p>  printf("3.按照課程\n"); </p><p>  gets(str); </p><p>

110、;  if(strlen(str)==0) break; </p><p>  if(str[0]=='1') </p><p><b>  { </b></p><p>  printf("請(qǐng)輸入排序次序:\n"); </p><p>  printf("1.升序排列\(zhòng)t&

111、quot;); </p><p>  printf("2.降序排列\(zhòng)n"); </p><p>  gets(str); </p><p>  if(str[0]=='1') </p><p>  sortnum2(p); </p><p><b>  else </

112、b></p><p>  sortnum(p); </p><p>  display(stud,0,numstus-1); </p><p><b>  } </b></p><p>  else if(str[0]=='2') </p><p><b>  {

113、</b></p><p>  printf("請(qǐng)輸入排序次序:\n"); </p><p>  printf("1.升序排列\(zhòng)t"); </p><p>  printf("2.降序排列\(zhòng)n"); </p><p>  gets(str); </p><

114、;p>  if(str[0]=='1') </p><p>  sortname2(p); </p><p><b>  else </b></p><p>  sortname(p); </p><p>  display(stud,0,numstus-1); </p><p&

115、gt;<b>  } </b></p><p>  else if(str[0]=='3') </p><p><b>  { </b></p><p>  printf("請(qǐng)輸入排序次序:\n"); </p><p>  printf("1.升序排列\(zhòng)

116、t"); </p><p>  printf("2.降序排列\(zhòng)n"); </p><p>  gets(str); </p><p>  if(str[0]=='1') </p><p>  sortcount2(p); </p><p><b>  else &

117、lt;/b></p><p>  sortcount(p); </p><p>  display(stud,0,numstus-1); </p><p><b>  } </b></p><p>  else printf("請(qǐng)輸入1~3"); </p><p>  p

118、rintf("是否退出排序?(y/n)"); </p><p>  gets(str); </p><p>  if(str[0]=='y'||str[0]=='Y') break; </p><p><b>  } </b></p><p><b>  re

119、turn; </b></p><p><b>  } </b></p><p><b>  } </b></p><p>  void sortnum(student stud[]) </p><p><b>  { </b></p><p>

120、;<b>  int i,j; </b></p><p>  student temp; </p><p>  student *p; </p><p><b>  p=stud; </b></p><p>  for(i=0;i<numstus;i++) </p><p&

121、gt;  for(j=0;j<numstus-i-1;j++) </p><p><b>  { </b></p><p>  if(strcmp(stud[j+1].number,stud[j].number)>0) </p><p><b>  { </b></p><p>  te

122、mp=*(p+j); </p><p>  *(p+j)=*(p+j+1); </p><p>  *(p+j+1)=temp; </p><p><b>  } </b></p><p><b>  } </b></p><p><b>  } </b>

123、;</p><p>  void sortnum2(student stud[]) </p><p><b>  { </b></p><p><b>  int i,j; </b></p><p>  student temp; </p><p>  student *p;

124、 </p><p><b>  p=stud; </b></p><p>  for(i=0;i<numstus;i++) </p><p>  for(j=0;j<numstus-i-1;j++) </p><p><b>  { </b></p><p>  

125、if(strcmp(stud[j].number,stud[j+1].number)>0) </p><p><b>  { </b></p><p>  temp=*(p+j); </p><p>  *(p+j)=*(p+j+1); </p><p>  *(p+j+1)=temp; </p>&

126、lt;p><b>  } </b></p><p><b>  } </b></p><p><b>  } </b></p><p>  void sortname(student stud[]) </p><p><b>  { </b><

127、/p><p><b>  int i,j; </b></p><p>  student temp; </p><p>  student *p; </p><p><b>  p=stud; </b></p><p>  for(i=0;i<numstus;i++) &l

128、t;/p><p>  for(j=0;j<numstus-i-1;j++) </p><p><b>  { </b></p><p>  if(strcmp(stud[j+1].name,stud[j].name)>0) </p><p><b>  { </b></p>&

129、lt;p>  temp=*(p+j); </p><p>  *(p+j)=*(p+j+1); </p><p>  *(p+j+1)=temp; </p><p><b>  } </b></p><p><b>  } </b></p><p><b> 

130、 } </b></p><p>  void sortname2(student stud[]) </p><p><b>  { </b></p><p><b>  int i,j; </b></p><p>  student temp; </p><p>

131、  student *p; </p><p><b>  p=stud; </b></p><p>  for(i=0;i<numstus;i++) </p><p>  for(j=0;j<numstus-i-1;j++) </p><p><b>  { </b></p>

132、<p>  if(strcmp(stud[j].name,stud[j+1].name)>0) </p><p><b>  { </b></p><p>  temp=*(p+j); </p><p>  *(p+j)=*(p+j+1); </p><p>  *(p+j+1)=temp; <

133、/p><p><b>  } </b></p><p><b>  } </b></p><p><b>  } </b></p><p>  void sortcount(student stud[]) </p><p><b>  { <

134、/b></p><p><b>  int i,j; </b></p><p>  student temp; </p><p>  student *p; </p><p><b>  p=stud; </b></p><p>  for(i=0;i<numst

135、us;i++) </p><p>  for(j=0;j<numstus-i-1;j++) </p><p><b>  { </b></p><p>  if(stud[j+1].index>stud[j].index) </p><p><b>  { </b></p>

136、<p>  temp=*(p+j); </p><p>  *(p+j)=*(p+j+1); </p><p>  *(p+j+1)=temp; </p><p><b>  } </b></p><p><b>  } </b></p><p><b>

137、;  } </b></p><p>  void sortcount2(student stud[]) </p><p><b>  { </b></p><p><b>  int i,j; </b></p><p>  student temp; </p><p&

138、gt;  student *p; </p><p><b>  p=stud; </b></p><p>  for(i=0;i<numstus;i++) </p><p>  for(j=0;j<numstus-i-1;j++) </p><p><b>  { </b></p&

139、gt;<p>  if(stud[j].index>stud[j+1].index) </p><p><b>  { </b></p><p>  temp=*(p+j); </p><p>  *(p+j)=*(p+j+1); </p><p>  *(p+j+1)=temp; </p>

140、;<p><b>  } </b></p><p><b>  } </b></p><p><b>  } </b></p><p>  //#include"head.h" </p><p>  void statistic(student

141、 stud[]) /*新增功能,輸出統(tǒng)計(jì)信息*/ </p><p><b>  { </b></p><p>  int i,j=0,k=0; </p><p>  char c1,str[2]; </p><p>  float average[numsubs],sum=0; </p><p>

142、  if(numstus==0) </p><p>  printf("沒(méi)有可被查找的記錄\n"); </p><p><b>  else </b></p><p><b>  { </b></p><p><b>  while(1) </b></

143、p><p><b>  { </b></p><p>  printf("下面將統(tǒng)計(jì)考試成績(jī)\n"); </p><p>  printf("請(qǐng)選擇你要統(tǒng)計(jì)哪科的成績(jī) 1.語(yǔ)文\t2.高數(shù)\t3.英語(yǔ)\t4.物理\t5.線代\n"); </p><p>  c1=getchar();

144、</p><p>  printf("\t一共有個(gè)%d記錄\n",numstus); /*總共記錄數(shù)*/ </p><p>  switch(c1) </p><p><b>  { </b></p><p>  case '1': </p><p>  for

145、(i=0;i<numstus;i++) /*循環(huán)輸入判斷*/ </p><p><b>  { </b></p><p>  sum+=stud[i].subject[0]; </p><p>  if(stud[k].subject[0]>stud[i].subject[0]) k=i; </p><p>

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論