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

下載本文檔

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

文檔簡(jiǎn)介

1、<p>  C語言學(xué)生成績(jī)管理系統(tǒng)程序</p><p>  C可視化程序設(shè)計(jì)報(bào)告</p><p><b>  一.設(shè)計(jì)題目</b></p><p><b>  學(xué)生成績(jī)管理系統(tǒng)</b></p><p><b>  二、課題的任務(wù):</b></p><

2、;p>  所有記錄保存在一個(gè)數(shù)據(jù)文件中;</p><p><b>  具備記錄添加功能;</b></p><p>  查詢功能(如按學(xué)號(hào)查詢成績(jī)等);</p><p>  計(jì)算統(tǒng)計(jì)功能(如統(tǒng)計(jì)某門課程的平均程序);</p><p>  排序功能(如按成績(jī)排序);</p><p>  統(tǒng)計(jì)并顯

3、示信息功能;</p><p><b>  三.課程設(shè)計(jì)目的</b></p><p>  了解軟件工程中的一些系統(tǒng)分析,模塊分析,代碼設(shè)計(jì)的概念,利用visual c++實(shí)現(xiàn)學(xué)生成績(jī)管理系統(tǒng)的錄入、查詢、刪除、統(tǒng)計(jì)等基本操作,掌握C語言中的結(jié)構(gòu)體、指針、函數(shù)(系統(tǒng)函數(shù)、自定義函數(shù))、文件操作等知識(shí)。通過對(duì)系統(tǒng)的分析和設(shè)計(jì),進(jìn)一步鞏固C語言的學(xué)習(xí),以提高對(duì)開發(fā)環(huán)境。<

4、;/p><p>  四、成員承擔(dān)的任務(wù):</p><p>  陳梁:完成下面子程序的編寫:</p><p><b>  a:主函數(shù)的編譯</b></p><p>  b:定位指針的Locate()函數(shù)的編譯,與調(diào)試。</p><p>  c:主菜單函數(shù)的編譯,及其它外部函數(shù)的編譯,與調(diào)試。</p

5、><p>  d: 任務(wù)分配,規(guī)定變量符號(hào),及變量的初始化。</p><p>  e:程序的組裝及調(diào)試。</p><p> ?。和瓿上旅孀映绦虻木帉懀?lt;/p><p>  a:統(tǒng)計(jì)數(shù)據(jù)函數(shù)的編譯。</p><p>  b::查找學(xué)生記錄函數(shù)的編譯。</p><p>  c:增加學(xué)生記錄的函數(shù)的編譯。

6、</p><p>  陳?。?完成下面子程序的編寫:</p><p><b>  a:刪除函數(shù)的編譯</b></p><p><b>  b:修改函數(shù)的編譯</b></p><p><b>  c:排序函數(shù)的編譯</b></p><p>  陳昊:完成下

7、面子程序的編寫:</p><p>  a:顯示函數(shù)的編譯。</p><p>  b:歡迎界面的制作。</p><p><b>  c:保存函數(shù)的編譯</b></p><p><b>  五、程序流程圖</b></p><p><b>  1.系統(tǒng)總體結(jié)構(gòu)圖</

8、b></p><p><b>  六.系統(tǒng)源代碼</b></p><p>  #include "stdio.h" </p><p>  #include "stdlib.h" </p><p>  #include "string.h" </p&g

9、t;<p>  int shoudsave=0; //定義一個(gè)全局變量 </p><p>  struct student </p><p><b>  { </b></p><p>  char num[11];//學(xué)號(hào) </p><p>  char name[20];//姓名</p>&

10、lt;p>  char sex[4]; //性別</p><p>  int cgrade; //c語言成績(jī)</p><p>  int mgrade; //數(shù)學(xué)成績(jī)</p><p>  int egrade; //英語成績(jī)</p><p>  int totle; //總分</p><p>  int ave;

