多文件系統(tǒng)設(shè)計(jì)課程設(shè)計(jì)_第1頁(yè)
已閱讀1頁(yè),還剩18頁(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>  成 績(jī) </p><p>  課 程 設(shè) 計(jì)</p><p>  設(shè)計(jì)課程名稱 C語(yǔ)言課程設(shè)計(jì) </p><p>  題 目 1 多文件系統(tǒng)設(shè)計(jì) </p>

2、<p>  2鏈表結(jié)構(gòu)系統(tǒng)設(shè)計(jì) 3 ********系統(tǒng)設(shè)計(jì) </p><p>  設(shè) 計(jì) 時(shí) 間 2015 年 6 月 26 日 2015 年 7 月 17 日</p><p>  C語(yǔ)言課程設(shè)計(jì)任務(wù)書</p><p><b>  目 錄</b>&l

3、t;/p><p>  任務(wù)一 多文件系統(tǒng)設(shè)計(jì)….……………………………………..........….............……………………………1</p><p>  1 問(wèn)題描述.……...…………………………………………………………….……………………………1</p><p>  2 系統(tǒng)設(shè)計(jì)……...…………………………..………………………...…………………

4、………………….1</p><p>  2.1 系統(tǒng)功能結(jié)構(gòu)圖.…………………..………………....….……………………………………………..1</p><p>  2.2 系統(tǒng)流程設(shè)計(jì)圖….…………..…….…….……...…….….……….…………………………………..1</p><p>  2.3 系統(tǒng)文件結(jié)構(gòu)圖…………………..…………...…………………

5、…………………………..2</p><p>  3 詳細(xì)設(shè)計(jì) ………...……………………………..………………………...………………………………….2</p><p>  3.1文件和自定義函數(shù)間的關(guān)系………………... .….……. .……….….…………….………………….2</p><p>  3.2 函數(shù)之間調(diào)用關(guān)系.…………………………………...……

6、………………………………………….3</p><p>  3.3 函數(shù)設(shè)計(jì)………………..……………………………...……………………………………………….3</p><p>  4 系統(tǒng)實(shí)現(xiàn)……….........................…....…………...……………………………………………….4</p><p>  5 系統(tǒng)測(cè)試和結(jié)果………..………

7、……...…………………………..……………………………….9</p><p>  任務(wù)二 鏈表結(jié)構(gòu)系統(tǒng)設(shè)計(jì)…………………..........….............……………………………1</p><p>  1 問(wèn)題描述………………………………………………………….……………………………1</p><p>  2 系統(tǒng)設(shè)計(jì)………………………..…………………

8、……...…………………………………….1</p><p>  2.1 系統(tǒng)功能結(jié)構(gòu)圖…..………………... .….……………………………………………..1</p><p>  2.2 系統(tǒng)流程設(shè)計(jì)圖..…….…….……...…….….……….…………………………………..1</p><p>  2.3 數(shù)據(jù)設(shè)計(jì)……………......…………………..………….

9、..……………………………………………..2</p><p>  2.4 系統(tǒng)文件結(jié)構(gòu)圖(可選)……..…………...……………………………………………..2</p><p>  3 詳細(xì)設(shè)計(jì)…………………………..………………………...………………………………….2</p><p>  3.1結(jié)構(gòu)體定義………………... .….……. .……….….…………….

10、………………….2</p><p>  3.2文件和自定義函數(shù)間的關(guān)系(可選).……. .……….….…………….………………….2</p><p>  3.3 函數(shù)之間調(diào)用關(guān)系……………………...……………………………………………….3</p><p>  3.4 函數(shù)設(shè)計(jì)..……………………………...……………………………………………….3</p>

11、;<p>  4 系統(tǒng)實(shí)現(xiàn)…….........................…....…………...……………………………………………….4</p><p>  5 系統(tǒng)測(cè)試和結(jié)果……..……………...…………………………..……………………………….9</p><p>  任務(wù)三 信息系統(tǒng)設(shè)計(jì)…..……………………..…………………..........….......

12、......……………………………1</p><p>  1 問(wèn)題描述…………………………………………………...………………………………………………1</p><p>  2 系統(tǒng)分析……………………………………………………...………………………………………………1</p><p>  2.1 課題的基本要求…………..………………………….…..…………………

13、………………………..1</p><p>  2.2 輸入/輸出要求…………..…………………………….…...…………………………………………1</p><p>  2.3 數(shù)據(jù)分析………………………………………………...……………………………………………..1</p><p>  2.4 系統(tǒng)操作流程分析………….....……………………...……………………

14、….……………………..1</p><p>  3 系統(tǒng)設(shè)計(jì)……………………………………………………...………………………………………………2</p><p>  3.1 數(shù)據(jù)設(shè)計(jì)…………….………………………………………………………………………………….2</p><p>  3.2 系統(tǒng)功能結(jié)構(gòu)設(shè)計(jì)…………….…………………………………………………………………

15、…….2</p><p>  3.3 輸入/輸出設(shè)計(jì)…………..…………………………….…...…………………………………………3</p><p>  3.4 設(shè)計(jì)過(guò)程中的重點(diǎn)和難點(diǎn)…………….…………………………………………………………….3</p><p>  4 詳細(xì)設(shè)計(jì)…………………..………………………………………………………………………………….3<

16、;/p><p>  4.1數(shù)據(jù)定義…………………….………………... .….……. .……….….…………….………………….2</p><p>  4.2文件和自定義函數(shù)間的關(guān)系……………………...……. .……….….…………….………………….2</p><p>  4.3 函數(shù)之間調(diào)用關(guān)系……………..……………………...……………………………………………

17、….3</p><p>  4.4 函數(shù)設(shè)計(jì)………………..……………………………...……………………………………………….3</p><p>  4.4.1 **函數(shù)設(shè)計(jì)……………...……………………...……………………………………………….3</p><p>  4.4.2 **函數(shù)設(shè)計(jì)……………...……………………...…………………………………………

18、…….3</p><p>  5 系統(tǒng)實(shí)現(xiàn)……………..…………………………………………………………...……………………………4</p><p>  5.1 系統(tǒng)構(gòu)架(文件組織結(jié)構(gòu))………………………………………………………………………….4</p><p>  5.2 源程序清單…………………………………………………………………………………………….4</

19、p><p>  5.3實(shí)現(xiàn)中的重點(diǎn)和難點(diǎn)…………….………………………….………………………………………...10</p><p>  5.4遇到的問(wèn)題及解決…………….…………………………….………………………………………...10</p><p>  6 測(cè)試和結(jié)果分析總結(jié)……………………………………………………………...………………………..10</p&g

20、t;<p>  6.1 測(cè)試和結(jié)果…………….……………………………………………………………………………...10</p><p>  6.2 結(jié)果分析…………….………………………………………………………………………………...14</p><p>  7 系統(tǒng)使用說(shuō)明………………………………………………………………...……………………………..14</p>

21、<p>  8 結(jié)論…………………………………………………………………………………...……………………..14</p><p>  8.1課題完成情況說(shuō)明.…………….………………………………………………………………………14</p><p>  8.2系統(tǒng)的亮點(diǎn)………….………………………………………………………………………………14</p><p>

22、;  8.3系統(tǒng)的不足…………..………………………………………………………………………………14</p><p>  8.4系統(tǒng)可能的改進(jìn)和擴(kuò)展……………… ………………………………………………………………14</p><p>  總結(jié)………….………………………….……………………………………...………………………………..39</p><p>  參考文獻(xiàn)…

23、………………..……………………………………………………...……………………………..39</p><p>  致謝………….………………………….……………….……………………...………………………………39</p><p>  任務(wù)一 多文件系統(tǒng)設(shè)計(jì)</p><p><b>  1 問(wèn)題描述</b></p><p&g

24、t;  本系統(tǒng)是用于管理學(xué)生的成績(jī),通過(guò)本系統(tǒng)可以實(shí)現(xiàn)成績(jī)的輸入、排序、查詢、刪除、插入、顯示的功能,并且還可以顯示所有學(xué)生的成績(jī)。</p><p><b>  2 系統(tǒng)設(shè)計(jì)</b></p><p>  2.1系統(tǒng)功能結(jié)構(gòu)圖</p><p><b>  如圖1所示</b></p><p>  圖1

25、 系統(tǒng)功能結(jié)構(gòu)圖</p><p>  學(xué)生成績(jī)管理系統(tǒng)分為6個(gè)部分,分別為輸入學(xué)生成績(jī)、刪除學(xué)生成績(jī)、查詢學(xué)生成績(jī)、顯示學(xué)生成績(jī)、排序?qū)W生成績(jī)、插入學(xué)生成績(jī)。</p><p>  2.2系統(tǒng)流程設(shè)計(jì)圖</p><p><b>  如圖1所示</b></p><p>  圖1 系統(tǒng)流程設(shè)計(jì)圖</p>&l

