c語言課程設(shè)計(jì)報(bào)告----學(xué)生信息管理系統(tǒng)_第1頁(yè)
已閱讀1頁(yè),還剩23頁(yè)未讀 繼續(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><b>  C語言課程設(shè)計(jì)報(bào)告</b></p><p><b>  學(xué)生姓名: </b></p><p><b>  學(xué)生學(xué)號(hào): </b></p><p><b>  所在班級(jí): </b></p><p>  課程設(shè)計(jì)題目:

2、學(xué)生信息管理系統(tǒng)</p><p>  課程設(shè)計(jì)目標(biāo)和要求:</p><p>  鞏固和加強(qiáng)《C語言程序設(shè)計(jì)》課程的理論知識(shí)。</p><p>  掌握C語言的基本概念﹑語法﹑語義和數(shù)據(jù)類型的使用特點(diǎn)</p><p>  學(xué)習(xí)并掌握C語言定義函數(shù)的基本方法、聲明函數(shù)及調(diào)用函數(shù)的方法和過程。</p><p>  掌握文件和

3、文件指針的概念以及文件的定義方法,認(rèn)識(shí)文件打開、關(guān)閉、讀、寫等文件基本操作函數(shù)。</p><p>  了解指針和鏈表的概念,掌握指針的定義和使用指針變量的方法以及鏈表的正確用法。靈活使用鏈表來儲(chǔ)存學(xué)生信息。</p><p>  掌握數(shù)組的定義、引用以及輸入輸出的方法、通過字符數(shù)組存儲(chǔ)字符串,進(jìn)一步使用字符串</p><p>  培養(yǎng)創(chuàng)新能力和創(chuàng)新思維</p&g

4、t;<p>  培養(yǎng)良好的程序設(shè)計(jì)風(fēng)格</p><p>  課程設(shè)計(jì)報(bào)告的需求分析</p><p>  設(shè)計(jì)出來的學(xué)生信息管理系統(tǒng)要實(shí)現(xiàn)以下功能:</p><p>  A 系統(tǒng)以菜單方式工作;</p><p>  B學(xué)生信息的錄入(并用文件保存)</p><p>  C 學(xué)生信息的瀏覽功能</p&g

5、t;<p>  D 查詢(包括按學(xué)號(hào)和按姓名查詢)</p><p>  E學(xué)生信息的查詢和修改</p><p>  F 有一定容錯(cuò)能力,在輸入錯(cuò)誤時(shí)提示不合法,并要求重新輸入。</p><p><b>  程序的實(shí)現(xiàn)過程</b></p><p><b>  1 總體的設(shè)計(jì)</b><

6、;/p><p>  通過菜單的形式,利用switch函數(shù),將程序要實(shí)現(xiàn)的功能分為6個(gè)模塊進(jìn)行,然后分別對(duì)信息的錄入,瀏覽,查詢,修改,刪除,和對(duì)出進(jìn)行編寫,并將信息寫入文件,最后退出系統(tǒng)。</p><p><b>  2 模塊功能的說明</b></p><p>  在設(shè)計(jì)的程序中,共設(shè)計(jì)了</p><p>  Struct

7、student//學(xué)生的結(jié)構(gòu)體</p><p>  welcome 通過一系列的輸出函數(shù),顯示字符,以現(xiàn)實(shí)歡迎界面</p><p>  main menu 通過 switch 函數(shù) 以選項(xiàng)的形式實(shí)現(xiàn)程序以菜單形式工作</p><p>  record實(shí)現(xiàn)錄入信息功能,分配內(nèi)存空間,分別對(duì) student 的結(jié)構(gòu)體成員進(jìn)行賦值并用鏈表指向這些成員</p>

8、<p>  display 輸出 學(xué)生的信息</p><p>  displayAll 通過 do while 循環(huán) 分別輸出所有學(xué)生的全部信息</p><p>  query 實(shí)現(xiàn)查詢的功能,通過switch 函數(shù),進(jìn)行選擇(分別按學(xué)號(hào)進(jìn)行查詢調(diào)用 </p><p>  query_by_num 函數(shù),按姓名進(jìn)行查詢,調(diào)用query_by_name 函

9、數(shù))</p><p>  Read data 讀取文件</p><p>  Write data 通過鏈表,將信息寫入文件</p><p>  Del 實(shí)現(xiàn)刪除 學(xué)生信息的功能,并提示錯(cuò)誤信息,(通過鏈表實(shí)現(xiàn))</p><p>  Change 提示錯(cuò)誤信息,用if else 實(shí)現(xiàn),通過switch 函數(shù) 選擇按 學(xué)號(hào)的方式修改或是通過(

10、調(diào)用devise函數(shù))</p><p>  Tuichxitong 實(shí)現(xiàn)退出時(shí)的歡迎界面,并將學(xué)生信息存入文件,退出系統(tǒng)。</p><p><b>  流程圖:</b></p><p><b>  調(diào)試與測(cè)試:如圖,</b></p><p><b>  首先,進(jìn)入歡迎界面</b>

11、;</p><p><b>  然后進(jìn)入主界面:</b></p><p><b>  顯示菜單選項(xiàng)</b></p><p><b>  然后錄入信息</b></p><p><b>  瀏覽信息</b></p><p><b&

12、gt;  查詢信息</b></p><p><b>  刪除信息后</b></p><p>  重新錄入信息后再修改后瀏覽,得到修改后的信息,</p><p><b>  最后退出系統(tǒng)。</b></p><p><b>  測(cè)試結(jié)果:</b></p>

13、<p>  經(jīng)過上機(jī)調(diào)試,發(fā)現(xiàn)程序基本的功能都已實(shí)現(xiàn),輸入學(xué)生的信息,然后,修改,修改信息后存儲(chǔ)到文件之中,刪除信息等都得到了很好的實(shí)現(xiàn)。</p><p>  當(dāng)然,程序本身還存在一些細(xì)節(jié)問題:比如在輸入學(xué)號(hào)的時(shí)候,當(dāng)學(xué)號(hào)前第一個(gè)數(shù)字是0 的時(shí)候,在輸出的時(shí)候沒有顯示0,</p><p>  其次,在顯示學(xué)生信息時(shí),學(xué)生的各個(gè)信息并沒有嚴(yán)格地對(duì)齊,使得界面不夠美觀。</p&

14、gt;<p><b>  心得體會(huì):</b></p><p>  在本次C語言課程設(shè)計(jì)的過程中,感受最深的是,我們培養(yǎng)了一種共同協(xié)作的能力。</p><p>  在剛開始大家都還沒有頭緒的時(shí)候,大家都會(huì)抽出時(shí)間一起學(xué)習(xí)有關(guān)鏈表和文件的內(nèi)容,共同探討一些弄不懂的地方。為之后程序的設(shè)計(jì)打下了一個(gè)很好的基礎(chǔ)。接下來是各個(gè)模塊的實(shí)現(xiàn),大家首先是針對(duì)各自比較熟悉的

15、模塊部分提出了自己的見解,寫出自己的代碼,然后馬不停蹄地上機(jī)調(diào)試,對(duì)于自己一個(gè)人沒能弄懂的地方,在自己提出來之后,大家都會(huì)很友好地提出自己所認(rèn)為的解決方案,并相互磋商,在大家的共同努力下,終于完整地實(shí)現(xiàn)了學(xué)生管理系統(tǒng)的全部功能。</p><p>  解決問題的能力得到了提高:</p><p>  自然,做任何事,都或多或少難免會(huì)碰到些自己沒辦法解決的問題,同樣,在整個(gè)程序設(shè)計(jì)的過程中,我也

16、遇到了些不小的麻煩,首先就是有關(guān)文件的部分,由于在一開始自學(xué)文件整個(gè)部分時(shí)候,并沒有將課本讀的很透徹,以至在想辦法將輸入的信息以文件形式存儲(chǔ)的時(shí)候,總是出現(xiàn)一些錯(cuò)誤,本想著和小組里的同學(xué)討論下該怎么解決這個(gè)問題,可是,想了想,覺得或許自己可以獨(dú)立解決這個(gè)問題,于是硬著頭皮,將課本上文件部分的內(nèi)容又翻來翻去地看了好幾遍,才發(fā)覺其實(shí)是自己的疏忽造成的。其實(shí),有些時(shí)候,看似很難的問題,其實(shí),多一點(diǎn)獨(dú)立思考,也許就解決了。</p>

17、<p>  另外,為了使整個(gè)程序趨于完美,我們也從網(wǎng)上找來了些類似 的程序,通過比較分析,發(fā)現(xiàn)了一些美中不足之處,然后,參照一些比較美觀的程序界面做出了一些改進(jìn),使得學(xué)生管理系統(tǒng)的操作體驗(yàn)更好。這也使我明白,有時(shí)候,需要通過不斷地比較才能從中找到差距,從而,不斷改進(jìn),使得程序日趨完善。</p><p><b>  附錄:</b></p><p><b

18、>  源程序如下:</b></p><p>  #include <stdio.h> </p><p>  #include <stdlib.h></p><p>  #include <malloc.h> </p><p>  #include <string.h> <

19、/p><p>  #include <io.h> </p><p>  #define NULL 0 </p><p>  #define LEN sizeof(struct student) </p><p>  #define FILE_DATA_PATH "student.txt" </p>&

20、lt;p>  struct student //建立一個(gè)學(xué)生的結(jié)構(gòu)</p><p><b>  { </b></p><p>  long int num; //學(xué)生人數(shù)</p><p>  char name[20]; //學(xué)生姓名</p><p>  int age; //年齡</p><p

21、>  char sex[4]; //性別</p><p>  char birthday[10]; //生日</p><p>  char address[30]; //地址</p><p>  long int score; //成績(jī)</p><p>  char E_mail[20]; //郵箱</p><p

22、>  struct student *next; //指針指向?qū)W生結(jié)構(gòu)</p><p><b>  }; </b></p><p>  int TOTAL_NUM = 0; //初始化總?cè)藬?shù)為0</p><p>  struct student *head = NULL; //指針指向的結(jié)構(gòu)的首位為空</p><p&g

23、t;  welcome(); </p><p>  mainmenu(); </p><p>  tuichuxitong();</p><p>  record(); </p><p>  insert(struct student *stu); </p><p>  display(struct student *

24、stu); </p><p>  displayAll(); </p><p><b>  query(); </b></p><p>  query_by_num(); </p><p>  query_by_name(); </p><p>  readData(); </p>

25、<p>  writeData(); </p><p>  freeAll(); </p><p><b>  del(); </b></p><p>  change(); </p><p>  devise(struct student *p); </p><p><b>

26、  main() </b></p><p><b>  { </b></p><p>  welcome(); </p><p>  mainmenu(); </p><p><b>  } </b></p><p>  welcome() //顯示歡迎信息 &l

27、t;/p><p>  { system("color 2e");</p><p>  printf("\n\n\n\n\n\n\n");</p><p>  printf(" --------【學(xué)生信息管理系統(tǒng)】-------\n");</p><p&

28、gt;  printf("\n");</p><p>  printf("\n");</p><p>  printf(" 制作人: 第一小組 \n");</p><p>  printf("============

29、====================================================================\n");</p><p>  printf(" ●☆☆ welcome ☆☆●\n");</p><p>  printf("\n");</p&

30、gt;<p>  printf(" ★★★★★★★★★★★★★★ ★★★★★★★★★★★★★★\n");</p><p>  printf("\n\n\n"); </p><p>  printf("\t\t\t+--+--+--+--+--+--+--+--+--+--+--+--+\n"

31、;); </p><p>  printf("\n\n\n\n\n\n\n\n\n");</p><p>  system("pause");</p><p>  system("cls");</p><p><b>  } </b></p>&l

32、t;p>  mainmenu() //系統(tǒng)主菜單 </p><p>  { system("color 3e");</p><p>  int choice; </p><p>  choice = -1; </p><p>  readData(); </p><p>  printf(&q

33、uot;\n\n\n 溫馨提示:為保證您的操作得到保存,請(qǐng)按正常順序退出系統(tǒng)^_^\n"); </p><p><b>  do </b></p><p><b>  { </b></p><p>  printf("\n\n\t\t\t--------------------------------

34、\n"); </p><p>  printf("\t\t\t| 學(xué)生信息管理系統(tǒng) |\n"); </p><p>  printf("\t\t\t--------------------------------\n"); </p><p>  printf("\t\t\t| [1]----錄入學(xué)生信息 |

35、\n"); </p><p>  printf("\t\t\t| [2]----瀏覽學(xué)生信息 |\n"); </p><p>  printf("\t\t\t| [3]----查詢學(xué)生信息 |\n"); </p><p>  printf("\t\t\t| [4]----刪除學(xué)生信息 |\n");

36、 </p><p>  printf("\t\t\t| [5]----修改學(xué)生信息 |\n"); </p><p>  printf("\t\t\t| [0]----退出系統(tǒng) |\n"); </p><p>  printf("\t\t\t|*·*·*·*·*·*&#

37、183;*·*·*·*·|\n"); </p><p>  printf("\t\t\t--------------------------------\n"); </p><p>  printf("請(qǐng)輸入您的選擇:"); </p><p>  scanf("%d&

38、quot;, &choice); </p><p>  switch(choice) </p><p><b>  { </b></p><p><b>  case 0: </b></p><p>  writeData(); </p><p>  freeAll(

39、); </p><p>  tuichuxitong();</p><p><b>  exit(0); </b></p><p><b>  case 1: </b></p><p>  record(); </p><p><b>  break; </b

40、></p><p><b>  case 2: </b></p><p>  displayAll(); </p><p><b>  break; </b></p><p><b>  case 3: </b></p><p><b>

41、  query(); </b></p><p><b>  break; </b></p><p><b>  case 4: </b></p><p><b>  del(); </b></p><p><b>  break; </b>&l

42、t;/p><p><b>  case 5: </b></p><p>  change(); </p><p><b>  break; </b></p><p><b>  default: </b></p><p>  printf("\n無

43、效選項(xiàng)!"); </p><p><b>  break; </b></p><p><b>  } </b></p><p><b>  } </b></p><p>  while(choice != 0); </p><p><b&

44、gt;  } </b></p><p>  record() //錄入學(xué)生信息 </p><p>  { system("cls");</p><p>  struct student *p0; </p><p>  p0 = (struct student *)malloc(LEN); </p>

45、<p>  printf("\n\n\n");</p><p>  printf(" 請(qǐng)輸入學(xué)生的學(xué)號(hào):"); </p><p>  scanf("%ld",&p0->num); </p><p>  printf("\n");</p>&

46、lt;p>  printf(" 請(qǐng)輸入學(xué)生的姓名:"); </p><p>  scanf("%s",p0->name); </p><p>  printf("\n");</p><p>  printf(" 請(qǐng)輸入學(xué)生的年齡:"); </p>

47、<p>  scanf("%d",&p0->age); </p><p>  printf("\n");</p><p>  printf(" 請(qǐng)輸入學(xué)生的性別:"); </p><p>  scanf("%s",p0->sex); </p&

48、gt;<p>  printf("\n");</p><p>  printf(" 請(qǐng)輸入學(xué)生的出生年月:"); </p><p>  scanf("%s",p0->birthday); </p><p>  printf("\n");</p>

49、<p>  printf(" 請(qǐng)輸入學(xué)生的地址:"); </p><p>  scanf("%s",p0->address); </p><p>  printf("\n");</p><p>  printf(" 請(qǐng)輸入學(xué)生的成績(jī):"); </p&

50、gt;<p>  scanf("%ld",&p0->score); </p><p>  printf("\n");</p><p>  printf(" 請(qǐng)輸入學(xué)生的E-mail:"); </p><p>  scanf("%s",p0->E_

51、mail); </p><p>  insert(p0); </p><p>  printf(" 該學(xué)生的信息為:\n"); </p><p>  printf("-------------------------------------------------------------------------------&q

52、uot;); </p><p>  display(p0); </p><p>  system("pause");</p><p>  system("cls");</p><p>  mainmenu();</p><p><b>  } </b><

53、;/p><p>  insert(struct student *stu) </p><p><b>  { </b></p><p>  struct student *p0, *p1, *p2; </p><p>  p1 = head; </p><p>  p0 = stu; </p&g

54、t;<p>  if(head == NULL) </p><p><b>  { </b></p><p>  head = p0; </p><p>  p0->next = NULL; </p><p><b>  } </b></p><p>&l

55、t;b>  else </b></p><p><b>  { </b></p><p>  while((p0->num > p1->num)&&(p1->next != NULL)) </p><p><b>  { </b></p><p&

56、gt;<b>  p2 = p1; </b></p><p>  p1 = p1->next; </p><p><b>  } </b></p><p>  if(p0->num <= p1->num) </p><p><b>  { </b><

57、;/p><p>  if(head == p1) </p><p>  head = p0; </p><p><b>  else </b></p><p>  p2->next = p0; </p><p>  p0->next = p1; </p><p>&

58、lt;b>  } </b></p><p><b>  else </b></p><p><b>  { </b></p><p>  p1->next = p0; </p><p>  p0->next = NULL; </p><p>&l

59、t;b>  } </b></p><p><b>  } </b></p><p>  TOTAL_NUM++; </p><p><b>  } </b></p><p>  display(struct student *p) </p><p><

60、b>  { </b></p><p>  printf("學(xué)號(hào)\t 姓名\t 年齡\t 性別\t 出生年月\t 地址\t 成績(jī)\t E-mail\n"); </p><p>  printf("%ld\t %s\t %d\t %s\t %s\t %s\t %ld\t %s\n", p->num, p->

61、name, p->age, p->sex, p->birthday, p->address, p->score, p->E_mail);</p><p><b>  } </b></p><p>  displayAll() //瀏覽學(xué)生信息 </p><p><b>  { </b>&

62、lt;/p><p>  struct student *p; </p><p>  system("cls");</p><p>  printf("\n\n\n");</p><p>  printf(" 學(xué)生總數(shù):%d\n", TOTAL_NUM); </p>&l

63、t;p>  p = head; </p><p>  if(head != NULL) </p><p><b>  { </b></p><p>  printf("-------------------------------------------------------------------------------&q

64、uot;); </p><p><b>  do </b></p><p><b>  { </b></p><p>  display(p); </p><p>  p = p->next; </p><p><b>  } </b></p

65、><p>  while(p != NULL); </p><p><b>  } </b></p><p>  printf("\n"); </p><p>  system("pause");</p><p>  system("cls"

66、);</p><p>  mainmenu();</p><p><b>  } </b></p><p>  query() //查詢學(xué)生信息</p><p><b>  { </b></p><p>  int choice; </p><p>

67、  choice = -1; </p><p>  system("cls");</p><p><b>  do </b></p><p><b>  { </b></p><p>  printf("\n\n\n"); </p><p&

68、gt;  printf("\t\t+--------------------+\n"); </p><p>  printf("\t\t| [1]---按學(xué)號(hào)查詢 |\n\n"); </p><p>  printf("\t\t| [2]---按姓名查詢 |\n\n"); </p><p>  printf

69、("\t\t| [0]---取 消 |\n"); </p><p>  printf("\t\t+--------------------+\n\n"); </p><p>  printf("\t\t請(qǐng)輸入您的選擇:"); </p><p>  scanf("%d", &cho

70、ice); </p><p>  switch(choice) </p><p><b>  { </b></p><p><b>  case 0: </b></p><p>  system("cls");</p><p>  mainmenu();&

71、lt;/p><p><b>  case 1: </b></p><p>  query_by_num(); </p><p>  system("pause");</p><p>  system("cls");</p><p><b>  quer

72、y(); </b></p><p><b>  case 2: </b></p><p>  query_by_name(); </p><p>  system("pause");</p><p>  system("cls");</p><p&g

73、t;<b>  query(); </b></p><p><b>  default: </b></p><p>  printf("\n無效選項(xiàng)!"); </p><p><b>  break; </b></p><p><b>  } &l

74、t;/b></p><p><b>  } </b></p><p>  while(choice != 0); </p><p><b>  } </b></p><p>  query_by_num() //按學(xué)號(hào)查詢學(xué)生信息 </p><p><b> 