11、 //平均分</p><p>  char neartime[10];//最近更新時(shí)間 </p><p><b>  }; </b></p><p>  typedef struct node //聲明新的結(jié)構(gòu)體類型Node</p><p><b>  { </b></p><p

12、>  struct student data; </p><p>  struct node *next; </p><p>  }Node,*Link; </p><p>  void welcome()//歡迎界面</p><p><b>  { </b></p><p>  print

13、f(" ***************************\n");</p><p>  printf(" *歡 迎 使 用*\n");</p><p>  printf(" *河南理工大學(xué)大學(xué)學(xué)生成績(jī)

14、管理系統(tǒng) *\n");</p><p>  printf(" ***************************\n");</p><p>  printf(" 本系統(tǒng)由計(jì)算機(jī)學(xué)院 信管1002班\n\t\t\t傾情奉獻(xiàn)\n");</p><p>  p

15、rintf("\n");</p><p>  printf(" 愿我們的努力\n");</p><p>  printf(" 能為您的學(xué)習(xí)工作帶來方便\n");</p><p>  printf("

16、 您的支持將是我們不斷創(chuàng)新的動(dòng)力\n");</p><p>  printf(" 祝您使用愉快!\n\t\t如有任何疑問聯(lián)系我們\n\t\t QQ:453275642\n\t\tTel:15116336758\n");</p><p><b>  }</b></p><p>  

17、void menu() //主菜單</p><p><b>  { </b></p><p>  printf("\t*************************************************************\n");</p><p>  printf("\t* MMMMMMMMMM

18、MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM *\n");</p><p>  printf("\t* MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM *\n");</p><p>  printf("\t* MMM 1

19、<輸入學(xué)生資料> 2<刪除學(xué)生資料> MMM *\n");</p><p>  printf("\t* MMM 3<查詢學(xué)生資料> 4<修改學(xué)生資料> MMM *\n");</p><p>  printf("\t* MMM 5&l

20、t;顯示學(xué)生資料> 6<統(tǒng)計(jì)學(xué)生成績(jī)> MMM *\n");</p><p>  printf("\t* MMM 7<排序?qū)W生成績(jī)> 8<保存學(xué)生資料> MMM *\n");</p><p>  printf("\t* MMM 9<

21、菜單導(dǎo)航> 0<退出系統(tǒng)> MMM *\n");</p><p>  printf("\t* MMM MMM *\n");</p><p>  printf("\t* MMM

22、 MMM *\n");</p><p>  printf("\t* MMM ********************************* MMM *\n");</p><p>  printf("\t* MMM i 歡迎

23、使用河南理工大學(xué)大學(xué)學(xué)生成績(jī)管理系統(tǒng)i MMM *\n");</p><p>  printf("\t* MMM ********************************* MMM *\n");</p><p>  printf("\t* MMMMMMMMMMMMMMMMMMMMMMMMMMMMMM

24、MMMMMMMMMMMMMMMMMMMMMMMMMMM *\n");</p><p>  printf("\t* MMM 出品人:夢(mèng)幻小組 | 輔導(dǎo)老師:于金霞 MMM *\n");</p><p>  printf("\t* MMM 組長(zhǎng):陳梁 | 夢(mèng)幻組合 MMM *\n&q

25、uot;);</p><p>  printf("\t* MMM 組員:陳梁 陳昊 陳俊 成就夢(mèng)幻品質(zhì) MMM *\n");</p><p>  printf("\t* MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM *\n");</p><

26、p>  printf("\t*************************************************************\n");</p><p><b>  }</b></p><p>  void printstart() </p><p><b>  { </b>

27、;</p><p>  printf("-----------------------------------------------------------------------\n"); </p><p><b>  } </b></p><p>  void Wrong() </p><p>

