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

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、<p>  課 程 設 計 報 告 書</p><p>  所屬課程名稱 C語言課程設計 </p><p>  題 目   學生信息管理系統   </p><p>  2012年6月14日</p><p>  目 錄</p><p><b>  需

2、求分析 </b></p><p><b>  整體設計 </b></p><p><b>  詳細設計 </b></p><p><b>  系統測試 </b></p><p><b>  課程設計心得</b></p><p

3、><b>  參考文獻 </b></p><p>  第一章 設計內容及要求</p><p>  設計“學生信息管理系統”使其具有學生信息錄入功能,修改、刪除、顯示和查詢功能。</p><p> ?。?)包括創建學生個人信息:學生學號、姓名、年齡、號碼、地址。</p><p> ?。?)學生信息添加功能。&

4、lt;/p><p> ?。?)學生信息刪除功能。</p><p> ?。?)學生信息修改功能。</p><p> ?。?)查詢學生信息功能。</p><p> ?。?)顯示全部學生信息功能。</p><p>  第二章 總體設計思路</p><p>  1>程序設計組成框圖</p&

5、gt;<p>  2>程序流程圖(見下頁)</p><p>  第三章 詳細設計說明</p><p><b>  1>頭文件</b></p><p>  #include <stdio.h></p><p>  #include<stdlib.h></p>

6、;<p>  #include<string.h></p><p>  #include<conio.h></p><p>  #define Nsizeof(struct stud)</p><p><b>  2>數入口說明</b></p><p>  main();主函數

7、;</p><p>  void menu();主菜單界面;</p><p>  void add();添加新的學生信息;</p><p>  void print(int i);打印學生信息;</p><p>  void scan();查找學生信息;</p><p>  void res();檢索學生信息界面;&

8、lt;/p><p>  void res_name();按姓名檢索;</p><p>  void res_num();按學號檢索;</p><p>  void del(int i);刪除學生信息;</p><p>  void modify(int i);修改學生信息;</p><p>  void fileope

9、n();打開文件;</p><p>  void filesave();保存文件;</p><p><b>  3>調用關系</b></p><p>  第四章 調試與測試</p><p><b>  1>編譯工具</b></p><p><b>

10、  VC++6.0</b></p><p><b>  2>主菜單</b></p><p>  第五章 心得體會</p><p>  通過這次C程序課程設計,我感受到了編程是一項非常煩瑣周密的活動,它不但需要一個人周密的思考問題的能力,處理問題的能力,還需要有足夠的耐心和嚴謹治學的作風,來不得半點馬虎,一點小的錯誤就可能導

11、致整個程序不能運行。我初步學會了課程設計的基本方法,學會了怎樣去借鑒別人的方法和經驗,知道如何去查找資料和整合處理這些資料的能力,使我收益最大的是享受到了一種成功的喜悅。</p><p>  因為C語言底子比較差,我選擇的是相對容易的學生信息管理系統。先開始,比較快速的把大體程序代碼寫出來了,然后是進行編譯,這個環節是一個非常痛苦和艱難的,常常會因為一小點的錯誤而在編譯失敗與再次修改的漫漫循環之路中,但失敗的越多

12、,對人的考驗就越多,在編譯運行成功之后的享受成功的喜悅也就越多,另外在調試程序的過程中不斷的思考和運用已經學到的知識,這對于自己是有很大的提高的。 </p><p>  由于所學的知識不多,自己的編程經驗不足,仍存在一些問題,如不能實現模糊查找等功能。按現有的知識水平有些東西暫時還無法解決,還有待于在以后的學習中不斷提高和改進</p><p><b&g

13、t;  參考文獻</b></p><p>  1.謝希仁. 計算機網絡(第五版)[M]. 北京:電子工業出版社,2008年2月</p><p>  2.胡小強 計算機網絡[M] 北京:北京郵電大學出版社2005年1月</p><p>  3. 李麗娟 《C語言程序設計教程》(第二版)[M] 人民郵電出版社,2009年3月</p>

14、<p>  4.李麗娟 《C語言程序設計教程習題答案與實驗指導》(第二版)[M] 人民郵電出版社附件 程序源代碼</p><p>  #include <stdio.h> </p><p>  #include <stdlib.h></p><p>  #include <string.h> </p>

15、<p>  # include <conio.h> </p><p>  # define N sizeof(struct stud) //測結構體變量的大小// </p><p>  typedef struct stud </p><p><b>  { </b></p><p>  c