75、 { </b></p><p><b>  int num; </b></p><p>  struct student *p1; </p><p>  printf("請(qǐng)輸入學(xué)生的學(xué)號(hào):"); </p><p>  scanf("%ld", &num);<

76、;/p><p>  if(head==NULL)</p><p><b>  { </b></p><p>  printf("無學(xué)生記錄!\n"); </p><p><b>  } </b></p><p><b>  p1=head; <

77、/b></p><p>  while(num!=p1->num && p1->next!=NULL) </p><p>  p1=p1->next; </p><p>  if(num == p1->num) </p><p><b>  { </b></p>

78、<p>  printf("-------------------------------------------------------------------------------"); </p><p>  display(p1); </p><p><b>  } </b></p><p><b&

79、gt;  else </b></p><p>  printf("沒有該學(xué)生記錄,請(qǐng)核對(duì)!"); </p><p><b>  } </b></p><p>  query_by_name() //按姓名查詢學(xué)生信息 </p><p><b>  { </b><

80、/p><p>  char name[20]; </p><p>  struct student *p1; </p><p>  printf("請(qǐng)輸入學(xué)生的姓名:"); </p><p>  scanf("%s", name); </p><p>  if(head==NULL)

81、 </p><p><b>  { </b></p><p>  printf("無學(xué)生記錄!\n"); </p><p><b>  return; </b></p><p><b>  } </b></p><p><b&g