28、<b>  { </b></p><p>  printf("\n對(duì)不起!你輸入的信息有誤!請(qǐng)重新輸入!\n"); </p><p><b>  } </b></p><p>  void Nofind() </p><p><b>  {</b></

29、p><p>  printf(" ________________________________________________________________________\n"); </p><p>  printf("\n\t!!!!!!!!!!!!!!!!!!!!!!提示:沒有找到該學(xué)生!\n");</p><p&g

30、t;  printf(" ________________________________________________________________________\n");</p><p>  printf("\n");</p><p><b>  } </b></p><p>  void

31、printc() // 本函數(shù)用于輸出中文 </p><p><b>  { </b></p><p>  printf(" 學(xué)號(hào)\t 姓名 性別 英語 數(shù)學(xué) C語言 總分 平均分\n"); </p><p><b>  } </b></p>

32、<p>  void printe(Node *p)//本函數(shù)用于輸出英文 </p><p><b>  { </b></p><p>  printf("%-12s%s\t%s\t%d\t %d\t %d\t %d\t %d\n",p->data.num,p->data.name,p->data.sex,p-&

33、gt;data.egrade,p->data.mgrade,p->data.cgrade,p->data.totle,p->data.ave);//輸出成績(jī)</p><p><b>  } </b></p><p>  Node* Locate(Link l,char findmess[],char nameornum[]) //該函數(shù)用于定位