16、har number[20]; </p><p>  char name[20]; </p><p>  char sex[20]; </p><p>  char call[20]; </p><p>  char add[20]; </p><p>  struct stud *next; </p>

17、<p>  }fun; //為結構體命名// </p><p>  fun *creatlink(void) //創建鏈表信息// </p><p><b>  { </b></p><p>  fun *p1,*p2,*head; //p1為前驅,p2為后繼// </p><p><b&g

18、t;  int i=1; </b></p><p>  char choice; </p><p>  head=p2=(fun *)malloc(N); </p><p>  head->next=NULL; </p><p>  choice='y'; </p><p>  for

19、(i=1;choice=='y'||choice=='Y';i++) </p><p><b>  { </b></p><p>  p1=(fun *)malloc(N); </p><p>  printf("*********************************************

20、**********************************\n\n"); </p><p>  printf("請輸入第%d個學生的信息:\n",i); </p><p>  printf("學號:"); </p><p>  scanf("%s",p1->number); <

21、;/p><p>  printf("\n姓名:"); </p><p>  scanf("%s",p1->name); </p><p>  printf("\n性別:"); </p><p>  scanf("%s",p1->sex); </p&g

22、t;<p>  printf("\n電話:"); </p><p>  scanf("%s",p1->call); </p><p>  printf("\n宿舍號:"); </p><p>  scanf("%s",p1->add); </p>

23、<p>  p2->next=p1; </p><p><b>  p2=p1; </b></p><p>  printf("\n是否繼續?(Y/N):"); </p><p>  choice=getche(); </p><p>  printf("\n");

24、 </p><p><b>  } </b></p><p>  p2->next=NULL; </p><p>  return(head); </p><p><b>  } </b></p><p>  void savelink(fun *h) //保存鏈表

25、信息// </p><p><b>  { </b></p><p><b>  fun *p; </b></p><p>  FILE *fp; </p><p>  char fliename[20]; </p><p>  printf("\n請輸入你要保存的

26、文件名?"); </p><p>  scanf("%s",fliename); </p><p>  if((fp=fopen(fliename,"wt"))==NULL) </p><p><b>  { </b></p><p>  printf("寫文件

27、出錯?按任意鍵退出!"); </p><p>  getche(); </p><p><b>  exit(1); </b></p><p><b>  } </b></p><p>  for(p=h->next;p!=NULL;p=p->next) </p>

28、<p>  fprintf(fp,"%s %s %s %s %s %s\n",p->number,p->name,p->sex,p->call,p->add); </p><p>  //向文件中寫入數據// </p><p>  printf("文件已成功保存?按任意鍵返回!"); </p>

29、;<p>  getche(); </p><p>  fclose(fp); </p><p><b>  } </b></p><p>  fun *readlink(void) //讀出已保存文件的信息// </p><p><b>  { </b></p>&

30、lt;p>  fun *head,*p,*q; </p><p>  FILE *fp; </p><p>  char filename[20]; </p><p>  printf("\n請輸入要打開的文件名:"); </p><p>  scanf("%s",filename); </

31、p><p>  if((fp=fopen(filename,"rt"))==NULL) </p><p><b>  { </b></p><p>  printf("讀文件出錯?按任意鍵退出!"); </p><p>  getche(); </p><p>

32、<b>  exit(1); </b></p><p><b>  } </b></p><p>  head=q=(fun *)malloc(N); </p><p>  head->next=NULL; </p><p>  while(!feof(fp)) </p><

33、;p><b>  { </b></p><p>  p=(fun *)malloc(N); //建立新鏈表,并從文件中讀出數據// </p><p>  fscanf(fp,"%s %s %s %s %s %s\n",p->number,p->name,p->sex,p->call,p->add); <

34、/p><p>  q->next=p; </p><p><b>  q=p; </b></p><p><b>  } </b></p><p>  q->next=NULL; </p><p>  fclose(fp); </p><p>

35、  printf("文件信息已正確讀出?按任意鍵返回!"); </p><p><b>  getch(); </b></p><p>  return head; </p><p><b>  } </b></p><p>  fun *insert(fun *head)

36、//插入信息// </p><p><b>  { </b></p><p><b>  fun *p; </b></p><p>  p=(fun *)malloc(N); </p><p>  printf("\n請輸入要插入學生的信息:\n"); </p>&

37、lt;p>  printf("\n學號?"); </p><p>  scanf("%s",p->number); </p><p>  printf("\n姓名:"); </p><p>  scanf("%s",p->name); </p><p

