c語言課程設計--學生信息管理系統(tǒng)_第1頁
已閱讀1頁,還剩31頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p><b>  C語言課程設計報告</b></p><p>  學生信息管理系統(tǒng)系統(tǒng)</p><p><b>  指導老師: </b></p><p>  2012年6月15日</p><p><b>  目 錄</b></p><p> 

2、 一 系統(tǒng)功能分析------------------------------3</p><p>  二 總體功能模塊設計與分析--------------3</p><p>  三 流程圖----------------------------------------3</p><p>  四 系統(tǒng)調(diào)試及運行------------------------

3、---9</p><p>  五 總結(jié)------------------------------------------15</p><p>  六 程序清單-----------------------------------20</p><p>  七 參考文獻------------------------------------20系統(tǒng)功能需求與分析

4、</p><p>  一個信息管理系統(tǒng),必須能對學生的基本信息進行方便的查看,這就需這個系統(tǒng)能夠?qū)W生信息進行增加,刪除,查找,查看,修改等操作。另外還能退出,清空信息等使系統(tǒng)跟好跟方便的管理信息。</p><p>  總體功能模塊設計與分析</p><p>  設計總體功能應有6大模塊:</p><p>  信息錄入模塊 : 用來錄

5、入學生信息</p><p>  信息修改模塊 : 用來修改學生信息</p><p>  信息查找模塊 : 用來查找學生信息</p><p>  信息刪除模塊 : 用來刪除學生信息</p><p>  信息清空模塊 : 用來清空學生信息</p><p>  信息顯示模塊 : 用來顯

6、示學生信息</p><p>  三、各模塊程序流程圖設計</p><p>  按學生姓名查找 按學生學號 按學生年齡</p><p>  顯示全部信息修改學生信息</p><p><b>  刪除信息</b></p><p><b> 

7、 查詢學生信息</b></p><p><b>  程序運行過程</b></p><p>  四、系統(tǒng)運行及調(diào)試(分模塊進行)</p><p><b>  1.添加學生信息</b></p><p>  2.查看全部學生信息</p><p>  3.按姓名修改學生信

8、息</p><p><b>  4.刪除學生信息</b></p><p>  5.按年齡段查看學生信息</p><p><b>  6按學號升序查看</b></p><p><b>  7團隊信息</b></p><p><b>  五、總結(jié)&

9、lt;/b></p><p>  -------------------------------匡晨輝---------------------------------</p><p>  這次課程設計是我第一次的設計,感慨很深,我發(fā)現(xiàn)做一個小小的通訊錄都如此之難,可見開發(fā)一款軟件是多麼的不容易啊。通過這次試驗我也更加體會到了合作的重要性,同時也非常感謝我的隊友們對我的大力支持,和極

10、力的配合。沒有他們的努力是不可能有這樣的成功的。</p><p>  我主要是做的學生信息刪除,修改,文件的讀寫等模塊。在刪除模塊的編寫過程中我遇到了很多不小的麻煩。第一次寫的時候發(fā)現(xiàn)只是在內(nèi)存中刪除了信息根本就沒有從文件中把信息刪除掉。后來發(fā)現(xiàn)我的文件時一讀(fp=fopen(“d\\studentinfo.txt”,”r”))的方式打開的。</p><p>  后來在改正后在運行發(fā)現(xiàn)總

11、是刪除的最后一個人的信息。就想到底是怎么回事呢,我是用for循環(huán)來實現(xiàn)對要刪除的信息來查找的。最后總是刪最后一個人,那也就是說,i永遠是最后一個stu[]的下標。于是我就發(fā)現(xiàn)了原來我在for循環(huán)的查找過程中,找到了元素后沒有結(jié)束循環(huán)而是繼續(xù)i++,于是就在找到元素后加上break語句,退出循環(huán)。等等還有很多問題就不一一列出了。在程序的調(diào)試過程中我是采用分模塊進行的,比如做好信息錄入模塊后就先把他放進主函數(shù)調(diào)試,看錄入過程有什么問題。這樣

12、可以容易的找出錯誤和解決。在整個程序得框架基本完成,可以運行時進行的調(diào)試中發(fā)現(xiàn)界面不是很美觀,于是再來修改代碼這個過程是很繁瑣的。需要很好的耐心,不過好在我最后還是把界面弄得有模有樣的。在前面的幾個模塊中遇到了很多問題,讓后解決,這個過程不僅讓程序得以順利完成,而且讓我重溫了c語言的語法和思想,在做這個實驗的過城中發(fā)現(xiàn)前面學得有些忘了,于是后頭再看。印象變得更加深刻??傊@次的課程設計不但學會了發(fā)現(xiàn)問題,分析問題,解決問題。還學會了共