34、鏈表中符合要求的接點(diǎn),并返回該指針 </p><p><b>  { </b></p><p><b>  Node *r; </b></p><p>  if(strcmp(nameornum,"num")==0) //按學(xué)號(hào)查詢 </p><p><b>  { &

35、lt;/b></p><p>  r=l->next; </p><p>  while(r!=NULL) </p><p><b>  { </b></p><p>  if(strcmp(r->data.num,findmess)==0)//將輸入學(xué)號(hào)與已有學(xué)號(hào)對(duì)比 </p><

36、p>  return r; //返回地址</p><p>  r=r->next; </p><p><b>  } </b></p><p><b>  } </b></p><p>  else if(strcmp(nameornum,"name")==0) //

37、按姓名查詢將輸入姓名與已有姓名對(duì)比 </p><p><b>  { </b></p><p>  r=l->next; </p><p>  while(r!=NULL) </p><p><b>  { </b></p><p>  if(strcmp(r->

38、data.name,findmess)==0) </p><p>  return r; //返回地址</p><p>  r=r->next; </p><p><b>  } </b></p><p><b>  } </b></p><p>  return 0;

39、 </p><p><b>  } </b></p><p>  void Add(Link l) //增加學(xué)生 </p><p><b>  { </b></p><p>  Node *p,*r,*s; //定義Node型指針</p><p>  char num[11]

40、; </p><p><b>  r=l; </b></p><p>  s=l->next; </p><p>  while(r->next!=NULL) </p><p>  r=r->next; //將指針置于最末尾 </p><p><b>  while(1

41、) </b></p><p><b>  { </b></p><p>  printf("請(qǐng)您輸入學(xué)號(hào)(以'0'返回上一級(jí)菜單:)"); </p><p>  scanf("%s",num); </p><p>  if(strcmp(num,&quo

42、t;0")==0) </p><p><b>  break; </b></p><p><b>  while(s) </b></p><p><b>  { </b></p><p>  if(strcmp(s->data.num,num)==0)//將新輸

43、入學(xué)號(hào)與已有學(xué)號(hào)對(duì)比</p><p><b>  { </b></p><p>  printf("?。。。。?!提示:學(xué)號(hào)為'%s'的學(xué)生已經(jīng)存在,若要修改請(qǐng)你選擇'4 修改'!\n",num); </p><p>  printstart(); </p><p>  

44、printc(); </p><p>  printe(s); </p><p>  printstart(); </p><p>  printf("\n"); </p><p><b>  return; </b></p><p><b>  } </b&g

45、t;</p><p>  s=s->next;//指向下一個(gè)地址 </p><p><b>  } </b></p><p>  p=(Node *)malloc(sizeof(Node));//在內(nèi)存中分配長(zhǎng)度與node相同的連續(xù)空間用于存儲(chǔ)新數(shù)據(jù) </p><p>  strcpy(p->data.num

46、,num); </p><p>  printf("請(qǐng)你輸入姓名:"); </p><p>  scanf("%s",p->data.name); </p><p>  getchar(); </p><p>  printf("請(qǐng)你輸入性別:"); </p>&

47、lt;p>  scanf("%s",p->data.sex); </p><p>  getchar(); </p><p>  printf("請(qǐng)你輸入c語言成績(jī):"); </p><p>  scanf("%d",&p->data.cgrade); </p>&l

48、t;p>  getchar(); </p><p>  printf("請(qǐng)你輸入數(shù)學(xué)成績(jī):"); </p><p>  scanf("%d",&p->data.mgrade); </p><p>  getchar(); </p><p>  printf("請(qǐng)你輸入英語成

49、績(jī):"); </p><p>  scanf("%d",&p->data.egrade); </p><p>  getchar(); </p><p>  p->data.totle=p->data.egrade+p->data.cgrade+p->data.mgrade; //求總分</p

50、><p>  p->data.ave=p->data.totle / 3;//信息輸入已經(jīng)完成 </p><p>  p->next=NULL; </p><p>  r->next=p; </p><p><b>  r=p; </b></p><p>  shoudsave

51、=1; </p><p><b>  } </b></p><p><b>  } </b></p><p>  void Qur(Link l) //查詢學(xué)生 </p><p><b>  { </b></p><p><b>  int s

52、el; </b></p><p>  char findmess[20]; </p><p><b>  Node *p; </b></p><p>  if(!l->next)//當(dāng)l->next=NULL時(shí)成立 </p><p><b>  { </b></p>

53、;<p>  printf("\n********>提示:沒有資料可以查詢!\n"); </p><p><b>  return;</b></p><p><b>  }</b></p><p>  printf("\n********>1按學(xué)號(hào)查找\n******

54、**>2按姓名查找\n"); </p><p>  scanf("%d",&sel); </p><p>  if(sel==1)//學(xué)號(hào) </p><p><b>  { </b></p><p>  printf("請(qǐng)你輸入要查找的學(xué)號(hào):"); <

55、/p><p>  scanf("%s",findmess); </p><p>  p=Locate(l,findmess,"num"); </p><p><b>  if(p) </b></p><p><b>  { </b></p><

56、p>  printf("\t\t\t\t查找結(jié)果\n"); </p><p>  printstart(); </p><p>  printc(); </p><p>  printe(p); </p><p>  printstart(); </p><p><b>  } &l

57、t;/b></p><p><b>  else </b></p><p>  Nofind(); </p><p><b>  } </b></p><p>  else if(sel==2) //姓名 </p><p><b>  { </b>

58、</p><p>  printf("請(qǐng)你輸入要查找的姓名:"); </p><p>  scanf("%s",findmess); </p><p>  p=Locate(l,findmess,"name"); </p><p><b>  if(p) </b>

59、;</p><p><b>  { </b></p><p>  printf("\t\t\t\t查找結(jié)果\n"); </p><p>  printstart(); </p><p>  printc(); </p><p>  printe(p); </p>

60、<p>  printstart(); </p><p><b>  } </b></p><p><b>  else </b></p><p>  Nofind(); </p><p><b>  } </b></p><p><b&

61、gt;  else </b></p><p><b>  Wrong(); </b></p><p><b>  } </b></p><p>  void Del(Link l) //刪除函數(shù) </p><p><b>  { </b></p>&l