38、>  printf("\n性別:"); </p><p>  scanf("%s",p->sex); </p><p>  printf("\n電話:"); </p><p>  scanf("%s",p->call); </p><p>  

39、printf("\n宿舍號:"); </p><p>  scanf("%s",p->add); </p><p>  if(head->next!=NULL) </p><p><b>  { </b></p><p>  p->next=head->ne

40、xt; //插入數據操作代碼// </p><p>  head->next=p; </p><p><b>  } </b></p><p>  printf("\n學生信息插入成功!按任意鍵繼續!"); </p><p>  getche(); </p><p>

41、  return head; </p><p><b>  } </b></p><p>  fun *delet(fun *p0) //刪除信息// </p><p><b>  { </b></p><p>  char num[20]; </p><p><b

42、>  fun *p; </b></p><p>  char choice; </p><p>  if(p0->next==NULL) </p><p><b>  { </b></p><p>  printf("信息出錯!按任意鍵退出!"); </p>&l

43、t;p><b>  getch(); </b></p><p><b>  exit(1); </b></p><p><b>  } </b></p><p>  printf("\n請輸入要刪除學生的學號?"); </p><p>  scanf(

44、"%s",num); </p><p>  for(p=p0->next;strcmp(p->number,num)!=0;p0=p,p=p->next) ; //找到要刪除的學生的信息// </p><p>  printf("你要刪除的信息如下,請確認是否刪除:\n"); </p><p>  pri

45、ntf("\n 學號:%s 姓名:%s 性別:%s 電話:%s 宿舍號:%s\n\n",p->number,p->name,p->sex,p->call,p->add); </p><p>  printf("\n是Y,否N:"); //顯示要刪除的學生的信息// </p><p>  choice=getch

46、e(); </p><p>  if(choice=='Y'||choice=='y') </p><p><b>  { </b></p><p>  p0->next=p->next; </p><p><b>  free(p); </b></

47、p><p>  printf("\n文件刪除成功!"); </p><p><b>  } </b></p><p>  printf("\n按任意鍵結束!"); </p><p>  getche(); </p><p>  return p0; </p

48、><p><b>  } </b></p><p>  fun *modify(fun *h) //修改信息// </p><p><b>  { </b></p><p>  char num[20]; </p><p><b>  fun *p; </b&

49、gt;</p><p>  char choice; </p><p>  printf("\n請輸入要修改學生信息的學號?"); </p><p>  scanf("%s",num); </p><p>  for(p=h;strcmp(p->number,num)!=0;p=p->nex

50、t) ; //找到要刪除的學生的信息// </p><p><b>  while(1) </b></p><p><b>  { </b></p><p>  printf("請輸入修改后學生的信息?\n"); </p><p>  printf("學號?&q

51、uot;); </p><p>  scanf("%s",p->number); </p><p>  printf("\n姓名:"); </p><p>  scanf("%s",p->name); </p><p>  printf("\n性別:"

52、); </p><p>  scanf("%s",p->sex); </p><p>  printf("\n電話:"); </p><p>  scanf("%s",p->call); </p><p>  printf("\n宿舍號:"); &l

53、t;/p><p>  scanf("%s",p->add); </p><p>  printf("修改后學生信息如下:\n"); </p><p>  printf("\n 學號:%s 姓名:%s 性別:%s 電話:%s 宿舍號:%s\n\n",p->number,p->name,p

54、->sex,p->call,p->add); </p><p>  printf("\n確認?是Y否N:"); </p><p>  choice=getche(); </p><p>  if(choice=='y'||choice=='Y') break; </p><p&

55、gt;<b>  } </b></p><p>  printf("\n修改成功,按任意鍵繼續!"); </p><p>  getche(); </p><p>  return h; </p><p><b>  } </b></p><p>  vo

56、id find(fun *h) //查詢信息// </p><p><b>  { </b></p><p>  char num[20]; </p><p><b>  fun *p; </b></p><p>  printf("\n請輸入你要查找的學生的學號?");

57、</p><p>  scanf("%s",num); </p><p>  for(p=h;strcmp(p->number,num)!=0;p=p->next) ; </p><p>  printf("你查找的學生信息如下:\n"); </p><p>  printf("\

58、n 學號:%s 姓名:%s 性別:%s 電話:%s 宿舍號:%s\n\n",p->number,p->name,p->sex,p->call,p->add); </p><p>  printf("按任意鍵繼續!"); </p><p>  getche(); </p><p><b>  

59、} </b></p><p>  void print(fun *p) //顯示全部信息// </p><p><b>  { </b></p><p>  p=p->next; </p><p>  while(p!=NULL) </p><p><b>  {