26、t;p>  該系統(tǒng)會(huì)先進(jìn)入歡迎界面,然后出現(xiàn)7個(gè)菜單,1.成績(jī)輸入,并判斷是否有效,2成績(jī)循環(huán)刪除,3成績(jī)循環(huán)查詢,4成績(jī)排序,5顯示成績(jī),6循環(huán)插入成績(jī),0退出系統(tǒng)。</p><p>  2.3系統(tǒng)文件結(jié)構(gòu)圖</p><p><b>  如圖3所示</b></p><p><b>  圖3系統(tǒng)文件結(jié)構(gòu)圖</b>&l

27、t;/p><p>  首先建立一個(gè)工程名為task1.h,然后建立8個(gè)源文件和一個(gè)頭文件,分別為刪除成績(jī)、顯示成績(jī)、查詢成績(jī)、輸入成績(jī)、插入成績(jī)、主菜單、主函數(shù)。</p><p><b>  3 詳細(xì)設(shè)計(jì)</b></p><p>  3.1文件和自定義函數(shù)之間的關(guān)系</p><p>  圖4文件和自定義函數(shù)的關(guān)系</p

28、><p>  3.2 函數(shù)之間調(diào)用關(guān)系</p><p><b>  如圖5所示</b></p><p>  圖5 函數(shù)之間調(diào)用關(guān)系</p><p><b>  3.3 函數(shù)設(shè)計(jì)</b></p><p><b> ?。?)主函數(shù)</b></p>