62、t;p><b>  int sel; </b></p><p>  Node *p,*r; </p><p>  char findmess[20]; </p><p>  if(!l->next) </p><p><b>  { </b></p><p>  

63、printf("\n********>提示:沒有資料可以刪除!\n"); </p><p><b>  return; </b></p><p><b>  } </b></p><p>  printf("\n********>1按學(xué)號(hào)刪除\n********>2按姓名刪除

64、\n"); </p><p>  scanf("%d",&sel); </p><p>  if(sel==1) </p><p><b>  { </b></p><p>  printf("請(qǐng)你輸入要?jiǎng)h除的學(xué)號(hào):"); </p><p>

65、;  scanf("%s",findmess); </p><p>  p=Locate(l,findmess,"num"); </p><p><b>  if(p) </b></p><p><b>  { </b></p><p><b>  

66、r=l; </b></p><p>  while(r->next!=p) </p><p>  r=r->next; </p><p>  r->next=p->next; </p><p><b>  free(p); </b></p><p>  prin

67、tf("\n********>提示:該學(xué)生已經(jīng)成功刪除!\n");</p><p>  printf("\t\t\t\t請(qǐng)按任意鍵返回。。。\n");</p><p>  getchar();</p><p>  shoudsave=1; </p><p><b>  } </b&

68、gt;</p><p><b>  else </b></p><p>  Nofind(); </p><p><b>  } </b></p><p>  else if(sel==2) </p><p><b>  { </b></p>

69、<p>  printf("請(qǐng)你輸入要?jiǎng)h除的姓名:"); </p><p>  scanf("%s",findmess); </p><p>  p=Locate(l,findmess,"name"); </p><p><b>  if(p) </b></p>

70、;<p><b>  { </b></p><p><b>  r=l; </b></p><p>  while(r->next!=p) </p><p>  r=r->next; </p><p>  r->next=p->next; </p>

71、<p><b>  free(p); </b></p><p>  printf("\n********>提示:該學(xué)生已經(jīng)成功刪除!\n"); </p><p>  shoudsave=1; </p><p><b>  } </b></p><p><b

72、>  else </b></p><p>  Nofind(); </p><p><b>  } </b></p><p><b>  else </b></p><p><b>  Wrong(); </b></p><p><

73、;b>  } </b></p><p>  void Modify(Link l) //修改函數(shù)模塊</p><p><b>  { </b></p><p><b>  Node *p; </b></p><p>  char findmess[20]; </p>

74、<p>  if(!l->next) </p><p><b>  { </b></p><p>  printf("\n********>提示:沒有資料可以修改!\n"); </p><p><b>  return; </b></p><p><b

75、>  } </b></p><p>  printf("請(qǐng)你輸入要修改的學(xué)生學(xué)號(hào):"); </p><p>  scanf("%s",findmess); </p><p>  p=Locate(l,findmess,"num"); </p><p>  void

76、printstart1();</p><p><b>  if(p) </b></p><p><b>  { </b></p><p>  printf("請(qǐng)你輸入新學(xué)號(hào)(原來是%s):",p->data.num); </p><p>  scanf("%s&

77、quot;,p->data.num); </p><p>  printf("請(qǐng)你輸入新姓名(原來是%s):",p->data.name); </p><p>  scanf("%s",p->data.name); </p><p>  getchar(); </p><p>  pr

78、intf("請(qǐng)你輸入新性別(原來是%s):",p->data.sex); </p><p>  scanf("%s",p->data.sex); </p><p>  printf("請(qǐng)你輸入新的c語言成績(jī)(原來是%d分):",p->data.cgrade); </p><p>  sca

79、nf("%d",&p->data.cgrade); </p><p>  getchar(); </p><p>  printf("請(qǐng)你輸入新的數(shù)學(xué)成績(jī)(原來是%d分):",p->data.mgrade); </p><p>  scanf("%d",&p->data.m

80、grade); </p><p>  getchar(); </p><p>  printf("請(qǐng)你輸入新的英語成績(jī)(原來是%d分):",p->data.egrade); </p><p>  scanf("%d",&p->data.egrade);</p><p>  p->

81、;data.totle=p->data.egrade+p->data.cgrade+p->data.mgrade; </p><p>  p->data.ave=p->data.totle/3; </p><p>  printf("\n********>提示:資料修改成功!\n"); </p><p>  s

82、houdsave=1; </p><p><b>  } </b></p><p><b>  else </b></p><p>  Nofind(); </p><p><b>  } </b></p><p>  void Disp(Link l)