60、 </b></p><p>  printf("\n 學號:%s 姓名:%s 性別:%s 電話:%s 宿舍號:%s\n",p->number,p->name,p->sex,p->call,p->add); </p><p>  p=p->next; </p><p><b>  }

61、 </b></p><p>  printf("\n按任意鍵繼續!"); </p><p>  getche(); </p><p><b>  } </b></p><p>  fun *sort(fun *head) </p><p><b&g

62、t;  { </b></p><p>  fun *q,*t,*p; </p><p>  p=head; </p><p><b>  t=NULL; </b></p><p>  while(t!=head->next) </p><p><b&g

63、t;  { </b></p><p>  p=head; </p><p>  q=p->next; </p><p>  while(q->next!=t) </p><p><b>  { </b></p><p>  if(strcmp(p-

64、>next->number,q->next->number)>0) /*前結點和后結點比</p><p><b>  較大小*/ </b></p><p><b>  { </b></p><p>  p->next=q->next; </p><

65、p>  q->next=q->next->next; </p><p>  p->next->next=q; </p><p><b>  } </b></p><p>  p=p->next; </p><p>  q=p->next;

66、 </p><p><b>  } </b></p><p><b>  t=q; </b></p><p><b>  } </b></p><p>  printf("學生信息排序完畢?按任意鍵繼續!"); </p>

67、<p>  getche(); </p><p>  print(head); </p><p>  return(head); /*返回頭指針*/ </p><p><b>  } </b></p><p>  void main() </p><p><b>

68、  { </b></p><p>  int choice=1,i,ok=1; //choice用于選擇對數據執行操作,i循環,ok主界面選擇// </p><p>  fun *head,*h; </p><p>  head=NULL; </p><p>  for(i=1;ok!=0;i++) </p>&

69、lt;p><b>  { </b></p><p>  system("cls"); </p><p>  printf("\n歡迎來到學生信息管理系統主界面!\n\n\n"); </p><p>  printf("\n\n\n 1.創建新

70、文件.\n\n\n"); </p><p>  printf(" 2.讀取原文件,并執行相應操作.(原文件名為:jxx)"); </p><p>  printf("\n\n\n 0.退出?"); </p><p>  p

71、rintf("\n\n\n\n\n請選擇你要執行的操作:"); </p><p>  scanf("%d",&ok); </p><p>  if(ok==1) </p><p><b>  { </b></p><p>  system("cls")

72、; </p><p>  head=creatlink(); //創建新鏈表并保存文件// </p><p>  savelink(head); </p><p><b>  } </b></p><p>  if(ok==2) </p><p><b>  { </b>

73、;</p><p>  head=readlink(); //進入文件,對已知數據進行操作// </p><p>  for(i=1;choice!=0;i++) </p><p><b>  { </b></p><p>  system("cls"); </p><p>

74、;  printf("************歡迎來到學生信息管理系統************\n\n\n"); </p><p>  printf(" 1. 添加學生信息? \n\n"); </p><p>  printf("

75、 2. 刪除學生信息? \n\n"); </p><p>  printf(" 3. 修改學生信息? \n\n"); </p><p>  printf("

76、 4. 查詢學生信息? \n\n"); </p><p>  printf(" 5. 顯示全部信息? \n\n"); </p><p>  printf(" 6.

77、排序全部信息? \n\n"); </p><p>  printf(" 0. 退 出 ? \n\n"); </p><p>  printf("請輸入你要執行的操作代碼?"); </p><p> 

78、 scanf("%d",&choice); </p><p>  switch(choice) </p><p><b>  { </b></p><p>  case 1: h=insert(head);savelink(h);break; //執行增,刪,改完畢后對新信息進行保存// </p>&l

79、t;p>  case 2: h=delet(head);savelink(h);break; </p><p>  case 3: h=modify(head);savelink(h);break; </p><p>  case 4: find(head);break; </p><p>  case 5: print(head);break; </p

80、><p>  case 6: h=sort(head);savelink(h);break; </p><p>  case 0: break; </p><p><b>  } </b></p><p><b>  } </b></p><p><b>  } &

溫馨提示

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

評論

0/150

提交評論