課程設(shè)計-c語言可視化程序?qū)W生成績管理系統(tǒng)_第1頁
已閱讀1頁,還剩36頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p><b>  C語言可視化程序</b></p><p><b>  設(shè)計報告</b></p><p>  行政班級 機械0805</p><p>  姓名 魏永濤</p><p>  學(xué)號 0806080524</p><p

2、>  指導(dǎo)老師 夏建芳</p><p>  課題名稱 學(xué)生成績管理系統(tǒng)</p><p>  C可視化程序設(shè)計報告</p><p><b>  一.設(shè)計題目</b></p><p><b>  學(xué)生成績管理系統(tǒng)</b></p><p><b> 

3、 二、課題的任務(wù):</b></p><p>  所有記錄保存在一個數(shù)據(jù)文件中;</p><p><b>  具備記錄添加功能;</b></p><p>  查詢功能(如按學(xué)號查詢成績等);</p><p>  計算統(tǒng)計功能(如統(tǒng)計某門課程的平均程序);</p><p>  排序功能(如

4、按成績排序);</p><p>  統(tǒng)計并顯示信息功能;</p><p><b>  三.課程設(shè)計目的</b></p><p>  了解軟件工程中的一些系統(tǒng)分析,模塊分析,代碼設(shè)計的概念,利用visual c++實現(xiàn)學(xué)生成績管理系統(tǒng)的錄入、查詢、刪除、統(tǒng)計等基本操作,掌握C語言中的結(jié)構(gòu)體、指針、函數(shù)(系統(tǒng)函數(shù)、自定義函數(shù))、文件操作等知識。通過

5、對系統(tǒng)的分析和設(shè)計,進一步鞏固C語言的學(xué)習(xí),以提高對開發(fā)環(huán)境。</p><p>  四、成員承擔(dān)的任務(wù):</p><p>  (組長)魏永濤:完成下面子程序的編寫:</p><p><b>  a:主函數(shù)的編譯</b></p><p>  b:定位指針的Locate()函數(shù)的編譯,與調(diào)試。</p><

6、p>  c:主菜單函數(shù)的編譯,及其它外部函數(shù)的編譯,與調(diào)試。</p><p>  d: 任務(wù)分配,規(guī)定變量符號,及變量的初始化。</p><p>  e:程序的組裝及調(diào)試。</p><p>  王棟 :完成下面子程序的編寫:</p><p>  a:統(tǒng)計數(shù)據(jù)函數(shù)的編譯。</p><p>  b::查找學(xué)生記錄函數(shù)

7、的編譯。</p><p>  c:增加學(xué)生記錄的函數(shù)的編譯。</p><p>  王義 : 完成下面子程序的編寫:</p><p><b>  a:刪除函數(shù)的編譯</b></p><p><b>  b:修改函數(shù)的編譯</b></p><p><b>  c:排序函

8、數(shù)的編譯</b></p><p>  巫培宇 :完成下面子程序的編寫:</p><p>  a:顯示函數(shù)的編譯。</p><p>  b:歡迎界面的制作。</p><p><b>  c:保存函數(shù)的編譯</b></p><p><b>  五、程序流程圖</b>&

9、lt;/p><p><b>  1.系統(tǒng)總體結(jié)構(gòu)圖</b></p><p>  2.main()函數(shù)流程圖</p><p>  3.Add函數(shù)流程圖</p><p>  4.Del函數(shù)流程圖</p><p>  5.Qur函數(shù)流程圖</p><p>  6.Modify函數(shù)流程

10、圖</p><p>  7.Disp函數(shù)流程圖</p><p>  8.Tongji函數(shù)流程圖</p><p>  9.Sort函數(shù)流程圖</p><p>  10.Save函數(shù)流程圖</p><p>  11.locate函數(shù)流程圖</p><p>  六.系統(tǒng)實際運行效果</p>

11、<p><b>  歡迎界面</b></p><p><b>  主菜單</b></p><p><b>  輸入學(xué)生資料</b></p><p><b>  4.刪除學(xué)生資料</b></p><p><b>  8.保存</

12、b></p><p><b>  查詢</b></p><p><b>  5.修改</b></p><p><b>  6.顯示</b></p><p><b>  7.統(tǒng)計</b></p><p><b>  8