29、<p>  A.函數(shù)原型:void main( )</p><p>  B.功能:顯示學(xué)生成績(jī)管理系統(tǒng)的7個(gè)功能選項(xiàng)</p><p><b>  C.入口參數(shù):無(wú)</b></p><p><b>  D.出口參數(shù):無(wú)</b></p><p>  E.描述:定義一個(gè)數(shù)組來(lái)儲(chǔ)存成績(jī),通過(guò)調(diào)用函

30、數(shù)實(shí)現(xiàn)相應(yīng)的功能。</p><p><b> ?。?)菜單函數(shù)</b></p><p>  A.函數(shù)原型:void menu( )</p><p>  B.功能:顯示菜單界面</p><p><b>  C.入口參數(shù):無(wú)</b></p><p><b>  D.出口

31、參數(shù):無(wú)</b></p><p>  E.描述:輸出顯示菜單選項(xiàng) </p><p>  (3)學(xué)生成績(jī)的輸入</p><p>  A.函數(shù)原型:int input(floata[],int n)</p><p>  B.功能:輸入學(xué)生的實(shí)際人數(shù)與學(xué)生的成績(jī)并保存到數(shù)組中,然后將輸入的數(shù)據(jù)帶回main函數(shù)</p>&l

32、t;p>  C.入口參數(shù):a[ ],n</p><p>  a[i] 保存學(xué)生的成績(jī);n:學(xué)生人數(shù)</p><p><b>  D.出口參數(shù):</b></p><p><b>  n:學(xué)生實(shí)際人數(shù)</b></p><p>  E .描述:先輸入學(xué)生人數(shù),再輸入學(xué)生成績(jī),并判斷成績(jī)是否有效,無(wú)效

33、從新輸入。打開(kāi)文件,將學(xué)生成績(jī)寫入文件中,最后關(guān)閉文件。</p><p><b>  (4)刪除學(xué)生成績(jī)</b></p><p>  A.函數(shù)原型:int del(float a[],int n)</p><p>  B.功能:輸入要?jiǎng)h除的成績(jī) </p><p>  C.入口參數(shù):a[ ],n</p>&l