83、//顯示函數(shù)模塊 </p><p><b>  { </b></p><p>  int count=0; </p><p><b>  Node *p; </b></p><p>  p=l->next; </p><p><b>  if(!p) <

84、/b></p><p><b>  { </b></p><p>  printf("\n********>提示:沒有資料可以顯示!\n"); </p><p><b>  return; </b></p><p><b>  } </b><

85、;/p><p>  printf("\t\t\t\t顯示結(jié)果\n"); </p><p>  printstart(); </p><p>  printc(); </p><p>  printf("\n"); </p><p><b>  while(p) </b

86、></p><p><b>  { </b></p><p>  printe(p); </p><p>  p=p->next; </p><p><b>  } </b></p><p>  printstart(); </p><p>

87、;  printf("\n"); </p><p><b>  } </b></p><p>  void Tongji(Link l) </p><p><b>  { </b></p><p>  Node *pm,*pe,*pc,*pt,*pa; //用于指向分?jǐn)?shù)最高的接點(diǎn)

88、 </p><p>  Node *r=l->next; </p><p><b>  if(!r) </b></p><p><b>  { </b></p><p>  printf("\n********>提示:沒有資料可以統(tǒng)計(jì)!\n"); </p>

89、<p><b>  return ; </b></p><p><b>  } </b></p><p>  pm=pe=pc=pt=pa=r; </p><p>  while(r!=NULL) </p><p><b>  { </b></p>

90、<p>  if(r->data.cgrade>=pc->data.cgrade) </p><p><b>  pc=r; </b></p><p>  if(r->data.mgrade>=pm->data.mgrade) </p><p><b>  pm=r; </b>

91、</p><p>  if(r->data.egrade>=pe->data.egrade) </p><p><b>  pe=r; </b></p><p>  if(r->data.totle>=pt->data.totle) </p><p><b>  pt=r;

92、</b></p><p>  if(r->data.ave>=pa->data.ave) </p><p><b>  pa=r;</b></p><p>  r=r->next; </p><p><b>  } </b></p><p>

93、;  printf("------------------------------統(tǒng)計(jì)結(jié)果--------------------------------\n"); </p><p>  printf("*總分最高者:\t%s %d分\n",pt->data.name,pt->data.totle); </p><p>  printf(

94、"*平均分最高者:\t%s %d分\n",pa->data.name,pa->data.ave); </p><p>  printf("*英語最高者:\t%s %d分\n",pe->data.name,pe->data.egrade); </p><p>  printf("*數(shù)學(xué)最高者:\t%s %d分\n&qu

95、ot;,pm->data.name,pm->data.mgrade); </p><p>  printf("*c語言最高者:\t%s %d分\n",pc->data.name,pc->data.cgrade); </p><p>  printstart(); </p><p><b>  } </b&g