13、同合作,增強了團隊精神。而且品嘗到了通過自己努力的成果,真的很自豪!!增強了自信</p><p>  ---------------------------楊孝光-------------------------------------</p><p>  我做的這個模塊是打開文件查看學生信息,剛開始這個指針文件類型不是太懂,在組隊里成員幫助下,最后還是寫下來了。隨后那個if語句里面也不是

14、很好搞,循環(huán)語句里面的feof(fp),fclose(fp)都是比較費解的東西,也只能在隊友的鼎力幫助下完成了??傊@次這個學生信息管理系統(tǒng)程序設計打開文件模塊設計文件這方面的知識。我也漸漸掌握了指針文件的一些皮毛。在接下來得學習中要多多接觸這一類型的程序。當然我得到最多的是團隊里的協(xié)力協(xié)作,此程序?qū)懽鬟^程在這里要特別感謝匡成輝,他給了我很大的幫助,對于資料的查找,這里也要感謝好友朱峰杰,知識點的查漏補缺,他與老匡給于我大量幫助,此部分

15、工作的完成與其二人密不可分。當然其他隊友也給了我其他方面的幫助以及精神上的鼓勵,在此一并感謝。此部分程序的完成,功在團隊。再次感謝他們。</p><p>  ------------------------------蔡洋---------------------------------</p><p>  通過我做的這模塊,我發(fā)現(xiàn)C語言是一門很難的課程,但是我既然選擇了,就得好好學習下去

16、。在本次程序設計過程中,我發(fā)現(xiàn)自己還有很多知識點沒有掌握,通過邊試驗邊鞏固的方法,慢慢地把自己的知識漏洞補的八九不離十了。在此次試驗中,最重要的是團隊合作,大家一起各自完成自己被分配到的任務 ,然后在綜合在一起,慢慢地,發(fā)現(xiàn)大家不在是平時的嘻嘻哈哈,漫不經(jīng)心,而是開始認真,踏實的完成各自的任務,沒有人會因為自己的原因放棄自己的任務,做到了:不放棄!?。?!</p><p>  -------------------

17、---望家誼-------------------------------------</p><p> ?。ò葱彰檎覍W生信息模塊)</p><p>  熟練掌握for.while.do.while循環(huán)語句的使用。</p><p>  熟練掌握if.switch分支語句的使用。</p><p>  熟練掌握函數(shù)的定義、說明、參數(shù)傳遞及嵌套和

18、遞歸調(diào)用方法。</p><p>  通過C++實訓,讓我加深了對C語言的了解,而不只是單單的在課本中學到的那些理論,平時乏味的課程,通過自己動手親自編寫,變的生動有趣,而在自己動手的過程中,出現(xiàn)的問題很多,比理論要難的多,當一個程序?qū)懲暌院?,?jīng)常會有很多錯誤而沒法解決。不過,通過幾天的實訓,逐漸積攢了一些經(jīng)驗,有些錯誤可以很快就看出來。 </p><p>  這次實訓有很大的收獲,讓我對C

19、語言有了更深的認識,平時在課堂上學到的東西可以自己動手編寫,將其轉(zhuǎn)化成一些實用的技能。如果是一個程序?qū)懲暌惶庡e誤也沒用,會有種成就感,于是興趣就來了,興趣來了,自然學的東西也就多了,能把理論變成實際的技能,讓我對C語言有了濃厚的興趣和更深層的認識。 </p><p>  C語言是一個有序的學習,學了最基本的替換,然后擴展到循環(huán),嵌套,條理很清楚,不是 一個零散的知識,實際上所有的課程都如此,不過通過實訓我也知道了

20、自己的不足,存在的很多問題。 </p><p>  比如自己寫的寫的小程序出了問題,不會解決了就叫老師幫忙,雖然說一定意義上增加了師生之間的感情,但是會養(yǎng)成一種依賴的心理,碰到問題了第一個想到的是求助而不是自己獨立解決,所以以后要多多鍛煉自己的信心和增加自己的能力,爭取做到不在身邊的時候也可以完成一些簡單的程序編寫與錯誤排除。 </p><p>  還有自己的基礎知識不扎實,遇到的問題,沒