34、t;p>  a[i] 保存學(xué)生的成績(jī);n:學(xué)生人數(shù)</p><p>  D.出口參數(shù):n:學(xué)生實(shí)際人數(shù)</p><p>  E .描述:輸入要?jiǎng)h除的成績(jī),若輸入數(shù)不存在,就輸出不存在,并用循環(huán)判斷是否繼續(xù)。</p><p><b> ?。?)查詢學(xué)生成績(jī)</b></p><p>  A.函數(shù)原型:void find

35、(float a[],int n)</p><p>  B.功能:輸入要查詢的成績(jī) </p><p>  C.入口參數(shù):a[ ],n</p><p>  a[i] 保存學(xué)生的成績(jī);n:學(xué)生人數(shù)</p><p><b>  D.出口參數(shù):無(wú)</b></p><p>  E .描述:輸入要查詢的成績(jī),

36、若輸入的成績(jī)不存在,就輸出不存在,并用循環(huán)判斷是否繼續(xù)。</p><p><b> ?。?)排序?qū)W生成績(jī)</b></p><p>  A.函數(shù)原型:void sort(floata[],int n)</p><p>  B.功能:成績(jī)排序 </p><p>  C.入口參數(shù):a[ ],n</p><p

37、>  a[i] 保存學(xué)生的成績(jī);n:學(xué)生人數(shù)</p><p><b>  D.出口參數(shù):無(wú)</b></p><p>  E .描述:對(duì)成績(jī)排序并輸出。</p><p><b>  (7)查詢學(xué)生成績(jī)</b></p><p>  A.函數(shù)原型:void find(float a[],int n)

38、</p><p>  B.功能:輸入要查詢的成績(jī) </p><p>  C.入口參數(shù):a[ ],n</p><p>  a[i] 保存學(xué)生的成績(jī);n:學(xué)生人數(shù)</p><p><b>  D.出口參數(shù):無(wú)</b></p><p>  E .描述:輸入要查詢的成績(jī),若輸入的成績(jī)不存在,就輸出不存在,

39、并用循環(huán)判斷是否繼續(xù)。</p><p><b>  (8)顯示學(xué)生成績(jī)</b></p><p>  A.函數(shù)原型:void display(floata[],int n)</p><p>  B.功能:成績(jī)顯示 </p><p>  C.入口參數(shù):a[ ],n</p><p>  a[i] 保存學(xué)

40、生的成績(jī);n:學(xué)生人數(shù)</p><p><b>  D.出口參數(shù):無(wú)</b></p><p>  E .描述:打開(kāi)文件將數(shù)據(jù)從文件中讀出,并把成績(jī)輸出,最后再關(guān)閉文件。</p><p><b> ?。?)插入學(xué)生成績(jī)</b></p><p>  A.函數(shù)原型:int insert(float a[]

41、,int n)</p><p>  B.功能:成績(jī)插入 </p><p>  C.入口參數(shù):a[ ],n</p><p>  a[i] 保存學(xué)生的成績(jī);n:學(xué)生人數(shù)</p><p>  D.出口參數(shù):n:學(xué)生實(shí)際人數(shù)</p><p>  E .描述:先輸入要插入的成績(jī),判斷數(shù)據(jù)是否有效,若有效將其插入到數(shù)組末端,并用循

42、環(huán)判斷是否繼續(xù)。</p><p><b>  4.系統(tǒng)實(shí)現(xiàn)</b></p><p>  (1) 頭文件task.h</p><p>  #include"stdio.h"//定義輸入輸出頭文件</p><p>  #include"stdlib.h"//定義庫(kù)

43、函數(shù)頭文件</p><p>  #include"conio.h"//定義清屏文件</p><p>  #define SIZE 80//宏定義,值為80</p><p>  FILE *fp; //定義文件</p><p>  int inpput(float a[],in

44、t n);</p><p>  int del(float a[],int n);</p><p>  void find(float a[],int n);</p><p>  void sort(float a[],int n);</p><p>  void display(float a[],int n);</p>&l

45、t;p>  int insert(float a[],int n);</p><p>  void menu();</p><p>  (2) 主函數(shù)main.c</p><p>  #include"task.h"</p><p>  void main() //系統(tǒng)主函數(shù)</p&g