96、t;</p><p>  void Sort(Link l) </p><p><b>  { </b></p><p><b>  Link ll; </b></p><p>  Node *p,*rr,*s; </p><p>  ll=(Link)malloc(size

97、of(Node)); //用于做新的連表 </p><p>  ll->next=NULL; </p><p>  if(l->next==NULL) </p><p><b>  { </b></p><p>  printf("\n********>提示:沒有資料可以排序!\n"

98、); </p><p><b>  return ; </b></p><p><b>  } </b></p><p>  p=l->next; </p><p><b>  while(p) </b></p><p><b>  {

99、</b></p><p>  s=(Node*)malloc(sizeof(Node)); //新建接點(diǎn)用于保存信息 </p><p>  s->data=p->data; </p><p>  s->next=NULL; </p><p><b>  rr=ll; </b></p&g

100、t;<p>  while(rr->next!=NULL && rr->next->data.totle>=p->data.totle) </p><p>  rr=rr->next; </p><p>  if(rr->next==NULL) </p><p>  rr->next=s;

101、 </p><p><b>  else </b></p><p><b>  { </b></p><p>  s->next=rr->next; </p><p>  rr->next=s; </p><p><b>  } </b>

102、;</p><p>  p=p->next; </p><p><b>  } </b></p><p><b>  free(l); </b></p><p>  l->next=ll->next; </p><p>  printf("\n**

103、******>提示:排序已經(jīng)完成!\n"); </p><p><b>  } </b></p><p>  void Save(Link l) </p><p><b>  { </b></p><p>  FILE* fp; </p><p><b&

104、gt;  Node *p; </b></p><p>  int flag=1,count=0; </p><p>  fp=fopen("c:\\student","wb"); </p><p>  if(fp==NULL) </p><p><b>  { </b>

105、</p><p>  printf("\n********>提示:重新打開文件時(shí)發(fā)生錯(cuò)誤!\n"); </p><p><b>  exit(1); </b></p><p><b>  } </b></p><p>  p=l->next; </p>

106、<p><b>  while(p) </b></p><p><b>  { </b></p><p>  if(fwrite(p,sizeof(Node),1,fp)==1) </p><p><b>  { </b></p><p>  p=p->nex

107、t; </p><p><b>  count++; </b></p><p><b>  } </b></p><p><b>  else </b></p><p><b>  { </b></p><p><b> 

108、 flag=0; </b></p><p><b>  break; </b></p><p><b>  } </b></p><p><b>  } </b></p><p><b>  if(flag) </b></p>&

109、lt;p><b>  { </b></p><p>  printf("\n********>提示:文件保存成功.(有%d條記錄已經(jīng)保存.)\n",count); </p><p>  shoudsave=0; </p><p><b>  } </b></p><p&g

110、t;  fclose(fp); </p><p><b>  } </b></p><p>  void help()</p><p><b>  {</b></p><p>  printf("歡迎進(jìn)入河南理工大學(xué)學(xué)生成績(jī)管理系統(tǒng)《菜單導(dǎo)航》\n\t\t我們將竭誠(chéng)為您服務(wù)\n"

111、);</p><p>  printf("以下是各菜單功能簡(jiǎn)介:");</p><p>  printf("1.<輸入>:此功能用于錄入新生學(xué)號(hào),性別,及各科成績(jī)。\n");</p><p>  printf("2.<刪除>:用于注銷離校學(xué)生資料。\n");</p>&

112、lt;p>  printf("3.<查詢>:此功能下設(shè)兩個(gè)選項(xiàng),分別用于學(xué)號(hào)查詢和姓名查詢。\n");</p><p>  printf("4.<修改>;用來改動(dòng)已錄入的學(xué)生信息。\n");</p><p>  printf("5.<顯示>:用來顯示所有學(xué)生信息。\n");</p&g

113、t;<p>  printf("6.<統(tǒng)計(jì)>:選出總成績(jī)第一,及單科第一的學(xué)生\n");</p><p>  printf("7.<排序>:用來對(duì)學(xué)生成績(jī)進(jìn)行排序,但不顯示。\n");</p><p>  printf("8.<保存>:用于存儲(chǔ)新錄入的學(xué)生信息,在每次操作最后必須保存。\n&

114、quot;);</p><p>  printf("如您人有疑問請(qǐng)聯(lián)系我們");</p><p>  printf("\t\t\t\t請(qǐng)按任意鍵返回。。。\n");</p><p>  getchar();</p><p><b>  }</b></p><p&