13、.排序</b></p><p><b>  9.排序結(jié)果</b></p><p><b>  10.幫助</b></p><p><b>  11.退出</b></p><p><b>  七.系統(tǒng)源代碼</b></p><

14、p>  #include "stdio.h" </p><p>  #include "stdlib.h" </p><p>  #include "string.h" </p><p>  int shoudsave=0; //定義一個全局變量 </p><p>  stru

15、ct student </p><p><b>  { </b></p><p>  char num[11];//學(xué)號 </p><p>  char name[20];//姓名</p><p>  char sex[4]; //性別</p><p>  int cgrade; //c語言成績&

16、lt;/p><p>  int mgrade; //數(shù)學(xué)成績</p><p>  int egrade; //英語成績</p><p>  int totle; //總分</p><p>  int ave; //平均分</p><p>  char neartime[10];//最近更新時間 </p>&l

17、t;p><b>  }; </b></p><p>  typedef struct node //聲明新的結(jié)構(gòu)體類型Node</p><p><b>  { </b></p><p>  struct student data; </p><p>  struct node *next; &

18、lt;/p><p>  }Node,*Link; </p><p>  void welcome()//歡迎界面</p><p><b>  { </b></p><p>  printf(" ***************************\n");</p

19、><p>  printf(" *歡 迎 使 用*\n");</p><p>  printf(" *中南大學(xué)學(xué)生成績管理系統(tǒng) *\n");</p><p>  printf(" ***

20、************************\n");</p><p>  printf(" 本系統(tǒng)由中南大學(xué)機械0805班夢幻小組\n\t\t\t傾情奉獻\n");</p><p>  printf("\n");</p><p>  printf("

21、 愿我們的努力\n");</p><p>  printf(" 能為您的學(xué)習(xí)工作帶來方便\n");</p><p>  printf(" 您的支持將是我們不斷創(chuàng)新的動力\n");</p><p>  printf("

22、 祝您使用愉快!\n\t\t如有任何疑問聯(lián)系我們\n\t\t QQ:453275642\n\t\tTel:15116336758\n");</p><p><b>  }</b></p><p>  void menu() //主菜單</p><p><b>  { </b></p>

23、<p>  printf("\t*************************************************************\n");</p><p>  printf("\t* MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM *\n");</p>&

24、lt;p>  printf("\t* MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM *\n");</p><p>  printf("\t* MMM 1<輸入學(xué)生資料> 2<刪除學(xué)生資料> MMM *\n");</p><

25、;p>  printf("\t* MMM 3<查詢學(xué)生資料> 4<修改學(xué)生資料> MMM *\n");</p><p>  printf("\t* MMM 5<顯示學(xué)生資料> 6<統(tǒng)計學(xué)生成績> MMM *\n");</p><p

26、>  printf("\t* MMM 7<排序?qū)W生成績> 8<保存學(xué)生資料> MMM *\n");</p><p>  printf("\t* MMM 9<菜單導(dǎo)航> 0<退出系統(tǒng)> MMM *\n");</p><

27、;p>  printf("\t* MMM MMM *\n");</p><p>  printf("\t* MMM MMM *\n");</p><p

28、>  printf("\t* MMM ********************************* MMM *\n");</p><p>  printf("\t* MMM i 歡迎使用中南大學(xué)學(xué)生成績管理系統(tǒng)i MMM *\n");</p><p>  printf("

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

30、t* MMM 出品人:夢幻小組 | 輔導(dǎo)老師:夏建芳 MMM *\n");</p><p>  printf("\t* MMM 組長:魏永濤 | 夢幻組合 MMM *\n");</p><p>  printf("\t* MMM 組員:王棟 王義 巫培宇|

31、 成就夢幻品質(zhì) MMM *\n");</p><p>  printf("\t* MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM *\n");</p><p>  printf("\t*********************************************

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

33、-----------------------------------------\n"); </p><p><b>  } </b></p><p>  void Wrong() </p><p><b>  { </b></p><p>  printf("\n對不起!你輸

34、入的信息有誤!請重新輸入!\n"); </p><p><b>  } </b></p><p>  void Nofind() </p><p><b>  {</b></p><p>  printf(" _________________________________

35、_______________________________________\n"); </p><p>  printf("\n\t!!!!!!!!!!!!!!!!!!!!!!提示:沒有找到該學(xué)生!\n");</p><p>  printf(" _______________________________________________

36、_________________________\n");</p><p>  printf("\n");</p><p><b>  } </b></p><p>  void printc() // 本函數(shù)用于輸出中文 </p><p><b>  { </b>&

37、lt;/p><p>  printf(" 學(xué)號\t 姓名 性別 英語 數(shù)學(xué) C語言 總分 平均分\n"); </p><p><b>  } </b></p><p>  void printe(Node *p)//本函數(shù)用于輸出英文 </p><p>&l

38、t;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->data.egrade,p->data.mgrade,p->data.cgrade,p->data.totle

39、,p->data.ave);//輸出成績</p><p><b>  } </b></p><p>  Node* Locate(Link l,char findmess[],char nameornum[]) //該函數(shù)用于定位鏈表中符合要求的接點,并返回該指針 </p><p><b>  { </b></