46、t;<p>  {int j,num;</p><p>  float score[SIZE];</p><p><b>  while(1)</b></p><p><b>  {menu();</b></p><p>  scanf("%d",&j);

47、 //輸入讀取的選項(xiàng)的數(shù)字</p><p>  switch(j) //判斷所選項(xiàng)目</p><p>  {case 1: num=inpput(score,num);break;</p><p>  case 2: num=del(score,num);display(score,num);break;</p&g

48、t;<p>  case 3: find(score,num);break;</p><p>  case 4: sort(score,num);display(score,num);break;</p><p>  case 5: display(score,num);break;</p><p>  case 6: num=insert(score

49、,num);display(score,num);break;</p><p>  case 0: exit(0);</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p>

50、  (3) 主菜單 menu.c</p><p>  #include"task.h"</p><p>  void menu() //主菜單顯示</p><p><b>  {</b></p><p>  system("cls"

51、); //清屏</p><p>  printf("\n\n\n\t\t\t 歡迎使用學(xué)生成績(jī)管理系統(tǒng)\n\n\n");</p><p>  printf("\t\t\t*********************************\n");</p><p>  printf("\t\

52、t\t* 主菜單 *\n");</p><p>  printf("\t\t\t*********************************\n\n\n");</p><p>  printf("\t\t 1 成績(jī)輸入 2 成績(jī)刪除\n");</p

53、><p>  printf("\t\t 3 成績(jī)查詢 4 成績(jī)排序\n");</p><p>  printf("\t\t 5 顯示成績(jī) 6 成績(jī)插入\n");</p><p>  printf("\t\t 0 退出系統(tǒng)\n"

54、;);</p><p>  printf("\t\t 請(qǐng)選擇[1//2/3/4/5/6/0]:");</p><p><b>  }</b></p><p>  (4) 成績(jī)輸入 input.c</p><p>  #include"task.h"</p>&

55、lt;p>  int inpput(float a[],int n) //成績(jī)輸入</p><p><b>  {</b></p><p><b>  int i;</b></p><p>  system("cls");</p><p

56、>  if((fp=fopen("text","wb"))==NULL)//打開(kāi)文件判斷</p><p><b>  {</b></p><p>  printf("cannot openn file");</p><p><b>  exit(1);</b

57、></p><p><b>  }</b></p><p>  printf("\n請(qǐng)輸入學(xué)生人數(shù)(1—80):");</p><p>  scanf("%d",&n);//學(xué)生人數(shù)顯示</p><p>  printf("\n請(qǐng)輸入學(xué)生成績(jī)

58、:");</p><p>  for(i=0;i<n;i++)//循環(huán)輸入學(xué)生成績(jī)</p><p>  scanf("%f",&a[i]);</p><p>  for(i=0;i<n;i++)</p><p><b>  {</b></p>

59、<p>  if(a[i]<0||a[i]>100) //數(shù)據(jù)是否有效判斷</p><p>  {printf("數(shù)據(jù)%.1f無(wú)效,繼續(xù)輸入\n",a[i]);</p><p>  scanf("%f",&a[i]);</p><p><b>  }</b>

60、</p><p><b>  }</b></p><p>  for(i=0;i<n;i++) //循環(huán)將數(shù)據(jù)寫入文件</p><p>  fprintf(fp,"%.1f\t",a[i]);</p><p>  fclose(fp); //關(guān)閉文件</p

61、><p>  printf("按回車返回:");</p><p><b>  getch();</b></p><p><b>  return n;</b></p><p><b>  }</b></p><p>  (5) 成績(jī)刪除

62、del.c</p><p>  #include"task.h"</p><p>  int del(float a[],int n) //成績(jī)刪除</p><p><b>  {</b></p><p>  int i,j,k=0,b;</p>

63、<p><b>  float m;</b></p><p>  system("cls");//清屏</p><p>  if((fp=fopen("text","r"))==NULL)//以讀的方式打開(kāi)文件</p><p><b>  {&

64、lt;/b></p><p>  printf("cannot read file");</p><p><b>  exit(1);</b></p><p><b>  }</b></p><p>  for(i=0;i<n;i++) //從文件中