21、有很好的邏輯思維,親自編寫一個陌生的程序的時候會有種無法下手的感覺,找不到突破口。通過實訓,逐漸理清了順序,對于簡單的程序和一些相對比較繁瑣的嵌套,循環(huán),不在是看著一頭霧水。其實只要理清了思路,把基礎知識掌握了,然后有條不紊的分析,一步一步理解,C語言還是很有意思的課程。 </p><p>  自己親自動手編寫程序讓我增加了對C語言程序開發(fā)環(huán)境的了解,不管以后從事什么行業(yè),學習C語言都對自己的職業(yè)很有幫助,如果是

22、從事編程工程工作的話,就更有幫助了,即使以后的編程工作可能不用C語言,但是擁有扎實的C語言基礎是對工作很有用的。 </p><p>  -----------------------------------張旭--------------------------------------</p><p>  經(jīng)過一個星期的奮戰(zhàn),終于完成了一個還算可以的設計,這幾天我過的很充實,是我大學生活里

23、繼兩次考試后又一次最充實的生活,看著自己的勞動成果,心里有種說不出的感覺。畢竟自己的努力還算有所回報,我為自己的努力感到自豪,當然我也認識到了自己學習中的不足,看到了自己在運用知識方面欠缺,在數(shù)組合指針方面的運用還不是很順手,在寫頭文件時,也沒做到和后面的引用一一對應。但是通過這次課程設計,收獲頗多。</p><p>  我想說:為完成這次課程設計我們確實很辛苦,但苦中仍有樂。我們一邊忙著復習備考,一邊還要做課程

24、設計,時間對我們來說一下子變得很寶貴,真是恨不得睡覺的時間也拿來用了。當自己越過一個又一個難題時,笑容在臉上綻放。當我們看到設計終于完成的時候,我們都樂了。對我而言,知識上的收獲重要,精神上的豐收更加可喜。從這次的課程設計中,我不僅鞏固了課本的知識,還學到了許許多多其他的知識。我知道了關(guān)于嵌套及循環(huán)的規(guī)律,設計有用到指針,可是自己的指針沒有學好,于是就要重新翻書來確定自己的一些設計是否正確。</p><p>  

25、其次了解到團隊合作很重要,每個人都有分工,但是又不能完全分開來,還要合作,所以設計的成敗因素中還有團隊的合作好壞。</p><p>  這次設計讓我知道了學無止境的道理。我們每一個人永遠不能滿足于現(xiàn)有的成就,人生就像在爬山,一座山峰的后面還有更高的山峰在等著你。挫折是一份財富,經(jīng)歷是一份擁有。這次課程設計必將成為我人生旅途上一個非常美好的回憶!</p><p>  當然我們的設計肯定有不足

26、之處,希望老師批評指正,下次一定會做得更好</p><p><b>  六、參考文獻</b></p><p>  [1] 王敬華 《C語言程序設計教程(第二版)》清華大學出版社</p><p>  [2] 譚浩強編著《C程序設計題解與上機指導(第二版)》清華大學出</p><p><b>  七、程序清單

27、</b></p><p>  #include <stdio.h></p><p>  #include <conio.h></p><p>  #include <string.h></p><p>  #include <stdlib.h></p><p>

28、;  void welcome_info(); //小組信息</p><p>  void exchange();</p><p>  void type(); //輸入函數(shù)</p><p>  void save(); //保存函數(shù)</p><p>  void clear();</p><p>  //void l

29、ook(); //查看函數(shù)</p><p>  void find_by_name();//通過姓名查找</p><p>  void find_by_age();//通過年齡</p><p>  void find_by_birthday();//通過生日</p><p>  void find_by_numble();//通過學號<

30、/p><p>  void dele();//刪除函數(shù)</p><p>  int openfile();//打開文件</p><p>  void open_and_see();//打開并查看文件</p><p>  struct student</p><p><b>  {</b></p&

31、gt;<p>  char num[20];//學號</p><p>  char name[20];//姓名</p><p>  char sex[10];//性別</p><p>  char age[5];//年齡</p><p>  char birthday[15],QQ[12],telephone[15],addre

32、ss[100];//生日,QQ,電話,地址。</p><p>  }stu[100];</p><p>  int n=0;//全局變量</p><p>  void main()</p><p><b>  {</b></p><p>  int b,flag=0;</p>&l

33、t;p>  system("color 1f");</p><p>  while(1)//菜單</p><p><b>  {</b></p><p>  printf("\n\t\t\t歡迎進入學生信息管理系統(tǒng)!\n");</p><p>  printf("\