40、p><p><b>  Node *r; </b></p><p>  if(strcmp(nameornum,"num")==0) //按學(xué)號查詢 </p><p><b>  { </b></p><p>  r=l->next; </p><p>

41、  while(r!=NULL) </p><p><b>  { </b></p><p>  if(strcmp(r->data.num,findmess)==0)//將輸入學(xué)號與已有學(xué)號對比 </p><p>  return r; //返回地址</p><p>  r=r->next; </p&

42、gt;<p><b>  } </b></p><p><b>  } </b></p><p>  else if(strcmp(nameornum,"name")==0) //按姓名查詢將輸入姓名與已有姓名對比 </p><p><b>  { </b></

43、p><p>  r=l->next; </p><p>  while(r!=NULL) </p><p><b>  { </b></p><p>  if(strcmp(r->data.name,findmess)==0) </p><p>  return r; //返回地址<

44、/p><p>  r=r->next; </p><p><b>  } </b></p><p><b>  } </b></p><p>  return 0; </p><p><b>  } </b></p><p> 

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

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

47、<p>  printf("請您輸入學(xué)號(以'0'返回上一級菜單:)"); </p><p>  scanf("%s",num); </p><p>  if(strcmp(num,"0")==0) </p><p><b>  break; </b><

48、;/p><p><b>  while(s) </b></p><p><b>  { </b></p><p>  if(strcmp(s->data.num,num)==0)//將新輸入學(xué)號與已有學(xué)號對比</p><p><b>  { </b></p>&

49、lt;p>  printf("?。。。。。√崾?學(xué)號為'%s'的學(xué)生已經(jīng)存在,若要修改請你選擇'4 修改'!\n",num); </p><p>  printstart(); </p><p>  printc(); </p><p>  printe(s); </p><p>  

50、printstart(); </p><p>  printf("\n"); </p><p><b>  return; </b></p><p><b>  } </b></p><p>  s=s->next;//指向下一個地址 </p><p&g

51、t;<b>  } </b></p><p>  p=(Node *)malloc(sizeof(Node));//在內(nèi)存中分配長度與node相同的連續(xù)空間用于存儲新數(shù)據(jù) </p><p>  strcpy(p->data.num,num); </p><p>  printf("請你輸入姓名:"); </p&g

52、t;<p>  scanf("%s",p->data.name); </p><p>  getchar(); </p><p>  printf("請你輸入性別:"); </p><p>  scanf("%s",p->data.sex); </p><p&g

53、t;  getchar(); </p><p>  printf("請你輸入c語言成績:"); </p><p>  scanf("%d",&p->data.cgrade); </p><p>  getchar(); </p><p>  printf("請你輸入數(shù)學(xué)成績:&q

54、uot;); </p><p>  scanf("%d",&p->data.mgrade); </p><p>  getchar(); </p><p>  printf("請你輸入英語成績:"); </p><p>  scanf("%d",&p->d

55、ata.egrade); </p><p>  getchar(); </p><p>  p->data.totle=p->data.egrade+p->data.cgrade+p->data.mgrade; //求總分</p><p>  p->data.ave=p->data.totle / 3;//信息輸入已經(jīng)完成 <