65、讀取數(shù)據(jù)</p><p>  fscanf(fp,"%f",&a[i]);</p><p><b>  do{</b></p><p>  printf("\n請(qǐng)輸入要?jiǎng)h除的成績(jī):");</p><p>  scanf("%f",&m);

66、 //輸入要?jiǎng)h除的成績(jī)</p><p>  for(i=0;i<n;i++) //刪除成績(jī)</p><p>  if(m==a[i]) </p><p><b>  {</b></p><p><b>  k=1;</b></p>&

67、lt;p>  for(j=i;j<n-1;j++)</p><p>  a[j]=a[j+1];</p><p><b>  n--;</b></p><p><b>  break;</b></p><p><b>  }</b></p><p

68、><b>  if(!k)</b></p><p>  printf("找不到要?jiǎng)h除的成績(jī):");</p><p>  printf("\n結(jié)束請(qǐng)按0,繼續(xù)請(qǐng)按1:");</p><p>  scanf("%d",&b);</p><p>  }w

69、hile(b); //循環(huán)刪除</p><p>  fclose(fp); //關(guān)閉文件</p><p>  printf("按回車返回:");</p><p><b>  getch();</b></p><p><b>  re

70、turn n;</b></p><p><b>  }</b></p><p>  (6) 排序?qū)W生成績(jī) sort.c</p><p>  #include"task.h"</p><p>  void sort(float a[],int n) //成績(jī)排序<

71、/p><p><b>  {</b></p><p>  int i,j,b;</p><p><b>  float t;</b></p><p>  if((fp=fopen("text","w"))==NULL) //以寫的方式打開(kāi)文件</p>

72、;<p><b>  {</b></p><p>  printf("cannot openn file");</p><p><b>  exit(1);</b></p><p><b>  }</b></p><p>  for(i=0;i

73、<n;i++) //從文件中讀取數(shù)據(jù)</p><p>  fscanf(fp,"%f",&a[i]);</p><p>  for(i=0;i<n-1;i++) //將學(xué)生成績(jī)從高到底排序</p><p>  for(j=0;j<n-i-1;j++)

74、//采用冒泡排序法</p><p>  if(a[j]<a[j+1])</p><p>  {t=a[j];a[j]=a[j+1];a[j+1]=t;}</p><p>  printf("\n輸出排序結(jié)果:"); </p><p>  for(i=0;i<n;i++) //

75、輸出排序結(jié)果</p><p>  printf("%.1f\t",a[i]);</p><p>  printf("\n");</p><p>  for(i=0;i<n;i++)</p><p>  fprintf(fp,".1%f\t",a[i]);</p>

76、<p>  fclose(fp); //關(guān)閉文件</p><p>  printf("按回車返回:");</p><p><b>  getch();</b></p><p><b>  }</b></p><p>  (7) 顯示學(xué)生成績(jī) d

77、isplay.c</p><p>  #include"task.h"</p><p>  void find(float a[],int n) //成績(jī)查詢</p><p><b>  {</b></p><p><b>  int i,b;</b>&l

78、t;/p><p><b>  float m;</b></p><p>  system("cls"); //清屏</p><p>  if((fp=fopen("text","r"))==NULL) //以讀的方式打開(kāi)文件</p><

79、p><b>  {</b></p><p>  printf("cannot read file");</p><p><b>  exit(1);</b></p><p><b>  }</b></p><p>  for(i=0;i<n;i+

80、+)</p><p>  fscanf(fp,"%f",&a[i]); //從文件中讀取數(shù)據(jù)</p><p><b>  do{</b></p><p>  printf("\n請(qǐng)輸入要查詢的成績(jī):");</p><p>  scanf("%f&quo

81、t;,&m); //輸入要查詢的成績(jī)</p><p>  for(i=0;i<n;i++) //循環(huán)查找輸入的成績(jī)</p><p>  if(m==a[i])</p><p><b>  {</b></p><p>  printf("已找到,是第%d項(xiàng),值為%

82、.f\n",i+1,a[i]);//輸出查詢的成績(jī)</p><p><b>  break;</b></p><p><b>  }</b></p><p><b>  if(i>=n)</b></p><p>  printf("找不到!\n&

