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

下載本文檔

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

文檔簡介

1、<p><b>  信息學(xué)院</b></p><p><b>  課程設(shè)計Ⅰ報告</b></p><p>  課程名稱 C語言程序設(shè)計</p><p>  題目名稱 實(shí)驗(yàn)設(shè)備管理系統(tǒng) </p><p>  學(xué)生學(xué)院 信息學(xué)院_ </p><p><

2、b>  專業(yè)班級_ </b></p><p><b>  學(xué)生姓名 </b></p><p><b>  ) </b></p><p>  指導(dǎo)教師_________ ____</p><p>  2011年12月21日</p><p>

3、<b>  目錄</b></p><p>  1. 設(shè)計目的與要求…………………………………………X</p><p>  1.1 題目與設(shè)計要求……………………………………X</p><p>  1.2 本程序涉及的知識點(diǎn)………………………………X </p><p>  2.功能設(shè)計………………………………………………X

4、</p><p>  2.1總體設(shè)計……………………………………………X</p><p>  2.2詳細(xì)設(shè)計……………………………………………X</p><p>  3. 程序?qū)崿F(xiàn)……………………………………………X</p><p>  3.1程序?qū)崿F(xiàn)時應(yīng)考慮的問題…………………………X</p><p>  3.2 X

5、X模塊核心代碼…………………………………X</p><p>  4.測試分析……………………………………………X</p><p>  4.1 測試結(jié)果及分析…………………………………X</p><p>  5. 總結(jié)…………………………………………………X</p><p>  參考文獻(xiàn)………………………………………………X</p>

6、<p>  1. 設(shè)計目的與要求</p><p><b>  設(shè)計目的:</b></p><p>  1. 鞏固和加深對C語言課程的基本知識的理解和掌握。</p><p>  2. 掌握C語言編程和程序調(diào)試的基本技能。</p><p>  3. 利用C語言進(jìn)行基本的軟件設(shè)計。</p><

7、p>  4. 掌握書寫程序設(shè)計說明文檔的能力。</p><p>  5. 提高運(yùn)用C語言解決實(shí)際問題的能力。</p><p><b>  要求:</b></p><p>  要能夠完成設(shè)備的錄入和修改,需要提供設(shè)備添加和修改操作;實(shí)現(xiàn)對設(shè)備進(jìn)行分類統(tǒng)計,需要提供排序操作;實(shí)現(xiàn)對設(shè)備的查詢需要提供查找操作;另外還要提供鍵盤式選擇菜單以實(shí)現(xiàn)功

8、能選擇。</p><p><b>  題目與設(shè)計要求</b></p><p>  題目:實(shí)驗(yàn)設(shè)備管理系統(tǒng)</p><p>  設(shè)計要求:整個系統(tǒng)被設(shè)計為實(shí)驗(yàn)設(shè)備信息輸入模塊、實(shí)驗(yàn)設(shè)備信息添加模塊、實(shí)驗(yàn)設(shè)備信息修改模塊、實(shí)驗(yàn)設(shè)備分類統(tǒng)計模塊和實(shí)驗(yàn)設(shè)備查詢模塊。</p><p><b>  本程序設(shè)計的知識點(diǎn)<

9、;/b></p><p><b>  設(shè)置的主要函數(shù)</b></p><p>  void userinterface()/*菜單函數(shù)*/</p><p>  void showall()/*顯示*/</p><p>  void add()/*增加成員*/</p><p>

10、  void delete()/*刪除*/</p><p>  void find()/*查找*/</p><p>  void findchoice(int a) /*選擇查找方式函數(shù)*/</p><p>  void modify()/*修改信息*/</p><p>  void save()/*把信息保存到磁盤*

11、/</p><p>  void esc()/*退出*/</p><p>  void choices()/*為下一步操作做選擇*/</p><p>  void load()/*讀數(shù)據(jù)*/</p><p><b>  2. 功能設(shè)計</b></p><p>  1)、能夠完成

12、對設(shè)備的錄入和修改</p><p>  2)、對設(shè)備進(jìn)行分類統(tǒng)計</p><p>  3)、設(shè)備的破損耗費(fèi)和遺損處理</p><p><b>  4)、設(shè)備的查詢</b></p><p>  5)、將設(shè)備信息保存到文件</p><p><b>  2.1 總體設(shè)計</b>&l