56、;/p><p>  p->next=NULL; </p><p>  r->next=p; </p><p><b>  r=p; </b></p><p>  shoudsave=1; </p><p><b>  } </b></p><p&g

57、t;<b>  } </b></p><p>  void Qur(Link l) //查詢學(xué)生 </p><p><b>  { </b></p><p><b>  int sel; </b></p><p>  char findmess[20]; </p>

58、<p><b>  Node *p; </b></p><p>  if(!l->next)//當(dāng)l->next=NULL時成立 </p><p><b>  { </b></p><p>  printf("\n********>提示:沒有資料可以查詢!\n"); <

59、;/p><p><b>  return;</b></p><p><b>  }</b></p><p>  printf("\n********>1按學(xué)號查找\n********>2按姓名查找\n"); </p><p>  scanf("%d",

60、&sel); </p><p>  if(sel==1)//學(xué)號 </p><p><b>  { </b></p><p>  printf("請你輸入要查找的學(xué)號:"); </p><p>  scanf("%s",findmess); </p><

61、p>  p=Locate(l,findmess,"num"); </p><p><b>  if(p) </b></p><p><b>  { </b></p><p>  printf("\t\t\t\t查找結(jié)果\n"); </p><p>  p

62、rintstart(); </p><p>  printc(); </p><p>  printe(p); </p><p>  printstart(); </p><p><b>  } </b></p><p><b>  else </b></p>

63、<p>  Nofind(); </p><p><b>  } </b></p><p>  else if(sel==2) //姓名 </p><p><b>  { </b></p><p>  printf("請你輸入要查找的姓名:"); </p>

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

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

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

67、></p><p><b>  } </b></p><p>  void Del(Link l) //刪除函數(shù) </p><p><b>  { </b></p><p><b>  int sel; </b></p><p>  Node *p

68、,*r; </p><p>  char findmess[20]; </p><p>  if(!l->next) </p><p><b>  { </b></p><p>  printf("\n********>提示:沒有資料可以刪除!\n"); </p><p

69、><b>  return; </b></p><p><b>  } </b></p><p>  printf("\n********>1按學(xué)號刪除\n********>2按姓名刪除\n"); </p><p>  scanf("%d",&sel); &

70、lt;/p><p>  if(sel==1) </p><p><b>  { </b></p><p>  printf("請你輸入要刪除的學(xué)號:"); </p><p>  scanf("%s",findmess); </p><p>  p=Locate(

71、l,findmess,"num"); </p><p><b>  if(p) </b></p><p><b>  { </b></p><p><b>  r=l; </b></p><p>  while(r->next!=p) </p&g

72、t;<p>  r=r->next; </p><p>  r->next=p->next; </p><p><b>  free(p); </b></p><p>  printf("\n********>提示:該學(xué)生已經(jīng)成功刪除!\n");</p><p>

73、  printf("\t\t\t\t請按任意鍵返回。。。\n");</p><p>  getchar();</p><p>  shoudsave=1; </p><p><b>  } </b></p><p><b>  else </b></p><p

74、>  Nofind(); </p><p><b>  } </b></p><p>  else if(sel==2) </p><p><b>  { </b></p><p>  printf("請你輸入要刪除的姓名:"); </p><p>

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

76、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

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

78、lt;p><b>  } </b></p><p><b>  else </b></p><p><b>  Wrong(); </b></p><p><b>  } </b></p><p>  void Modify(Link l) //修改