83、quot;);</p><p>  printf("\n結(jié)束請(qǐng)按0,繼續(xù)請(qǐng)按1:");</p><p>  scanf("%d",&b);</p><p>  }while(b);//循環(huán)查找i</p><p>  fclose(fp);</p><p>

84、;  printf("按回車返回:");</p><p><b>  getch();</b></p><p><b>  }</b></p><p>  (8) 學(xué)生成績(jī)查詢find.c</p><p>  #include"task.h"</p>

85、;<p>  void find(float a[],int n) //成績(jī)查詢</p><p><b>  {</b></p><p><b>  int i,b;</b></p><p><b>  float m;</b></p><p

86、>  system("cls"); //清屏</p><p>  if((fp=fopen("text","r"))==NULL) //以讀的方式打開(kāi)文件</p><p><b>  {</b></p><p>  printf(&q

87、uot;cannot read file");</p><p><b>  exit(1);</b></p><p><b>  }</b></p><p>  for(i=0;i<n;i++)</p><p>  fscanf(fp,"%f",&a[i]

88、); //從文件中讀取數(shù)據(jù)</p><p><b>  do{</b></p><p>  printf("\n請(qǐng)輸入要查詢的成績(jī):");</p><p>  scanf("%f",&m); //輸入要查詢的成績(jī)</p><p>  f

89、or(i=0;i<n;i++) //循環(huán)查找輸入的成績(jī)</p><p>  if(m==a[i])</p><p><b>  {</b></p><p>  printf("已找到,是第%d項(xiàng),值為%.f\n",i+1,a[i]);//輸出查詢的成績(jī)</p><p>

90、;<b>  break;</b></p><p><b>  }</b></p><p><b>  if(i>=n)</b></p><p>  printf("找不到!\n");</p><p>  printf("\n結(jié)束請(qǐng)按0,繼續(xù)

91、請(qǐng)按1:");</p><p>  scanf("%d",&b);</p><p>  }while(b); //循環(huán)查找i</p><p>  fclose(fp);</p><p>  printf("按回車返回:");</p><p>&

92、lt;b>  getch();</b></p><p><b>  }</b></p><p> ?。?)學(xué)生成績(jī)插入 insert.c</p><p>  #include"task.h"</p><p>  int insert(float a[],int n)

93、 //成績(jī)插入</p><p><b>  {</b></p><p><b>  int b,i;</b></p><p><b>  float c;</b></p><p>  system("cls"); //清屏</p&g

94、t;<p>  if((fp=fopen("text","w"))==NULL) //打開(kāi)文件</p><p><b>  {</b></p><p>  printf("cannot read file");</p><p><b>  exit(1

95、);</b></p><p><b>  }</b></p><p>  for(i=0;i<n;i++) //從文件中讀取數(shù)據(jù)</p><p>  fscanf(fp,"%f",&a[i]);</p><p><b>  do{</b&g

96、t;</p><p>  printf("輸入要插入的數(shù):\n");</p><p>  scanf("%f",&c); //輸入要插入的數(shù)</p><p>  for(i=0;i<n;i++)</p><p>  if(a[i]==c||c<=0||c>1

97、00) //判斷輸入的成績(jī)是否有效</p><p>  {printf("\n%.1f數(shù)據(jù)錯(cuò)誤,繼續(xù)輸入:\n",c);break;}</p><p>  if(i>=n) a[n++]=c;</p><p>  printf("\n結(jié)束請(qǐng)按0,繼續(xù)請(qǐng)按1:");</p><p&g

98、t;  scanf("%d",&b);</p><p>  }while(b); //循環(huán)插入</p><p>  for(i=0;i<n;i++)</p><p>  fprintf(fp,"%.1f",a[i]); //將插入的數(shù)寫入文件</p><p>

99、;  fclose(fp); //關(guān)閉文件</p><p>  printf("按回車返回:");</p><p><b>  getch();</b></p><p><b>  return n;</b></p><p><b>  }</

100、b></p><p><b>  5.系統(tǒng)測(cè)試結(jié)果</b></p><p>  (1)進(jìn)入歡迎界面:如圖所示</p><p>  (2)學(xué)生成績(jī)輸入:如圖所示</p><p>  (3) 成績(jī)刪除:如圖所示</p><p>  (4)成績(jī)查詢:如圖所示</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)論