13、t;/p><p>  主要包含錄入、修改、統(tǒng)計、查詢、保存等五大模塊。</p><p><b>  2.2詳細(xì)設(shè)計</b></p><p><b>  流程圖</b></p><p>  3.1函數(shù)以及調(diào)用關(guān)系</p><p>  void userinterface()/*菜

14、單函數(shù)*/</p><p>  1 2 3 4 5 6 </p><p>  Break Break Break Break Break break </p><p>  void showall();/*顯示函數(shù)*/</p><p>

15、;<b>  真</b></p><p>  假 真</p><p>  void add()/*增加設(shè)備函數(shù)*/</p><p>  假 真</p><p>  void delet()/*刪除函數(shù)*/<

16、;/p><p>  真 假</p><p>  void find()/*查找函數(shù)*</p><p>  void findchoice()</p><p>  真 假</p><p>  void modify()

17、/*修改信息函數(shù)*/</p><p>  假 真</p><p>  void save();/*把信息保存到磁盤*/</p><p>  void load();/*讀數(shù)據(jù)*/</p><p><b>  3. 程序?qū)崿F(xiàn)</b></p>

18、<p>  #include<stdio.h></p><p>  #include<string.h></p><p>  #include<stdlib.h></p><p>  #include<process.h></p><p>  #include<malloc.h&

19、gt;</p><p>  #include<conio.h></p><p>  #define LEN sizeof(struct addbook)</p><p>  struct addbook</p><p><b>  {</b></p><p>  int record

20、;/*編號*/</p><p>  char name[15];/*名稱*/</p><p>  char kind[5];/*種類*/</p><p>  char price[8];/*價格*/</p><p>  unsigned long purtime;/*購買日期*/</p><p>

21、  unsigned long scrtime;/*報廢日期*/</p><p>  char scrap[6]; /*是否報廢*/</p><p>  struct addbook *next;/*指向結(jié)構(gòu)體數(shù)據(jù)類型的指針*/</p><p><b>  };</b></p><p><b>

22、;  FILE *fp;</b></p><p>  struct addbook *p,*head=NULL,*s,*t,*p1,*p2;</p><p>  void userinterface();/*菜單函數(shù)*/</p><p>  void showall();/*顯示*/</p><p>  void add(

23、);/*增加設(shè)備*/</p><p>  void delet();/*刪除*/</p><p>  void find();/*查找*/</p><p>  void findchoice(int a); /*選擇查找方式函數(shù)*/</p><p>  void modify();/*修改信息*/</p>

24、<p>  void save();/*把信息保存到磁盤*/</p><p>  void esc();/*退出*/</p><p>  void choices();/*為下一步操作做選擇*/</p><p>  void load();/*讀數(shù)據(jù)*/</p><p>  struct addbook