79、函數(shù)模塊</p><p><b>  { </b></p><p><b>  Node *p; </b></p><p>  char findmess[20]; </p><p>  if(!l->next) </p><p><b>  { </b

80、></p><p>  printf("\n********>提示:沒有資料可以修改!\n"); </p><p><b>  return; </b></p><p><b>  } </b></p><p>  printf("請你輸入要修改的學(xué)生學(xué)號:

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

82、p><p><b>  { </b></p><p>  printf("請你輸入新學(xué)號(原來是%s):",p->data.num); </p><p>  scanf("%s",p->data.num); </p><p>  printf("請你輸入新姓名(

83、原來是%s):",p->data.name); </p><p>  scanf("%s",p->data.name); </p><p>  getchar(); </p><p>  printf("請你輸入新性別(原來是%s):",p->data.sex); </p><p

84、>  scanf("%s",p->data.sex); </p><p>  printf("請你輸入新的c語言成績(原來是%d分):",p->data.cgrade); </p><p>  scanf("%d",&p->data.cgrade); </p><p>  g

85、etchar(); </p><p>  printf("請你輸入新的數(shù)學(xué)成績(原來是%d分):",p->data.mgrade); </p><p>  scanf("%d",&p->data.mgrade); </p><p>  getchar(); </p><p>  pr

86、intf("請你輸入新的英語成績(原來是%d分):",p->data.egrade); </p><p>  scanf("%d",&p->data.egrade);</p><p>  p->data.totle=p->data.egrade+p->data.cgrade+p->data.mgrade;

87、</p><p>  p->data.ave=p->data.totle/3; </p><p>  printf("\n********>提示:資料修改成功!\n"); </p><p>  shoudsave=1; </p><p><b>  } </b></p>

88、<p><b>  else </b></p><p>  Nofind(); </p><p><b>  } </b></p><p>  void Disp(Link l)//顯示函數(shù)模塊 </p><p><b>  { </b></p>&l

89、t;p>  int count=0; </p><p><b>  Node *p; </b></p><p>  p=l->next; </p><p><b>  if(!p) </b></p><p><b>  { </b></p><p

90、>  printf("\n********>提示:沒有資料可以顯示!\n"); </p><p><b>  return; </b></p><p><b>  } </b></p><p>  printf("\t\t\t\t顯示結(jié)果\n"); </p>

91、<p>  printstart(); </p><p>  printc(); </p><p>  printf("\n"); </p><p><b>  while(p) </b></p><p><b>  { </b></p><p&g

92、t;  printe(p); </p><p>  p=p->next; </p><p><b>  } </b></p><p>  printstart(); </p><p>  printf("\n"); </p><p><b>  } </b