115、gt;  void main() </p><p><b>  { </b></p><p>  Link l;//鏈表 </p><p>  FILE *fp; //文件指針 </p><p><b>  int sel; </b></p><p><b>  c

116、har ch; </b></p><p>  char jian; </p><p>  int count=0; </p><p>  Node *p,*r; </p><p>  welcome();</p><p>  printf("\n\n\t\t\t\t\t\t\t請(qǐng)按任意鍵繼續(xù)\n&

117、quot;);</p><p>  getchar();</p><p>  printf("\t\t**************************************************");</p><p>  printf("\t\t\t\t 學(xué)生成績(jī)管理系統(tǒng)\n");</p&g

118、t;<p>  printf("\t\t**************************************************");</p><p>  l=(Node*)malloc(sizeof(Node)); </p><p>  l->next=NULL; </p><p><b>  r=l;

119、 </b></p><p>  fp=fopen("C:\\student","rb"); </p><p>  if(fp==NULL) </p><p><b>  { </b></p><p>  printf("\n********>提示:文件還

120、不存在,是否創(chuàng)建?(y/n)\n"); </p><p>  scanf("%c",&jian); </p><p>  if(jian=='y'||jian=='Y') </p><p>  fp=fopen("C:\\student","wb"); &l

121、t;/p><p><b>  else </b></p><p><b>  exit(0); </b></p><p><b>  } </b></p><p>  printf("\n********>提示:文件已經(jīng)打開,正在導(dǎo)入記錄......\n"

122、); </p><p>  while(!feof(fp)) </p><p><b>  { </b></p><p>  p=(Node*)malloc(sizeof(Node)); </p><p>  if(fread(p,sizeof(Node),1,fp)) //將文件的內(nèi)容放入接點(diǎn)中 </p>

123、<p><b>  { </b></p><p>  p->next=NULL; </p><p>  r->next=p; </p><p>  r=p; //將該接點(diǎn)掛入連中 </p><p><b>  count++; </b></p><p>

124、;<b>  } </b></p><p><b>  } </b></p><p>  fclose(fp); //關(guān)閉文件 </p><p>  printf("\n*********>提示:記錄導(dǎo)入完畢,共導(dǎo)入%d條記錄.\n",count); </p><p>&l

125、t;b>  while(1) </b></p><p><b>  { </b></p><p><b>  menu(); </b></p><p>  printf("請(qǐng)你選擇操作:"); </p><p>  scanf("%d",&a

126、mp;sel); </p><p>  if(sel==0) </p><p><b>  { </b></p><p>  if(shoudsave==1) </p><p>  { getchar(); </p><p>  printf("\n********>提示:資料已經(jīng)

127、改動(dòng),是否將改動(dòng)保存到文件中(y/n)?\n"); </p><p>  scanf("%c",&ch); </p><p>  if(ch=='y'||ch=='Y') </p><p><b>  Save(l); </b></p><p><

128、;b>  } </b></p><p>  printf("\n********>提示:你已經(jīng)退出系統(tǒng),再見!\n"); </p><p><b>  break; </b></p><p><b>  } </b></p><p>  switch(se

129、l) </p><p><b>  { </b></p><p>  case 1:Add(l);break; //增加學(xué)生 </p><p>  case 2:Del(l);break;//刪除學(xué)生 </p><p>  case 3:Qur(l);break;//查詢學(xué)生 </p><p> 

130、 case 4:Modify(l);break;//修改學(xué)生 </p><p>  case 5:Disp(l);break;//顯示學(xué)生 </p><p>  case 6:Tongji(l);break;//統(tǒng)計(jì)學(xué)生 </p><p>  case 7:Sort(l);break;//排序?qū)W生 </p><p>  case 8:Save

131、(l);break;//保存學(xué)生 </p><p>  case 9:help();break; </p><p>  default: Wrong();getchar();break; </p><p><b>  } </b></p><p><b>  } </b></p>&l

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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)論