25、 *del(struct addbook *head,int num);/*鏈表結(jié)點(diǎn)的刪除*/struct addbook *insert(struct addbook*head,struct addbook *stud);/*鏈表中結(jié)點(diǎn)的插入,stud為要插入的結(jié)點(diǎn)的指針*/</p><p>  void starwindows()</p><p><b>  { </

26、b></p><p>  system("color 1f");</p><p><b>  {</b></p><p>  static char passwords[80],b[]="123";</p><p>  int i=0,j;</p><p&

27、gt;<b>  while(1)</b></p><p><b>  {</b></p><p>  printf("請輸入密碼\n\n");</p><p>  for(j=0;j<strlen(b);j++)</p><p><b>  {</b>

28、;</p><p>  passwords[j]=getch();</p><p>  printf("*");</p><p><b>  }</b></p><p>  if(strcmp(passwords,b)!=0)</p><p>  printf("\r

29、口令錯誤,按任意鍵繼續(xù)");</p><p><b>  else </b></p><p><b>  break;</b></p><p><b>  getch();</b></p><p><b>  i++;</b></p>

30、<p>  if(i==3)exit(0);</p><p><b>  }</b></p><p>  printf("ok");getch();</p><p><b>  }</b></p><p><b>  }</b></p&g

31、t;<p>  void main()</p><p>  { int n;</p><p>  if((fp = fopen("d:\\01.txt","w+"))==NULL)</p><p><b>  { </b></p><p>  printf(&

32、quot;\n\n\t\t\t 文件不存在!\n");</p><p>  if((fp = fopen("ghps.txt","wb"))==NULL)</p><p><b>  { </b></p><p>  printf("文件打開錯誤!\n");</p&

33、gt;<p><b>  exit(0);</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  if(fgetc(fp)==-1)</p><p><b>  { </b></p

34、><p>  printf("\t\t***歡迎使用實(shí)驗(yàn)設(shè)備管理系統(tǒng)***\n");</p><p>  printf("\n\t\t這里沒有信息,現(xiàn)在您必須添加信息.\n");</p><p>  p=(struct addbook*)malloc(LEN);</p><p>  printf("

35、;\n\t\t請輸入編號:");</p><p>  scanf("%d",&p->record);</p><p>  getchar();/*用來接受scaf里輸lm入的回車符號*/</p><p>  printf("\n\t\t請輸入名稱:");</p><p>  

36、gets(p->name);</p><p>  printf("\n\t\t請輸入種類:");</p><p>  gets(p->kind);</p><p>  printf("\n\t\t請輸入價格:");</p><p>  gets(p->price);</p>

37、<p>  printf("\n\t\t請輸入購買日期(如20100101):");</p><p>  scanf("%ld",&p->purtime);</p><p>  getchar();</p><p>  printf("\n\t\t請輸入報廢日期(如20100101):&q

38、uot;);</p><p>  scanf("%ld",&p->scrtime);</p><p>  getchar();</p><p>  printf("\n\t\t請輸入是否報廢(S或F):");</p><p>  gets(p->scrap);</p>

39、<p>  p->next = NULL;</p><p><b>  head = p;</b></p><p>  fwrite(p,LEN,1,fp);/*將信息寫入磁盤*/</p><p>  fclose(fp);</p><p>  printf("\n\t\t\t添加成功!\n&q

40、uot;);</p><p>  printf("\n\n\t\t!!!要進(jìn)行別的操作,請重新打開程序!!!\n");</p><p><b>  exit(0);</b></p><p><b>  }</b></p><p>  rewind(fp); /* 重建文件指針 *

41、/</p><p><b>  n=0;</b></p><p>  p1=p2 = (struct addbook*)malloc(LEN);</p><p>  fread(p1,LEN,1,fp);/*讀出文件中的信息*/</p><p>  head = NULL;</p><p>  w

42、hile(!feof(fp))</p><p><b>  {</b></p><p><b>  n=n+1;</b></p><p>  if(n==1) head = p1;</p><p>  else p2->next = p1;</p><p><b

43、>  p2=p1;</b></p><p>  p1 = (struct addbook*)malloc(LEN);</p><p>  fread(p1,LEN,1,fp);</p><p><b>  }</b></p><p>  p2->next=NULL;</p><

44、p>  fclose(fp);</p><p>  userinterface();</p><p><b>  save();</b></p><p><b>  }</b></p><p>  void userinterface()</p><p>  { i

45、nt choice;</p><p>  printf("\n\t\t ********************************************\n");</p><p>  printf("\t\t\t 歡迎使用實(shí)驗(yàn)設(shè)備管理系統(tǒng)" );</p><p&

46、gt;  printf("\n\t\t ********************************************\n");</p><p>  printf("\n\n\t ******請選擇你的操作******\n");</p><p>  printf("\t\t\t +---------------

47、----------------+");</p><p>  printf("\t\t\t\t\t\t | 1 增加設(shè)備信息 |\n");</p><p>  printf("\t\t\t | 2 查找設(shè)備信息 |\n");</p><p>  prin

48、tf("\t\t\t | 3 顯示所有信息 |\n");</p><p>  printf("\t\t\t | 4 刪除設(shè)備信息 |\n");</p><p>  printf("\t\t\t | 5 修改設(shè)備信息 |\n");<

49、/p><p>  printf("\t\t\t | 0 退出和保存 |\n");</p><p>  printf("\t\t\t +-------------------------------+\n");</p><p>  printf("\n\n\t\t\t\t\t\t\t制

50、作:蔣美幸\n\n\n");</p><p>  Loop1:printf("請輸入您的選擇:(0-5):");</p><p>  scanf("%d",&choice);</p><p>  getchar();</p><p>  if(choice>=0&&

51、;choice<6)</p><p><b>  { </b></p><p>  switch(choice)</p><p><b>  {</b></p><p><b>  case 1:</b></p><p><

52、b>  add();</b></p><p><b>  break;</b></p><p><b>  case 2:</b></p><p>  system("cls");</p><p><b>  find();</b><

53、/p><p><b>  break;</b></p><p><b>  case 3:</b></p><p>  system("cls");</p><p>  showall();</p><p><b>  break;</b>

54、;</p><p><b>  case 4:</b></p><p>  system("cls"); </p><p>  void starwindows();</p><p><b>  delet();</b></p><p><b>

55、  break;</b></p><p><b>  case 5:</b></p><p>  system("cls"); </p><p>  void starwindows();</p><p><b>  modify();</b></p>

56、<p><b>  break;</b></p><p><b>  case 0:</b></p><p>  system("cls");</p><p><b>  esc();</b></p><p><b>  }</b&

57、gt;</p><p><b>  }</b></p><p><b>  else</b></p><p><b>  { </b></p><p>  printf("輸入錯誤,請重新選擇!\n");</p><p>  go

58、to Loop1;</p><p><b>  }</b></p><p><b>  }</b></p><p>  void add()</p><p><b>  { </b></p><p>  struct addbook *stu;<

59、/p><p>  stu=(struct addbook*)malloc(LEN);</p><p>  printf("\n\n\t\t\t當(dāng)輸入的設(shè)備編號為0時,停止添加!!!");</p><p>  printf("\n\t\t請輸入編號:");</p><p>  scanf("%d&q

60、uot;,&stu->record);</p><p>  getchar();/*用來接受scanf里輸入的回車符號*/</p><p>  printf("\n\t\t請輸入名稱:");</p><p>  gets(stu->name);</p><p>  printf("\n\t

61、\t請輸入種類:");</p><p>  gets(stu->kind);</p><p>  printf("\n\t\t請輸入價格:");</p><p>  gets(stu->price);</p><p>  printf("\n\t\t請輸入購買日期(如20100101):&q

62、uot;);</p><p>  scanf("%ld",&stu->purtime);</p><p>  getchar();</p><p>  printf("\n\t\t請輸入報廢日期(如20100101):");</p><p>  scanf("%ld",

63、&stu->scrtime);</p><p>  getchar();</p><p>  printf("\n\t\t請輸入是否報廢(S或F):");</p><p>  gets(stu->scrap);</p><p>  stu->next = NULL;</p><

64、p>  while(stu->record!=0)</p><p><b>  { </b></p><p>  head=insert(head,stu);</p><p>  printf("\n\n\t\t******添加成功******!!!\n");</p><p>  st

65、u=(struct addbook*)malloc(LEN);</p><p>  printf("\n\n\t\t\t當(dāng)輸入的設(shè)備編號為0時,停止添加!!!");</p><p>  printf("\n\t\t請輸入編號:");</p><p>  scanf("%d",&stu->rec

66、ord);</p><p>  getchar();/*用來接受scanf里輸入的回車符號*/</p><p>  printf("\n\t\t請輸入名稱:");</p><p>  gets(stu->name);</p><p>  printf("\n\t\t請輸入種類:");</

67、p><p>  gets(stu->kind);</p><p>  printf("\n\t\t請輸入價格:");</p><p>  gets(stu->price);</p><p>  printf("\n\t\t請輸入購買日期(如20100101):");</p><

68、;p>  scanf("%ld",&stu->purtime);</p><p>  getchar();</p><p>  printf("\n\t\t請輸入報廢日期(如20100101):");</p><p>  scanf("%ld",&stu->scrtime)

69、;</p><p>  getchar();</p><p>  printf("\n\t\t請輸入是否報廢(S或F):");</p><p>  gets(stu->scrap);</p><p>  stu->next = NULL;</p><p><b>  }<

70、/b></p><p>  printf("\n\n\t\t\t添加結(jié)束!!!\n");</p><p>  choices();</p><p><b>  }</b></p><p>  void find() </p><p><b> 

71、 {</b></p><p><b>  int i;</b></p><p>  printf("\n\t\t請選擇查找方式:\n");</p><p>  printf("\t\t1.按編號查找。\n");</p><p>  printf("\t\t2

72、.按名稱查找。\n");</p><p>  printf("\t\t3.按種類查找。\n");</p><p>  printf("\t\t4.返回菜單。\n");</p><p>  printf("\t\t0.退出。\n");</p><p>  printf(&qu

73、ot;\n\n\t******請輸入您的選擇******\n");</p><p>  scanf("%d",&i);</p><p>  getchar();</p><p>  if(i>=0&&i<5)</p><p><b>  {</b><

74、;/p><p><b>  switch(i)</b></p><p><b>  {</b></p><p><b>  case 1:</b></p><p><b>  case 2:</b></p><p>  case 3:f

75、indchoice(i);break;</p><p>  case 4:userinterface();break;</p><p>  case 0:esc();break;</p><p><b>  }</b></p><p><b>  }</b></p><p>

76、  else {printf("\n\n\t\t\t選擇錯誤!!!\n");choices();}</p><p><b>  }</b></p><p>  void showall() </p><p><b>  {</b></p><p>&

77、lt;b>  s = head;</b></p><p>  if(head==NULL)</p><p><b>  {</b></p><p>  printf("\n\t\t!!!這里沒有信息!!!\n");</p><p><b>  goto LP;</b

78、></p><p><b>  }</b></p><p>  printf("\n\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n");</p><p>  printf("編號\t名稱\t種類\t

79、價格\t購買日期\t報廢日期\t是否報廢");</p><p>  printf("\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n");</p><p>  do{printf("%-8d%-8s%-8s%-8s%ld

80、%ld\t\t%-8s\n",s->record,s->name,s->kind,s->price,s->purtime,s->scrtime,s->scrap);</p><p>  s = s->next;</p><p>  }while(s!=NULL);</p><p>  LP:choices()

81、;</p><p><b>  }</b></p><p>  void delet() /* 刪除函數(shù) */</p><p><b>  {</b></p><p><b>  int num;</b></p>

82、<p>  printf("\n\n請輸入要刪除的設(shè)備編號。當(dāng)輸入編號為0時停止刪除操作。\n");</p><p>  scanf("%d",&num);</p><p>  getchar();</p><p>  while(num!=0)</p><p>  {head=de

83、l(head,num);</p><p>  printf("\n\n請輸入要刪除的設(shè)備編號。當(dāng)輸入編號為0時停止刪除操作。\n");</p><p>  scanf("%d",&num);</p><p>  getchar();</p><p><b>  }</b>&

84、lt;/p><p>  printf("\n\n\t\t**********刪除結(jié)束**********\n");</p><p>  choices();</p><p><b>  }</b></p><p>  void modify() /*

85、 修改函數(shù) */</p><p><b>  {</b></p><p><b>  int num;</b></p><p>  printf("請輸入要修改的設(shè)備編號\n");</p><p>  scanf("%d",&num);</p

86、><p>  getchar();</p><p><b>  p=head;</b></p><p><b>  do</b></p><p><b>  {</b></p><p>  if(p->record==num )</p>

87、<p>  if(p->next==NULL) printf("找不到該編號的設(shè)備,請確認(rèn)無誤以后再重新輸入。\n");</p><p><b>  else</b></p><p><b>  {</b></p><p>  printf("\n\t\t請輸入新的名稱:&q

88、uot;);</p><p>  gets(p->name);</p><p>  printf("\n\t\t請輸入新的種類:");</p><p>  gets(p->kind);</p><p>  printf("\n\t\t請輸入新的價格:");</p><p&

89、gt;  gets(p->price);</p><p>  printf("\n\t\t請輸入新的購買日期(如20100101):");</p><p>  scanf("%ld",&p->purtime);</p><p>  getchar();</p><p>  print

90、f("\n\t\t請輸入新的報廢日期(如20100101):");</p><p>  scanf("%ld",&p->scrtime);</p><p>  getchar();</p><p>  printf("\n\t\t請輸入是否報廢(S或F):");</p><

91、p>  gets(p->scrap);</p><p>  printf("\n\t\t修改成功!\n");</p><p>  choices();</p><p><b>  }</b></p><p>  else p=p->next;</p><p>

92、<b>  }</b></p><p>  while(p!=NULL);</p><p>  printf("\t\t!!!沒有這個編號的信息,請核對后再輸入!!!\n\n");</p><p>  choices();</p><p><b>  }</b></p>

93、;<p>  void esc()</p><p>  { save();</p><p>  printf("\n\n\n\t\t\t 謝謝使用本實(shí)驗(yàn)設(shè)備管理系統(tǒng)!!!\n");</p><p><b>  exit(0);</b></p><p><b>  }&l

94、t;/b></p><p>  struct addbook *del(struct addbook *head,int num)/*鏈表結(jié)點(diǎn)刪除*/</p><p>  {struct addbook *h1,*h2;</p><p>  if(head==NULL) {printf("鏈表為空鏈表。\n");goto Loop;<

95、;/p><p><b>  }</b></p><p><b>  h1=head;</b></p><p>  while(num!=h1->record&&h1->next!=NULL)/*p1指向的不是要刪除的結(jié)點(diǎn),并且后面還有結(jié)點(diǎn)。*/</p><p><b&g

96、t;  {</b></p><p>  h2=h1;h1=h1->next;</p><p>  }/*p1后移一個結(jié)點(diǎn)*/</p><p>  if(num==h1->record)/*找到了*/</p><p><b>  {</b></p><p>  if(

97、h1==head) {printf("\n\n\n\t\t這是遮里最后一個信息,不能刪除!!!\n\n\t如果你真的要刪除此信息,請?zhí)砑悠渌畔⒁院笤賱h除.\n\n");goto Loop;}/*這是p1是首結(jié)點(diǎn)的情況*/</p><p>  else {h2->next=h1->next;printf("\n\n\t\t******刪除成功******!!!\n&qu

98、ot;);}/*否則將下一結(jié)點(diǎn)的地址賦給前一結(jié)點(diǎn)地址*/</p><p><b>  }</b></p><p>  else printf("\n\n\t\t找不到該結(jié)點(diǎn)。\n");</p><p>  Loop:return(head);</p><p><b>  }</b>

99、;</p><p>  struct addbook *insert(struct addbook*head,struct addbook *stud)/*結(jié)點(diǎn)插入,插入時是按編號大小插入*/</p><p>  {struct addbook *g0,*g1,*g2;</p><p><b>  g1=head;</b></p>

100、<p><b>  g0=stud;</b></p><p>  if(head==NULL)/*原來的鏈表是空表*/</p><p>  {head=g0;g0->next=NULL;}/*使p0指向的結(jié)點(diǎn)作為頭結(jié)點(diǎn)*/</p><p><b>  else</b></p><

101、;p><b>  {</b></p><p>  while(g0->record>g1->record&&g1->next!=NULL)</p><p><b>  {</b></p><p><b>  g2=g1;</b></p>

102、<p>  g1=g1->next;}/*p1后移一個結(jié)點(diǎn)*/</p><p>  if(g0->record==g1->record)</p><p><b>  {</b></p><p>  printf("\n\t\t\t編號重復(fù)!請核對后再輸入!!!\n\n");choices();&

103、lt;/p><p><b>  }</b></p><p><b>  else;</b></p><p>  if(g0->record<g1->record)</p><p><b>  {</b></p><p>  if(h

104、ead==g1) head=g0;/*插到原來第一個結(jié)點(diǎn)之前*/</p><p>  else g2->next=g0;/*插到p2指向的結(jié)點(diǎn)之后*/</p><p>  g0->next=g1;</p><p><b>  }</b></p><p><b>  else</b><

105、;/p><p>  {g1->next=g0;g0->next=NULL;/*插到最后的結(jié)點(diǎn)后*/</p><p><b>  }</b></p><p><b>  }</b></p><p>  return(head);</p><p><b>

106、  }</b></p><p>  void save()/*保存文件*/</p><p>  {fp=fopen("ghps.txt","w");</p><p><b>  s = head;</b></p><p>  do{ </p>

107、;<p>  fwrite(s,LEN,1,fp);</p><p>  s = s->next;</p><p><b>  }</b></p><p>  while(s!=NULL);</p><p>  fclose(fp);</p><p><b>  }&

108、lt;/b></p><p>  void findchoice(int a)</p><p>  {int num,j=0,i=0;</p><p>  char findname1[20];</p><p>  char findname2[20];</p><p><b>  t=head;&l

109、t;/b></p><p><b>  if(a==1)</b></p><p>  {printf("\n\n\t\t請輸入要查找的編號。\n");</p><p>  scanf("%d",&num);</p><p>  getchar();</p&g

110、t;<p>  system("cls");</p><p>  while(t!=NULL)</p><p><b>  {</b></p><p>  if(t->record==num)</p><p><b>  {</b></p&g

111、t;<p><b>  if(i==0)</b></p><p><b>  {</b></p><p>  printf("\n\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n");</p

112、><p>  printf("編號\t名稱\t種類\t價格\t購買日期\t報廢日期\t是否報廢");</p><p>  printf("\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n");</p><p><b&

113、gt;  i=1;</b></p><p><b>  }</b></p><p>  printf("%-8d%-8s%-8s%-8s%-ld %-ld\t\t%-8s\n",t->record,t->name,t->kind,t->price,t->purtime,t->scrti

114、me,t->scrap);</p><p><b>  j=1;</b></p><p><b>  }</b></p><p>  t=t->next;</p><p><b>  }</b></p><p><b>  if(!

115、j)</b></p><p><b>  {</b></p><p>  printf("無此設(shè)備信息或是輸入錯誤,請核對后重新輸入。\n");</p><p><b>  }</b></p><p><b>  }</b></p>

116、<p><b>  if(a==2)</b></p><p>  {printf("\n\n\t\t請輸入要查找的設(shè)備名稱。\n");</p><p>  gets(findname1);</p><p>  system("cls");</p><p>  whi

117、le(t!=NULL)</p><p><b>  {</b></p><p>  if(strcmp(t->name,findname1)==0)</p><p><b>  {</b></p><p><b>  if(i==0)</b></p&g

118、t;<p><b>  {</b></p><p>  printf("\n\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n");</p><p>  printf("編號\t名稱\t種類\t價格\t購買日

119、期\t報廢日期\t是否報廢");</p><p>  printf("\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n");</p><p><b>  i=1;</b></p><p><b>

120、  }</b></p><p>  printf("%-8d%-8s%-8s%-8s%-ld %-ld\t\t%-8s\n",t->record,t->name,t->kind,t->price,t->purtime,t->scrtime,t->scrap);</p><p><b>  j

121、=1;</b></p><p><b>  }</b></p><p>  t=t->next;</p><p><b>  }</b></p><p><b>  if(!j)</b></p><p><b>  {<

122、/b></p><p>  printf("無此設(shè)備信息或是輸入錯誤,請核對后重新輸入。\n");</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  if(a==3)</b></p>

123、<p><b>  {</b></p><p>  printf("\n\n\t\t請輸入要查找的設(shè)備種類。\n");</p><p>  gets(findname2);</p><p>  system("cls");</p><p>  while(t!=N

124、ULL)</p><p><b>  {</b></p><p>  if(strcmp(t->kind,findname2)==0)</p><p><b>  {</b></p><p><b>  if(i==0)</b></p><

125、;p><b>  {</b></p><p>  printf("\n\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n");</p><p>  printf("編號\t名稱\t種類\t價格\t購買日期\t報廢日期

126、\t是否報廢");</p><p>  printf("\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n");</p><p><b>  i=1;</b></p><p><b>  }<

127、/b></p><p>  printf("%-8d%-8s%-8s%-8s%-ld %-ld\t\t%-8s\n",t->record,t->name,t->kind,t->price,t->purtime,t->scrtime,t->scrap);</p><p><b>  j=1;<

128、/b></p><p><b>  }</b></p><p>  t=t->next;</p><p><b>  }</b></p><p><b>  if(!j)</b></p><p><b>  {</b>&

129、lt;/p><p>  printf("無此設(shè)備信息或是輸入錯誤,請核對后重新輸入。\n");</p><p><b>  }</b></p><p><b>  }</b></p><p>  choices();</p><p><b>  }&

130、lt;/b></p><p>  void choices()</p><p>  {int num_1;</p><p>  Loop2:printf("\n\n\t\t\t請選擇您的下一步操作!!!\n");</p><p>  printf("\n\t\t\t1.回到主菜單。\n");&l

131、t;/p><p>  printf("\n\t\t\t2.退出并保存。\n");</p><p>  scanf("%d",&num_1);</p><p>  getchar();</p><p>  switch(num_1)</p><p><b>  {&

132、lt;/b></p><p><b>  case 1:</b></p><p>  system("cls");</p><p>  userinterface();</p><p><b>  break;</b></p><p><b&g

133、t;  case 2:</b></p><p>  system("cls");</p><p><b>  esc();</b></p><p><b>  break;</b></p><p><b>  default:</b></p

134、><p>  system("cls");</p><p>  printf("輸入錯誤!!!\n");</p><p>  goto Loop2;</p><p><b>  }</b></p><p><b>  }</b></p

135、><p>  3.1程序?qū)崿F(xiàn)時應(yīng)考慮的問題</p><p>  由于疏忽,沒有將密碼函數(shù)鏈接到主函數(shù)中,使得密碼功能沒有體現(xiàn),及時調(diào)整。顯示內(nèi)容與表頭進(jìn)行調(diào)整對齊,由于顯示函數(shù)和查找函數(shù)都有顯示功能,需要同時調(diào)整。</p><p><b>  3.2結(jié)構(gòu)的應(yīng)用</b></p><p><b>  If…else結(jié)構(gòu)

136、</b></p><p>  if(strcmp(passwords,b)!=0)</p><p>  printf("\r口令錯誤,按任意鍵繼續(xù)");</p><p><b>  else </b></p><p><b>  break;</b></p>

137、;<p><b>  switch結(jié)構(gòu)</b></p><p>  switch(choice)</p><p><b>  {</b></p><p><b>  case 1:</b></p><p><b>  add();</b>

138、</p><p><b>  break;</b></p><p><b>  case 2:</b></p><p>  system("cls");</p><p><b>  find();</b></p><p><b&

139、gt;  break;</b></p><p><b>  case 3:</b></p><p>  system("cls");</p><p>  showall();</p><p><b>  break;</b></p><p>&

140、lt;b>  case 4:</b></p><p>  system("cls");</p><p><b>  delet();</b></p><p><b>  break;</b></p><p><b>  case 5:</b>

141、;</p><p>  system("cls");</p><p><b>  modify();</b></p><p><b>  break;</b></p><p><b>  case 0:</b></p><p>  s

142、ystem("cls");</p><p><b>  esc();</b></p><p><b>  }</b></p><p><b>  while結(jié)構(gòu)</b></p><p>  while(stu->record!=0)</p>

143、<p><b>  { </b></p><p>  head=insert(head,stu);</p><p>  printf("\n\n\t\t******添加成功******!!!\n");</p><p>  stu=(struct addbook*)malloc(LEN);</p>

144、<p>  printf("\n\n\t\t\t當(dāng)輸入的設(shè)備編號為0時,停止添加!!!");</p><p>  printf("\n\t\t請輸入編號:");</p><p>  scanf("%d",&stu->record);</p><p>  getchar();/

145、*用來接受scanf里輸入的回車符號*/</p><p>  printf("\n\t\t請輸入名稱:");</p><p>  gets(stu->name);</p><p>  printf("\n\t\t請輸入種類:");</p><p>  gets(stu->kind);<

146、/p><p>  printf("\n\t\t請輸入價格:");</p><p>  gets(stu->price);</p><p>  printf("\n\t\t請輸入購買日期(如20100101):");</p><p>  scanf("%ld",&stu-&g

147、t;purtime);</p><p>  getchar();</p><p>  printf("\n\t\t請輸入報廢日期(如20100101):");</p><p>  scanf("%ld",&stu->scrtime);</p><p>  getchar();</p&

148、gt;<p>  printf("\n\t\t請輸入是否報廢(S或F):");</p><p>  gets(stu->scrap);</p><p>  stu->next = NULL;</p><p><b>  }</b></p><p>  do…while結(jié)構(gòu)&l

溫馨提示

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

最新文檔

評論

0/150

提交評論