93、></p><p>  void Tongji(Link l) </p><p><b>  { </b></p><p>  Node *pm,*pe,*pc,*pt,*pa; //用于指向分?jǐn)?shù)最高的接點 </p><p>  Node *r=l->next; </p><p>&l

94、t;b>  if(!r) </b></p><p><b>  { </b></p><p>  printf("\n********>提示:沒有資料可以統(tǒng)計!\n"); </p><p><b>  return ; </b></p><p><b

95、>  } </b></p><p>  pm=pe=pc=pt=pa=r; </p><p>  while(r!=NULL) </p><p><b>  { </b></p><p>  if(r->data.cgrade>=pc->data.cgrade) </p>

96、<p><b>  pc=r; </b></p><p>  if(r->data.mgrade>=pm->data.mgrade) </p><p><b>  pm=r; </b></p><p>  if(r->data.egrade>=pe->data.egrade)

97、 </p><p><b>  pe=r; </b></p><p>  if(r->data.totle>=pt->data.totle) </p><p><b>  pt=r; </b></p><p>  if(r->data.ave>=pa->data.

98、ave) </p><p><b>  pa=r;</b></p><p>  r=r->next; </p><p><b>  } </b></p><p>  printf("------------------------------統(tǒng)計結(jié)果-----------------

99、---------------\n"); </p><p>  printf("*總分最高者:\t%s %d分\n",pt->data.name,pt->data.totle); </p><p>  printf("*平均分最高者:\t%s %d分\n",pa->data.name,pa->data.ave); &

100、lt;/p><p>  printf("*英語最高者:\t%s %d分\n",pe->data.name,pe->data.egrade); </p><p>  printf("*數(shù)學(xué)最高者:\t%s %d分\n",pm->data.name,pm->data.mgrade); </p><p>  pr

101、intf("*c語言最高者:\t%s %d分\n",pc->data.name,pc->data.cgrade); </p><p>  printstart(); </p><p><b>  } </b></p><p>  void Sort(Link l) </p><p><

102、;b>  { </b></p><p><b>  Link ll; </b></p><p>  Node *p,*rr,*s; </p><p>  ll=(Link)malloc(sizeof(Node)); //用于做新的連表 </p><p>  ll->next=NULL; </

103、p><p>  if(l->next==NULL) </p><p><b>  { </b></p><p>  printf("\n********>提示:沒有資料可以排序!\n"); </p><p><b>  return ; </b></p>&

104、lt;p><b>  } </b></p><p>  p=l->next; </p><p><b>  while(p) </b></p><p><b>  { </b></p><p>  s=(Node*)malloc(sizeof(Node)); //新

105、建接點用于保存信息 </p><p>  s->data=p->data; </p><p>  s->next=NULL; </p><p><b>  rr=ll; </b></p><p>  while(rr->next!=NULL && rr->next->d

106、ata.totle>=p->data.totle) </p><p>  rr=rr->next; </p><p>  if(rr->next==NULL) </p><p>  rr->next=s; </p><p><b>  else </b></p><p&g

107、t;<b>  { </b></p><p>  s->next=rr->next; </p><p>  rr->next=s; </p><p><b>  } </b></p><p>  p=p->next; </p><p><b>

108、;  } </b></p><p><b>  free(l); </b></p><p>  l->next=ll->next; </p><p>  printf("\n********>提示:排序已經(jīng)完成!\n"); </p><p><b>  } &l

109、t;/b></p><p>  void Save(Link l) </p><p><b>  { </b></p><p>  FILE* fp; </p><p><b>  Node *p; </b></p><p>  int flag=1,count=0;

110、</p><p>  fp=fopen("c:\\student","wb"); </p><p>  if(fp==NULL) </p><p><b>  { </b></p><p>  printf("\n********>提示:重新打開文件時發(fā)生錯誤!\n

111、"); </p><p><b>  exit(1); </b></p><p><b>  } </b></p><p>  p=l->next; </p><p><b>  while(p) </b></p><p><b&g

112、t;  { </b></p><p>  if(fwrite(p,sizeof(Node),1,fp)==1) </p><p><b>  { </b></p><p>  p=p->next; </p><p><b>  count++; </b></p>&

113、lt;p><b>  } </b></p><p><b>  else </b></p><p><b>  { </b></p><p><b>  flag=0; </b></p><p><b>  break; </b>

114、;</p><p><b>  } </b></p><p><b>  } </b></p><p><b>  if(flag) </b></p><p><b>  { </b></p><p>  printf("

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

116、gt;<p>  void help()</p><p><b>  {</b></p><p>  printf("歡迎進入中南大學(xué)學(xué)生成績管理系統(tǒng)《菜單導(dǎo)航》\n\t\t我們將竭誠為您服務(wù)\n");</p><p>  printf("以下是各菜單功能簡介:");</p>

117、<p>  printf("1.<輸入>:此功能用于錄入新生學(xué)號,性別,及各科成績。\n");</p><p>  printf("2.<刪除>:用于注銷離校學(xué)生資料。\n");</p><p>  printf("3.<查詢>:此功能下設(shè)兩個選項,分別用于學(xué)號查詢和姓名查詢。\n")

118、;</p><p>  printf("4.<修改>;用來改動已錄入的學(xué)生信息。\n");</p><p>  printf("5.<顯示>:用來顯示所有學(xué)生信息。\n");</p><p>  printf("6.<統(tǒng)計>:選出總成績第一,及單科第一的學(xué)生\n");&l

119、t;/p><p>  printf("7.<排序>:用來對學(xué)生成績進行排序,但不顯示。\n");</p><p>  printf("8.<保存>:用于存儲新錄入的學(xué)生信息,在每次操作最后必須保存。\n");</p><p>  printf("如您人有疑問請聯(lián)系我們");</p&

120、gt;<p>  printf("\t\t\t\t請按任意鍵返回。。。\n");</p><p>  getchar();</p><p><b>  }</b></p><p>  void main() </p><p><b>  { </b></p&g

121、t;<p>  Link l;//鏈表 </p><p>  FILE *fp; //文件指針 </p><p><b>  int sel; </b></p><p><b>  char ch; </b></p><p>  char jian; </p><p

122、>  int count=0; </p><p>  Node *p,*r; </p><p>  welcome();</p><p>  printf("\n\n\t\t\t\t\t\t\t請按任意鍵繼續(xù)\n");</p><p>  getchar();</p><p>  printf

123、("\t\t**************************************************");</p><p>  printf("\t\t\t\t 學(xué)生成績管理系統(tǒng)\n");</p><p>  printf("\t\t*************************************

124、*************");</p><p>  l=(Node*)malloc(sizeof(Node)); </p><p>  l->next=NULL; </p><p><b>  r=l; </b></p><p>  fp=fopen("C:\\student",&q

125、uot;rb"); </p><p>  if(fp==NULL) </p><p><b>  { </b></p><p>  printf("\n********>提示:文件還不存在,是否創(chuàng)建?(y/n)\n"); </p><p>  scanf("%c",

126、&jian); </p><p>  if(jian=='y'||jian=='Y') </p><p>  fp=fopen("C:\\student","wb"); </p><p><b>  else </b></p><p><

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

128、>  { </b></p><p>  p=(Node*)malloc(sizeof(Node)); </p><p>  if(fread(p,sizeof(Node),1,fp)) //將文件的內(nèi)容放入接點中 </p><p><b>  { </b></p><p>  p->next=NU

129、LL; </p><p>  r->next=p; </p><p>  r=p; //將該接點掛入連中 </p><p><b>  count++; </b></p><p><b>  } </b></p><p><b>  } </b>&

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

131、gt;</p><p><b>  menu(); </b></p><p>  printf("請你選擇操作:"); </p><p>  scanf("%d",&sel); </p><p>  if(sel==0) </p><p><b

132、>  { </b></p><p>  if(shoudsave==1) </p><p>  { getchar(); </p><p>  printf("\n********>提示:資料已經(jīng)改動,是否將改動保存到文件中(y/n)?\n"); </p><p>  scanf("%c&

133、quot;,&ch); </p><p>  if(ch=='y'||ch=='Y') </p><p><b>  Save(l); </b></p><p><b>  } </b></p><p>  printf("\n********>

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

135、 case 1:Add(l);break; //增加學(xué)生 </p><p>  case 2:Del(l);break;//刪除學(xué)生 </p><p>  case 3:Qur(l);break;//查詢學(xué)生 </p><p>  case 4:Modify(l);break;//修改學(xué)生 </p><p>  case 5:Disp(l);

136、break;//顯示學(xué)生 </p><p>  case 6:Tongji(l);break;//統(tǒng)計學(xué)生 </p><p>  case 7:Sort(l);break;//排序?qū)W生 </p><p>  case 8:Save(l);break;//保存學(xué)生 </p><p>  case 9:help();break; </p&g

137、t;<p>  default: Wrong();getchar();break; </p><p><b>  } </b></p><p><b>  } </b></p><p><b>  } </b></p><p><b>  //</

138、b></p><p>  g an employment tribunal claim</p><p>  Employment tribunals sort out disagreements between employers and employees.</p><p>  You may need to make a claim to an emplo

139、yment tribunal if:</p><p>  you don't agree with the disciplinary action your employer has taken against you</p><p>  your employer dismisses you and you think that you have been dismissed u

140、nfairly.</p><p>  For more information about dismissal and unfair dismissal, see Dismissal.</p><p>  You can make a claim to an employment tribunal, even if you haven't appealed

141、60;against the disciplinary action your employer has taken against you. However, if you win your case, the tribunal may reduce any compensation awarded to you as a result of your failure to appeal.</p><p>  

142、Remember that in most cases you must make an application to an employment tribunal within three months of the date when the event you are complaining about happened. If your application is received after this time limit,

143、 the tribunal will not usually accept it.</p><p>  If you are worried about how the time limits apply to you, take advice from one of the organisations listed under Further help.</p><p>  E

144、mployment tribunals are less formal than some other courts, but it is still a legal process and you will need to give evidence under an oath or affirmation.</p><p>  Most people find making a claim to an emp

145、loyment tribunal challenging. If you are thinking about making a claim to an employment tribunal, you should get help straight away from one of the organisations listed under Further help.</p><p>  If y

146、ou are being represented by a solicitor at the tribunal, they may ask you to sign an agreement where you pay their fee out of your compensation if you win the case. This is known as a damages-based agreement. In Eng

溫馨提示

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

評論

0/150

提交評論