82、t;  p1=head; </b></p><p>  while(strcmp(name, p1->name) && p1->next!=NULL) </p><p>  p1=p1->next; </p><p>  if(!strcmp(name, p1->name)) </p><p&g

83、t;<b>  { </b></p><p>  printf("-------------------------------------------------------------------------------"); </p><p>  display(p1); </p><p><b>  } &

84、lt;/b></p><p><b>  else </b></p><p>  printf("沒有該學(xué)生記錄,請(qǐng)核對(duì)!"); </p><p><b>  } </b></p><p>  writeData() //寫入文件 </p><p>

85、<b>  { </b></p><p><b>  FILE* fp;</b></p><p>  struct student *p; </p><p>  fp = fopen(FILE_DATA_PATH, "w"); </p><p><b>  if (!f

86、p) </b></p><p><b>  { </b></p><p><b>  return; </b></p><p><b>  } </b></p><p>  fprintf(fp,"%d\n", TOTAL_NUM); </

87、p><p>  for(p = head; p!= NULL; p= p->next) </p><p><b>  { </b></p><p>  fprintf(fp,"學(xué)號(hào)%ld\t姓名%s\t年齡%d\t性別%s\t出生年月%s\t地址%s\t成績(jī)%ld\tE-mail%s\n", </p><

88、;p>  p->num, p->name, p->age, p->sex, p->birthday, p->address, p->score, p->E_mail); </p><p><b>  } </b></p><p>  fclose(fp); </p><p><b>

89、;  } </b></p><p>  freeAll() </p><p><b>  { </b></p><p>  struct student *p1, *p2; </p><p>  p1=p2=head; </p><p>  while(p1) </p>

90、<p><b>  { </b></p><p>  p2=p1->next; </p><p>  free(p1); </p><p><b>  p1=p2; </b></p><p><b>  } </b></p><p>&l

91、t;b>  } </b></p><p>  readData() //讀取文件 </p><p><b>  { </b></p><p>  FILE* fp; </p><p>  struct student *p1, *p2; </p><p>  fp = fopen