34、n--------------------------------------------------------------------------------");</p><p>  printf("--------------------------------------------------------------------------------");</p&

35、gt;<p>  printf("\n\t\t\t 1.錄入學生信息。");</p><p>  printf("\n\t\t\t 2.修改學生的信息。");</p><p>  printf("\n\t\t\t 3.按姓名查看學生信息");</p><p>  printf(&q

36、uot;\n\t\t\t 4.按學號查看學生信息");</p><p>  printf("\n\t\t\t 5.按年齡查看學生信息");</p><p>  printf("\n\t\t\t 6.按學號排序查看信息");</p><p>  printf("\n\t\t\t 7.刪除學生信

37、息");</p><p>  printf("\n\t\t\t 8.打開這個文件");</p><p>  printf("\n\t\t\t 9.清空所有信息");</p><p>  printf("\n\t\t\t 10.合作團隊");</p><p>  

38、printf("\n\t\t\t 11.退出");</p><p>  printf("\n\n--------------------------------------------------------------------------------");</p><p>  printf("-------------------

39、-------------------------------------------------------------\n");</p><p>  printf("\n\n\t\t\t 請選擇你要做的操作:");</p><p>  scanf ("%d",&b);</p><p>  printf

40、("\n\n");</p><p><b>  switch(b)</b></p><p><b>  {</b></p><p>  case 1: type();break;//錄入學生信息函數(shù)。</p><p>  case 2: exchange();break;<

41、/p><p>  case 3: find_by_name();break;</p><p>  case 4: find_by_numble();break;</p><p>  case 5: find_by_age();break;</p><p>  case 6: find_by_birthday();break;</p>

42、<p>  case 7: dele();break;</p><p>  case 8: open_and_see();break;</p><p>  case 9: clear();break;</p><p>  case 10: welcome_info();break;</p><p>  case 11: flag=

43、1;break;</p><p>  default: printf("\n\n\t\t\t未知錯誤\n");</p><p><b>  }</b></p><p>  if(flag) break;</p><p><b>  }</b></p><p&g

44、t;<b>  }</b></p><p>  /*團隊信息模塊*/</p><p>  void welcome_info()</p><p><b>  {</b></p><p>  system("color 1f");</p><p>  pri

45、ntf("\n\n\t\t-------------------團隊信息-------------------");</p><p>  printf("\n\n\t\t\t\t 組員\n");</p><p>  printf("\n\t\t\t 匡晨輝 2011040121015");</p>

46、<p>  printf("\n\t\t\t 張旭 2011040121030");</p><p>  printf("\n\t\t\t 望家誼 2011040121025");</p><p>  printf("\n\t\t\t 蔡洋 2011040121027");&

47、lt;/p><p>  printf("\n\t\t\t 楊孝光 2011040121003");</p><p>  printf("\n\n\t\t\t\t\t11級軟工一班");</p><p>  printf("\n\t\t\t\t\t武漢東湖學院");</p><p&

48、gt;  printf("\n\t\t----------------------------------------------");</p><p>  printf("\n\n\t\t按任意鍵返回菜單:");</p><p><b>  getch();</b></p><p>  printf(&

49、quot;\n\n");</p><p><b>  }</b></p><p>  /*學生信息錄入模塊*/</p><p>  void type()</p><p><b>  {</b></p><p><b>  int i;</b>

50、</p><p>  printf("\t\t\t 請輸入學生人數(shù):");</p><p>  scanf("%d",&n);</p><p>  for(i=0;i<n;i++)</p><p><b>  {</b></p><p>

51、  printf("\t\t\t-------------------------------------\n");</p><p>  printf("\t\t\t請輸入姓名:");</p><p>  scanf("%s",&stu[i].name);</p><p>  printf(&quo

52、t;\t\t\t請輸入學號:");</p><p>  scanf("%s",&stu[i].num);</p><p>  printf("\t\t\t請輸入性別:");</p><p>  scanf("%s",&stu[i].sex);</p><p>

53、;  printf("\t\t\t請輸入年齡:");</p><p>  scanf("%s",&stu[i].age);</p><p>  printf("\t\t\t請輸入生日:");</p><p>  scanf("%s",&stu[i].birthday);&

54、lt;/p><p>  printf("\t\t\t請輸入QQ號:");</p><p>  scanf("%s",&stu[i].QQ);</p><p>  printf("\t\t\t請輸入電話:");</p><p>  scanf("%s",&

55、;stu[i].telephone);</p><p>  printf("\t\t\t請輸入地址:");</p><p>  scanf("%s",&stu[i].address);</p><p><b>  }</b></p><p>  printf("\

56、n\t\t\t按任意鍵返回:");</p><p><b>  getch();</b></p><p><b>  save();</b></p><p><b>  }</b></p><p>  /*把信息保存為文件到磁盤模塊*/</p><

57、p>  void save()</p><p><b>  {</b></p><p><b>  FILE *fp;</b></p><p><b>  int i,j;</b></p><p>  char chose;</p><p>  f

58、or(j=1;j<20;j++)</p><p><b>  {</b></p><p>  printf("\n\t\t\t確實要進行以上操作?yes or no\n");</p><p>  printf("\n\n\t\t\t\tY\tN\n\n\t\t\t\t ");</p>

59、<p>  scanf("%s",&chose);</p><p>  if(chose=='y'||chose=='Y')</p><p><b>  {</b></p><p><b>  j=30;</b></p><p&g

60、t;  if((fp=fopen("d:\\studentinfo.txt","a+"))==NULL)</p><p><b>  {</b></p><p>  printf("\n\n\t\t\t\t不能建立文件!\n\n\t\t\t\t按任意鍵返回菜單");</p><p>&

61、lt;b>  getch();</b></p><p><b>  return;</b></p><p><b>  }</b></p><p>  for(i=0;i<n;i++)</p><p>  if(fwrite(&stu[i],sizeof(struct

62、 student),1,fp)!=1)</p><p>  printf("\n\n\t\t\t\t文件寫入錯誤!\n");</p><p>  //rewind(fp);</p><p>  fclose(fp);</p><p>  printf("\n\n\n\t\t\t\t操作成功!");&l

63、t;/p><p>  printf("\n\n\t\t\t 按任意鍵返回菜單\n\n\t\t\t\t ");</p><p><b>  getch();</b></p><p><b>  }</b></p><p>  if(chose=='n'||ch

64、ose=='N')</p><p><b>  {</b></p><p><b>  j=30;</b></p><p>  printf("\n\n\t\t\t\t操作已取消\n");</p><p>  printf("\n\n\t\t\t

65、按任意鍵返回菜單\n\n");</p><p><b>  getch();</b></p><p><b>  }</b></p><p>  if(chose!='n'&&chose!='N'&&chose!='y'&&a

66、mp;chose!='Y')</p><p><b>  {</b></p><p>  printf("\n\n\t\t\t\t輸入錯誤!\n");</p><p>  printf("\n\t\t\t\t請重新選擇:\n");</p><p><b>

67、  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  /*打開文件函數(shù)模塊*/</p><p>  int openfile() </p><p><b>  {</b><

68、/p><p><b>  int i=0;</b></p><p><b>  FILE *fp;</b></p><p>  if((fp=fopen("d:\\studentinfo.txt","r+"))==NULL)</p><p><b>  

69、{</b></p><p>  printf("\n\t\t\t\t不能打開文件!\n\n\t\t\t 按任意鍵返回菜單");</p><p><b>  getch();</b></p><p>  printf("\n\n");</p><p>  ret

70、urn -1;</p><p><b>  }</b></p><p>  for(i=0;!feof(fp);i++)</p><p>  fread(&stu[i],sizeof(struct student),1,fp);</p><p>  //rewind(fp);</p><p&

71、gt;  fclose(fp);</p><p>  return(i-1);</p><p><b>  }</b></p><p>  /*查看學生信息模塊*/ /*查看文件中所有的學生信息模塊*/</p><p>  void open_and_see()</

72、p><p><b>  {</b></p><p><b>  int i=0;</b></p><p><b>  FILE *fp;</b></p><p>  if((fp=fopen("d:\\studentinfo.txt","r"

73、))==NULL)</p><p><b>  {</b></p><p>  printf("\n\t\t\t\t不能打開文件!\n\n\t\t\t 按任意鍵返回菜單");</p><p><b>  getch();</b></p><p>  printf(&qu

74、ot;\n\n");</p><p><b>  return;</b></p><p>  } printf("\n 學號 姓名 性別 年齡 生日 QQ號 電話 地址\n\n");</p><p>  printf("---

75、-----------------------------------------------------------------------------\n");</p><p>  for(i=0;!feof(fp);i++)</p><p><b>  {</b></p><p>  stu[i]=stu[150];//先將內(nèi)存

76、中存在的數(shù)據(jù)清空。在讀。</p><p>  fseek(fp,i*sizeof(struct student),SEEK_SET);</p><p>  fread(&stu[i],sizeof(struct student),1,fp);</p><p>  printf(" %-9s%-9s%-6s%-6s%-14s%-12s%-14s%s

77、\n",stu[i].num,stu[i].name,stu[i].sex,stu[i].age,stu[i].birthday,stu[i].QQ,stu[i].telephone,stu[i].address);</p><p><b>  }</b></p><p>  fclose(fp);</p><p>  printf(

78、"\n\n\n\t\t\t 按任意鍵返回菜單:");</p><p><b>  getch();</b></p><p>  printf("\n\n");</p><p><b>  }</b></p><p>  /*刪除學生信息模塊*/</p

79、><p>  void dele() </p><p><b>  {</b></p><p><b>  FILE *fp;</b></p><p>  char chose;</p><p><b>  int i,j;</b></p>&

80、lt;p><b>  char a;</b></p><p>  char name[20];</p><p>  system("color 1f");</p><p>  n=openfile();</p><p>  printf("\n\t\t\t 輸入要刪除學生名字:&qu

81、ot;);</p><p>  scanf("%s",name);</p><p>  printf("\n 學號 姓名 性別 年齡 生日 QQ號 電話 地址\n\n");</p><p>  printf("------------------

82、--------------------------------------------------------------\n");</p><p>  for(i=0;i<n;i++)</p><p>  if(strcmp(stu[i].name,name)==0)</p><p>  break; //注意如果沒有break最后i的值將是10

83、</p><p>  printf(" %-9s%-9s%-6s%-6s%-14s%-12s%-14s%s\n",stu[i].num,stu[i].name,stu[i].sex,stu[i].age,stu[i].birthday,stu[i].QQ,stu[i].telephone,stu[i].address);</p><p><b>  if(i

84、==n)</b></p><p><b>  {</b></p><p>  printf("\n\n\t\t\t\t沒有此人\n\n\t\t\t 按任意鍵返回菜單");</p><p><b>  getch();</b></p><p>  printf(&

85、quot;\n\n");</p><p><b>  return;</b></p><p><b>  }</b></p><p><b>  else</b></p><p>  printf("\n\n\t\t\t 這是第%d個學生",

86、i+1);</p><p>  printf("\n\n\t\t\t是否確定刪除?是就輸入Y\n\n\t\t\t\t ");</p><p>  fflush(stdin);</p><p>  scanf("%c",&a);</p><p>  if(a=='y'||a==

87、'Y')</p><p>  for(;i<n;i++)</p><p>  stu[i]=stu[i+1];//后面的值一個一個覆蓋前面的值</p><p>  printf("\n\n\t\t\t\t刪除成功!\n");</p><p><b>  n=n-1;</b><

88、;/p><p>  fflush(stdin);</p><p>  for(j=1;j<20;j++)</p><p><b>  {</b></p><p>  printf("\n\t\t\t確實要進行以上操作?yes or no\n");</p><p>  prin

89、tf("\n\n\t\t\t\tY\tN\n\n\t\t\t\t ");</p><p>  scanf("%c",&chose);</p><p>  if(chose=='y'||chose=='Y')</p><p><b>  {</b></p&g

90、t;<p><b>  j=30;</b></p><p>  fp=fopen("d:\\studentinfo.txt","w");//一定要先打開文件。</p><p>  for(i=0;i<n;i++)</p><p>  //fwrite(&stu[i],size

91、of(struct student),1,fp);</p><p>  if(fwrite(&stu[i],sizeof(struct student),1,fp)!=1)</p><p>  printf("\n\n\t\t\t\t文件寫入錯誤!\n");</p><p>  //rewind(fp);</p><

92、p>  fclose(fp);</p><p>  printf("\n\n\n\t\t\t\t操作成功!");</p><p>  printf("\n\n\t\t\t 按任意鍵返回菜單:");</p><p>  printf("\n\n");</p><p><

93、;b>  getch();</b></p><p><b>  }</b></p><p>  if(chose=='n'||chose=='N')</p><p><b>  {</b></p><p><b>  j=30;</b

94、></p><p>  printf("\n\n\t\t\t\t操作已取消\n");</p><p>  printf("\n\n\t\t\t 按任意鍵返回菜單:");</p><p><b>  getch();</b></p><p>  printf("

95、\n\n");</p><p><b>  }</b></p><p>  if(chose!='n'&&chose!='N'&&chose!='y'&&chose!='Y')</p><p><b>  {<

96、;/b></p><p>  printf("\n\n\t\t\t\t輸入錯誤!\n");</p><p>  printf("\n\t\t\t\t請重新選擇:\n");</p><p><b>  }</b></p><p><b>  }}</b>

97、;</p><p>  /*按姓名查找模塊*/</p><p>  void find_by_name()</p><p><b>  {</b></p><p>  int i,m=0;</p><p>  char name[20];</p><p>  n=openf

98、ile();</p><p>  printf("\n\t\t\t 輸入要查找學生名字:");</p><p>  scanf("%s",name);</p><p>  printf("\n--------------------------------------------------------------

99、------------------\n\n");</p><p>  printf(" 學號 姓名 性別 年齡 生日 QQ號 電話 地址\n\n");</p><p>  printf("---------------------------------------------

100、-----------------------------------\n");</p><p>  for(i=0;i<n;i++)</p><p>  if(strcmp(stu[i].name,name)==0)</p><p><b>  {</b></p><p><b>  m++;

101、</b></p><p>  printf(" %-9s%-9s%-6s%-6s%-14s%-12s%-14s%s\n",stu[i].num,stu[i].name,stu[i].sex,stu[i].age,stu[i].birthday,stu[i].QQ,stu[i].telephone,stu[i].address);</p><p><b

102、>  } </b></p><p><b>  if(m==0)</b></p><p>  printf("\n\t\t\t\t沒有這人!");</p><p>  printf("\n\n\t\t\t 按任意鍵退出:");</p><p><

103、b>  getch();</b></p><p>  printf("\n\n");</p><p><b>  }</b></p><p>  /*按學號查查模塊*/</p><p>  void find_by_numble()</p><p><b

104、>  {</b></p><p>  int i,m=0;</p><p>  char num[20];</p><p>  n=openfile();</p><p>  printf("\n\t\t\t 輸入要查找學生學號:");</p><p>  scanf("

105、;%s",&num);</p><p>  printf("\n--------------------------------------------------------------------------------\n\n");</p><p>  printf(" 學號 姓名 性別 年齡 生日

106、 QQ號 電話 地址\n\n");</p><p>  printf("-------------------------------------------------------------------------------\n");</p><p>  for(i=0;i<n;i++)</p>&l

107、t;p>  if(strcmp(stu[i].num,num)==0)</p><p><b>  {</b></p><p><b>  m++;</b></p><p>  printf(" %-9s%-9s%-6s%-6s%-14s%-12s%-14s%s\n",stu[i].num,st

108、u[i].name,stu[i].sex,stu[i].age,stu[i].birthday,stu[i].QQ,stu[i].telephone,stu[i].address);</p><p><b>  } </b></p><p><b>  if(m==0)</b></p><p>  printf(

109、"\n\t\t\t\t沒有這人!");</p><p>  printf("\n\n\t\t\t 按任意鍵退出:");</p><p><b>  getch();</b></p><p>  printf("\n\n");}</p><p>  /*按年

110、齡查找模塊*/</p><p>  void find_by_age()</p><p><b>  {</b></p><p>  int i,m=0;</p><p><b>  int a;</b></p><p><b>  char b;</b>

111、;</p><p>  system("color 1f");</p><p>  n=openfile();</p><p>  for(i=1;i<50;i++)</p><p><b>  {</b></p><p>  printf("\n\t\t\t

112、 選擇要查找學生年齡范圍:");</p><p>  printf("\n\t\t\t----------------------------\n");</p><p>  printf("\n\t\t\t\t1. 10--18歲");</p><p>  printf("\n\t\t\t\t2. 19-

113、-25歲");</p><p>  printf("\n\t\t\t\t3. 26--40歲");</p><p>  printf("\n\t\t\t\t4. 40--80歲");</p><p>  printf("\n\t\t\t\t5. 80歲以上");</p><p&

114、gt;  printf("\n\n\t\t\t----------------------------\n\n\t\t\t\t ");</p><p>  scanf("%d",&a);</p><p>  printf("\n--------------------------------------------------

115、------------------------------\n\n");</p><p>  printf(" 學號 姓名 性別 年齡 生日 QQ號 電話 地址\n\n");</p><p>  printf("---------------------------------

116、-----------------------------------------------\n");</p><p><b>  switch(a)</b></p><p><b>  {</b></p><p>  case 1 : for(i=0;i<n;i++)</p><p

117、>  if(strcmp(stu[i].age,"10")>=0&&strcmp(stu[i].age,"18")<=0)</p><p><b>  {</b></p><p><b>  m++;</b></p><p>  printf(&qu

118、ot; %-9s%-9s%-6s%-6s%-14s%-12s%-14s%s\n",stu[i].num,stu[i].name,stu[i].sex,stu[i].age,stu[i].birthday,stu[i].QQ,stu[i].telephone,stu[i].address);}</p><p><b>  if(m==0)</b></p><p&

119、gt;  printf("\n\t\t\t\t沒有這人!\n");break;//break要放在后面。</p><p>  case 2 : for(i=0;i<n;i++)</p><p>  if(strcmp(stu[i].age,"19")>=0&&strcmp(stu[i].age,"25"

120、;)<=0)</p><p><b>  {</b></p><p><b>  m++;</b></p><p>  printf(" %-9s%-9s%-6s%-6s%-14s%-12s%-14s%s\n",stu[i].num,stu[i].name,stu[i].sex,stu[i].a

121、ge,stu[i].birthday,stu[i].QQ,stu[i].telephone,stu[i].address);}</p><p><b>  if(m==0)</b></p><p>  printf("\n\t\t\t\t沒有這人!\n");break;</p><p>  case 3 :for(i=0;i

122、<n;i++)</p><p>  if(strcmp(stu[i].age,"26")>=0&&strcmp(stu[i].age,"40")<=0)</p><p><b>  {</b></p><p><b>  m++;</b></p

123、><p>  printf(" %-9s%-9s%-6s%-6s%-14s%-12s%-14s%s\n",stu[i].num,stu[i].name,stu[i].sex,stu[i].age,stu[i].birthday,stu[i].QQ,stu[i].telephone,stu[i].address);}</p><p><b>  if(m==0)&

124、lt;/b></p><p>  printf("\n\t\t\t\t沒有這人!\n");break;</p><p>  case 4 :for(i=0;i<n;i++)</p><p>  if(strcmp(stu[i].age,"40")>=0&&strcmp(stu[i].age,

125、"80")<=0)</p><p><b>  {</b></p><p><b>  m++;</b></p><p>  printf(" %-9s%-9s%-6s%-6s%-14s%-12s%-14s%s\n",stu[i].num,stu[i].name,stu[i]

126、.sex,stu[i].age,stu[i].birthday,stu[i].QQ,stu[i].telephone,stu[i].address);}</p><p><b>  if(m==0)</b></p><p>  printf("\n\t\t\t\t沒有這人!\n");break;</p><p>  cas

127、e 5 :for(i=0;i<n;i++) </p><p>  if(strcmp(stu[i].age,"80")>0)</p><p><b>  {</b></p><p><b>  m++;</b></p><p>  printf(" %

128、-9s%-9s%-6s%-6s%-14s%-12s%-14s%s\n",stu[i].num,stu[i].name,stu[i].sex,stu[i].age,stu[i].birthday,stu[i].QQ,stu[i].telephone,stu[i].address);}</p><p><b>  if(m==0)</b></p><p>  p

129、rintf("\n\t\t\t\t沒有這人!\n");break;</p><p>  default :printf("\n\t\t\t\t輸入有誤!\n");</p><p><b>  }</b></p><p>  printf("\n\t\t\t 按enter鍵繼續(xù)篩選\n\n

130、\t\t\t 否則返回菜單");</p><p>  fflush(stdin);</p><p>  scanf("%c",&b);</p><p>  if(b=='\n')</p><p><b>  continue;</b></p>

131、<p><b>  else</b></p><p><b>  {</b></p><p>  printf("\n\n");</p><p><b>  break;</b></p><p><b>  }</b><

132、;/p><p><b>  }</b></p><p><b>  }</b></p><p>  /*按學號排序查看模塊*/</p><p>  void find_by_birthday()</p><p><b>  {</b></p>

133、<p><b>  int i,j;</b></p><p>  n=openfile();</p><p>  for(i=0;i<n;i++)</p><p>  for(j=i;j<n;j++)</p><p>  if(strcmp(stu[i].num,stu[j].num)>0)&

134、lt;/p><p><b>  {</b></p><p>  stu[99]=stu[i];</p><p>  stu[i]=stu[j];</p><p>  stu[j]=stu[99];</p><p><b>  }</b></p><p> 

135、 printf("\n--------------------------------------------------------------------------------\n\n");</p><p>  printf(" 學號 姓名 性別 年齡 生日 QQ號 電話 地址\n\n");<

溫馨提示

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

評論

0/150

提交評論