92、(FILE_DATA_PATH, "r"); </p><p><b>  if (!fp) </b></p><p><b>  { </b></p><p><b>  return; </b></p><p><b>  } </b&g

93、t;</p><p>  fscanf(fp,"%d\n", &TOTAL_NUM); </p><p>  head = p1 = p2 = (struct student *)malloc(LEN); </p><p>  fscanf(fp,"%ld\t%s\t%d\t%s\t%s\t%s\t%ld\t%s\n"

94、, </p><p>  &p1->num, p1->name, &p1->age, p1->sex, p1->birthday, p1->address, &p1->score, p1->E_mail); </p><p>  while(!feof(fp)) </p><p><b&g

95、t;  { </b></p><p>  p1 = (struct student *)malloc(LEN); </p><p>  fscanf(fp,"%ld\t%s\t%d\t%s\t%s\t%s\t%ld\t%s\n", </p><p>  &p1->num, p1->name, &p1->

96、;age, p1->sex, p1->birthday, p1->address, &p1->score, p1->E_mail); </p><p>  p2->next = p1; </p><p><b>  p2 = p1; </b></p><p><b>  } </b&g

97、t;</p><p>  p2->next = NULL; </p><p>  fclose(fp); </p><p><b>  } </b></p><p>  del() //刪除學(xué)生信息 </p><p><b>  { </b></p>&l

98、t;p>  struct student *p1, *p2; </p><p>  long int num; </p><p>  if(head == NULL) </p><p><b>  { </b></p><p>  printf("無學(xué)生記錄!\n"); </p>

99、<p><b>  return; </b></p><p><b>  } </b></p><p>  printf("\n\n\t請(qǐng)輸入您要?jiǎng)h除的學(xué)生的學(xué)號(hào):"); </p><p>  scanf("%ld", &num); </p><

100、p>  p1 = head; </p><p>  while(num != p1->num && p1->next != NULL) </p><p><b>  { </b></p><p><b>  p2 = p1; </b></p><p>  p1 =

101、p1->next; </p><p><b>  } </b></p><p>  if(num == p1->num) </p><p><b>  { </b></p><p>  if(p1 == head) </p><p>  head = p1->

102、;next; </p><p>  else p2->next = p1->next; </p><p>  free(p1); </p><p>  TOTAL_NUM--; </p><p><b>  } </b></p><p><b>  else </b&g

103、t;</p><p>  printf("沒有該學(xué)生記錄,請(qǐng)核對(duì)!\n"); </p><p>  system("cls");</p><p><b>  } </b></p><p>  change() //修改學(xué)生信息 </p><p><b&

104、gt;  { </b></p><p>  struct student *p1, *p2; </p><p>  long int num; </p><p>  system("cls");</p><p>  if(head == NULL) </p><p><b> 

105、 { </b></p><p>  printf("無學(xué)生記錄!\n"); </p><p><b>  return; </b></p><p><b>  } </b></p><p>  printf("請(qǐng)輸入您要修改的學(xué)生的學(xué)號(hào):"); &

106、lt;/p><p>  scanf("%ld",&num); </p><p>  p1 = head; </p><p>  while(num != p1->num && p1->next != NULL) </p><p><b>  { </b></p&g

107、t;<p><b>  p2 = p1; </b></p><p>  p1 = p1->next; </p><p><b>  } </b></p><p>  if(num == p1->num) </p><p>  devise(p1); </p>

108、<p><b>  else </b></p><p>  printf("沒有該學(xué)生記錄,請(qǐng)核對(duì)!\n"); </p><p><b>  } </b></p><p>  devise(struct student *p) </p><p><b>  {

109、 </b></p><p>  int choice; </p><p>  choice = -1; </p><p><b>  do </b></p><p><b>  { </b></p><p>  printf("\n 請(qǐng)選擇您要修改的

110、學(xué)生的信息內(nèi)容:\n"); </p><p>  printf("+----------------------+\n"); </p><p>  printf("* 姓名 ____請(qǐng)按 1 *\n"); </p><p>  printf("* 年齡 ____請(qǐng)按 2 *\n"); <

111、/p><p>  printf("* 性別 ____請(qǐng)按 3 *\n"); </p><p>  printf("* 出生年月 ____請(qǐng)按 4 *\n"); </p><p>  printf("* 地址 ____請(qǐng)按 5 *\n"); </p><p>  printf(&qu

112、ot;* 成績(jī) ____請(qǐng)按 6 *\n"); </p><p>  printf("* E-mail ____請(qǐng)按 7 *\n"); </p><p>  printf("* 取消 ____請(qǐng)按 0 *\n"); </p><p>  printf("+----------------------+

113、\n"); </p><p>  printf("請(qǐng)輸入您的選擇:"); </p><p>  scanf("%d", &choice); </p><p>  switch(choice) </p><p><b>  { </b></p><

114、;p><b>  case 0: </b></p><p>  system("cls");</p><p>  mainmenu();</p><p><b>  case 1: </b></p><p>  printf("\n\n 請(qǐng)輸入新姓名:&quo

115、t;); </p><p>  scanf("%s", p->name); </p><p>  system("pause");</p><p>  system("cls");</p><p><b>  break;</b></p>&

116、lt;p><b>  case 2: </b></p><p>  printf("請(qǐng)輸入新年齡:"); </p><p>  scanf("%d", &p->age); </p><p>  system("pause");</p><p>

117、;  system("cls");</p><p><b>  break;</b></p><p><b>  case 3: </b></p><p>  printf("請(qǐng)輸入新性別:"); </p><p>  scanf("%s"

118、, p->sex); </p><p>  system("pause");</p><p>  system("cls");</p><p><b>  break;</b></p><p><b>  case 4: </b></p>

119、<p>  printf("請(qǐng)輸入新出生年月:"); </p><p>  scanf("%s", p->birthday); </p><p>  system("pause");</p><p>  system("cls");</p><p>

120、;<b>  break;</b></p><p><b>  case 5: </b></p><p>  printf("請(qǐng)輸入新地址:"); </p><p>  scanf("%s", p->address); </p><p>  system

121、("pause");</p><p>  system("cls");</p><p><b>  break;</b></p><p><b>  case 6: </b></p><p>  printf("請(qǐng)輸入新成績(jī):"); <

122、;/p><p>  scanf("%ld", &p->score); </p><p>  system("pause");</p><p>  system("cls");</p><p><b>  break;</b></p>&l

123、t;p><b>  case 7: </b></p><p>  printf("請(qǐng)輸入新E-mail:"); </p><p>  scanf("%s", p->E_mail); </p><p>  system("pause");</p><p&g

124、t;  system("cls");</p><p><b>  break;</b></p><p><b>  default: </b></p><p>  printf("\n無效選項(xiàng)!"); </p><p><b>  break; &l

125、t;/b></p><p><b>  } </b></p><p>  }while(choice != 0); </p><p><b>  }</b></p><p>  tuichuxitong() </p><p><b>  { </b>

126、;</p><p>  system("cls");</p><p>  system("COLOR 3f");</p><p>  printf("\n\n\n\n\n --------【學(xué)生信息管理系統(tǒng)】-------\n");</p><p>  print

127、f("\n");</p><p>  printf("\n");</p><p>  printf(" 制作人: 第一小組 \n");</p><p>  printf("======================

128、==========================================================\n");</p><p>  printf(" ●☆☆Bye-Bye☆☆●\n");</p><p>  printf("\n");</p><p&

129、gt;  printf(" ★★★★★★★★★★★★★★ ★★★★★★★★★★★★★★\n");</p><p>  printf("\n");</p><p>  printf(" \n");</p><p>  print

130、f(" ☆☆☆☆☆☆☆☆☆☆☆\n");</p><p>  printf("\n");</p><p>  printf(" ★★★★★★★★★★★\n");</p><p>  printf(&q

131、uot; ★\n");</p><p>  printf(" 中 ★ 電 \n");</p><p>  printf("

132、 ★ 氣 \n");</p><p>  printf(" 南 ★ 信 \n");</p><p>  printf(" ★ 息

133、 \n");</p><p>  printf(" 大 ★ 0 \n");</p><p>  printf(" ★ 9 \n&

134、quot;);</p><p>  printf(" 學(xué) ★ 0 \n");</p><p>  printf(" ★ 6 \n");</p&

135、gt;<p>  printf(" ★\n\n\n\n");</p><p>  printf(" ◆謝謝使用◆\n");</p><p><b>  }</b></p&g

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(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)論