課程設(shè)計(jì)--學(xué)生信息管理系統(tǒng)_第1頁
已閱讀1頁,還剩17頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、<p><b>  目錄</b></p><p>  緒言…………………………………..........3</p><p>  需求分析…………………………………….3</p><p> ?。暴p系統(tǒng)以菜單方式工作;…………….</p><p> ?。博p學(xué)生信息錄入功能—輸入;……….</p>&l

2、t;p>  3﹑學(xué)生信息瀏覽功能-輸出;………</p><p> ?。穿p查詢功能-算法;…………………</p><p>  按學(xué)號查找……………………….</p><p>  按姓名查找……………………….</p><p> ?。旦p學(xué)生信息的刪除與修改………………</p><p>  3. 計(jì)劃與進(jìn)度安排…………

3、……………………...4</p><p>  4.系統(tǒng)設(shè)計(jì)................................................................5</p><p>  1.系統(tǒng)總框架…………………………………….</p><p>  2.設(shè)計(jì)內(nèi)容及要求………………………………. </p><p>  

4、3.模塊設(shè)計(jì)………………………………………..</p><p>  5.運(yùn)行及結(jié)果………………………………………7</p><p>  6.設(shè)計(jì)體會(huì)與建議…………………………………12</p><p>  7.源代碼……………………………………………13</p><p><b>  1.緒言</b></p>

5、<p>  隨著學(xué)校的快速發(fā)展和在校學(xué)生的增多,學(xué)生管理工作變得越來越復(fù)雜,許多工作非常繁瑣,消耗大量的人力物力。比如學(xué)生檔案管理,學(xué)生的姓名﹑出生年月等資料在做了修改后,可能在招辦﹑學(xué)生科﹑財(cái)務(wù)科有同一個(gè)學(xué)生的幾份不同檔案材料,數(shù)據(jù)共享性極差;有的學(xué)生欠費(fèi),財(cái)務(wù)部門也很難及時(shí)發(fā)現(xiàn);有的學(xué)生中途變更學(xué)籍,給教學(xué)管理工作帶來不便。</p><p><b>  2.需求分析</b>&

6、lt;/p><p>  用C實(shí)現(xiàn)學(xué)生信息管理系統(tǒng),學(xué)生信息包括:學(xué)號﹑姓名﹑性別﹑地址﹑出生年月﹑電話﹑E-mail等。該系統(tǒng)主要有以下功能:</p><p> ?。暴p系統(tǒng)以菜單方式工作;</p><p> ?。博p學(xué)生信息錄入功能—輸入;</p><p> ?。畅p學(xué)生信息瀏覽功能-輸出;</p><p> ?。穿p查詢功能-

7、算法;</p><p><b>  按學(xué)號查找</b></p><p><b>  按姓名查找</b></p><p> ?。旦p學(xué)生信息的刪除與修改。</p><p>  3.計(jì)劃與進(jìn)度安排:</p><p>  第八周:小組成員一起制定計(jì)劃完成對該系統(tǒng)的模塊功能函數(shù)的編&l

8、t;/p><p>  寫,計(jì)劃主要由我負(fù)責(zé)前。 </p><p>  三個(gè)模塊功能函數(shù)的編寫;王濤負(fù)責(zé)查詢功能函數(shù)的編寫;解淼負(fù)責(zé)學(xué)生信息的刪除與修改功能函數(shù)的編寫。最后我們共同負(fù)責(zé)主函數(shù)的編寫。</p><p>  第九周~第十二周:小組成員分別就自己的任務(wù)完成五個(gè)函數(shù)功能,這幾周根據(jù)完成情況,大家可以獨(dú)立完成,完成較快的人也可以幫助未完成的人,爭取較短的時(shí)間編出一個(gè)

9、基本的框架;</p><p>  第十三周~第十四周:完善五個(gè)功能函數(shù)并嘗試對主函數(shù)程序的編寫。下面幾周都是對程序一個(gè)總的編寫與設(shè)計(jì),相對來說,比較難,事情比較細(xì)膩,所以要實(shí)現(xiàn)以上功能,所耗時(shí)間較長。爭取在規(guī)定的時(shí)間里完成。</p><p><b>  4.系統(tǒng)設(shè)計(jì)</b></p><p><b>  1.系統(tǒng)總框架</b>

10、;</p><p>  2.設(shè)計(jì)內(nèi)容及要求 </p><p>  設(shè)計(jì)編寫一個(gè)學(xué)生基本信息管理系統(tǒng),主要管理學(xué)生基本信息。</p><p>  1.建立學(xué)生信息,每個(gè)學(xué)生信息包括姓名,學(xué)號,年齡,電話號碼,</p><p><b>  生日,籍貫。</b></p><p>  2.通過輸入功能函數(shù)

11、,用戶可以錄入學(xué)生基本信息。</p><p>  3.排序:按年齡大小排序。</p><p>  4.查找:分別按學(xué)號查找函數(shù)或姓名查找函數(shù)查找。</p><p>  5.刪除:建立按姓名刪除函數(shù)刪除學(xué)生信息。</p><p>  6.插入:建立插入函數(shù)插入學(xué)生信息。</p><p>  7.輸出:建立顯示函數(shù)輸出學(xué)生

12、信息。</p><p>  8.實(shí)現(xiàn)簡單的菜單調(diào)用。</p><p><b>  3.模塊設(shè)計(jì)</b></p><p><b>  模塊一:</b></p><p>  頭文件,變量定義,函數(shù)的聲明對系統(tǒng)所使用的變量進(jìn)行定義,</p><p><b>  對函數(shù)進(jìn)行

13、聲明。</b></p><p><b>  模塊二:</b></p><p>  結(jié)構(gòu)體的建立,定義學(xué)生的學(xué)號,姓名,年齡等基本信息。</p><p><b>  模快三:</b></p><p>  void shuru( )定義了輸入函數(shù)</p><p>  

14、void xianshi( ) 定義了輸出函數(shù)</p><p>  void anxingmingchazhao( ) 定義了按姓名查找函數(shù)</p><p>  void anxuehaochazhao( ) 定義了按學(xué)號查找函數(shù)</p><p>  void chazhao( ) 定義了查找函數(shù),通過調(diào)用void anxingmingchazhao(</p&

15、gt;<p>  )和void anxuehaochazhao( )函數(shù)來實(shí)現(xiàn)查找函數(shù)。</p><p>  void shanchu( ) 定義了刪除函數(shù)。</p><p>  void paixu( )定義了按年齡從大到小的排序函數(shù)。</p><p>  void charu( ) 定義了插入函數(shù),調(diào)用了void paixu( )和void shu

16、ru( )</p><p><b>  函數(shù)。</b></p><p>  switch(change)設(shè)定用學(xué)號查找,用姓名查找兩個(gè)分支。</p><p>  fflush(stdin)清除緩存函數(shù),起清屏作用。</p><p><b>  5.運(yùn)行及結(jié)果</b></p><p

17、><b>  學(xué)生信息管理系統(tǒng)</b></p><p><b>  菜單選擇</b></p><p><b>  學(xué)生信息的輸入</b></p><p><b>  學(xué)生信息的輸出</b></p><p><b>  學(xué)生信息的查找<

18、/b></p><p><b>  1.按姓名查找</b></p><p><b>  2.按學(xué)號查找</b></p><p><b>  學(xué)生信息的刪除</b></p><p><b>  學(xué)生信息的插入</b></p><p&

19、gt;<b>  插入后顯示</b></p><p>  退出學(xué)生信息管理系統(tǒng)</p><p><b>  6.設(shè)計(jì)體會(huì)與建議</b></p><p>  這次的《學(xué)生信息管理系統(tǒng)》的設(shè)計(jì)中,使我懂得課堂上的知識,必須要通過實(shí)踐操作才能掌握。在練習(xí)中,遇到一些問題,需要具體分析, 具體操作,不斷調(diào)試。在這過程中,遇到過很多

20、問題。剛編寫程序時(shí),總是出錯(cuò),經(jīng)過不斷地調(diào)試后來解決了。通過這次的設(shè)計(jì),我發(fā)現(xiàn)了自身知識的欠缺,上機(jī)操作的經(jīng)驗(yàn)不足,以及粗心。比如,一些錯(cuò)誤不知道怎么改,后來同學(xué)討論后才調(diào)試成功,還有字符串的比較都不熟,有時(shí)掉了地址符等等。雖然有很多欠缺,但在這過程中我也受益良多,感覺自己對程序的處理越來越清晰。在調(diào)試過程中,我發(fā)現(xiàn)有時(shí)一個(gè)小小的錯(cuò)誤也會(huì)給程序帶來很大的麻煩,所以以后應(yīng)該更加細(xì)心,多多操作,積累經(jīng)驗(yàn)。</p><p&

21、gt;<b>  7.源代碼</b></p><p>  #include<stdio.h> </p><p>  #include<stdlib.h> </p><p>  #include<conio.h> </p><p>  #include<string.h> &

22、lt;/p><p>  struct student{ </p><p><b>  int id; </b></p><p>  char name[10]; </p><p><b>  int age; </b></p><p>  char sex[10]; </p

23、><p>  char birthady[20]; </p><p><b>  int tel; </b></p><p>  char nativeplace[50]; </p><p><b>  }st[50];</b></p><p><b>  int i=

24、0; </b></p><p>  void shuru() { </p><p><b>  char a; </b></p><p><b>  do{ </b></p><p>  printf("\n請輸入學(xué)號:"); </p><p>

25、;  scanf("%d",&st[i].id); </p><p>  fflush(stdin);</p><p>  printf("請輸入姓名:"); </p><p>  gets(st[i].name); </p><p>  printf("請輸入年齡:");

26、</p><p>  scanf("%d",&st[i].age); </p><p>  fflush(stdin); </p><p>  printf("請輸入姓別:"); </p><p>  gets(st[i].sex); </p><p>  fflush(

27、stdin); </p><p>  printf("請輸入生日:"); </p><p>  gets(st[i].birthady); </p><p>  printf("請輸入電話:"); </p><p>  scanf("%d",&st[i].tel); <

28、/p><p>  fflush(stdin); </p><p>  printf("請輸入籍貫:"); </p><p>  gets(st[i].nativeplace); </p><p>  printf("是否繼續(xù)輸入另外一個(gè)學(xué)生信息?(y/n)"); </p><p> 

29、 fflush(stdin); </p><p>  a=getchar(); </p><p><b>  i++; </b></p><p>  }while(a=='y' && i<=50); </p><p><b>  } </b></p>

30、<p>  void xianshi() </p><p><b>  { </b></p><p><b>  int j;</b></p><p>  printf("\n");</p><p>  printf("學(xué)號\t\t姓名\t年齡\t性別\t

31、生日\t\t電話\t\t籍貫\n"); </p><p>  for(j=0;j<i;j++) </p><p>  printf("%d\t%s\t%d\t%s\t%s\t%d\t%s\n", </p><p>  st[j].id,st[j].name,st[j].age,st[j].sex,st[j].birthady,st

32、[j].tel,st[j].nativeplace); </p><p><b>  } </b></p><p>  void paixu() //按年齡從大到小排序函數(shù) </p><p><b>  { </b></p><p><b>  int j,k; </b><

33、;/p><p>  int temp; </p><p>  for(j=0;j<i;j++) </p><p><b>  { </b></p><p>  for(k=0;k<i-1-j;k++) </p><p><b>  { </b></p>

34、<p>  if(st[k].age<st[k+1].age) </p><p><b>  { </b></p><p>  temp=st[k].age; </p><p>  st[k].age=st[k+1].age; </p><p>  st[k+1].age=temp; </p>

35、<p><b>  } </b></p><p><b>  } </b></p><p><b>  } </b></p><p>  xianshi(); //排序后輸出 </p><p><b>  } </b></p>

36、<p>  void anxingmingchazhao() </p><p><b>  { </b></p><p><b>  int m; </b></p><p>  char name[20],b; </p><p><b>  do </b></p

37、><p><b>  { </b></p><p>  printf("\n請輸入想查找的學(xué)生姓名:"); </p><p>  fflush(stdin); </p><p>  gets(name); </p><p>  for(m=0;m<i;m++) </p&

38、gt;<p><b>  { </b></p><p>  if(strcmp(name,st[m].name)==0) </p><p><b>  { </b></p><p>  printf("\n\t您查找的學(xué)生在第%d個(gè)位置找到了!!!\n",m+1); </p>

39、<p><b>  break; </b></p><p><b>  } </b></p><p><b>  } </b></p><p>  if(m>=20) </p><p>  printf("\n\t沒有找到這個(gè)學(xué)生!!!\n"

40、;); </p><p><b>  else </b></p><p><b>  { </b></p><p>  printf("學(xué)號\t\t姓名\t年齡\t性別\t生日\t\t電話\t\t籍貫\n"); </p><p>  printf("%d\t%s\t%d

41、\t%s\t%s\t%d\t%s\n", </p><p>  st[m].id,st[m].name,st[m].age,st[m].sex,st[m].birthady,st[m].tel,st[m].nativeplace); </p><p><b>  } </b></p><p>  printf("\n是否查找

42、另一個(gè)學(xué)生的信息?(y/n)"); </p><p>  fflush(stdin); </p><p>  b=getchar(); </p><p>  }while(b=='y'); </p><p><b>  } </b></p><p>  void anxu

43、ehaochazhao()</p><p>  {int id,m;</p><p><b>  char b;</b></p><p><b>  do</b></p><p>  {printf("\n請輸入想查找的學(xué)生學(xué)號:");</p><p> 

44、 fflush(stdin);</p><p>  scanf("%d",&id);</p><p>  for(m=0;m<i;m++)</p><p>  {if(id=st[m].id)</p><p><b>  {</b></p><p>  print

45、f("\n\t您查找的學(xué)生在第%d個(gè)位置找到了!!!\n",m+1); </p><p><b>  break; </b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  if(m>

46、;20)</b></p><p>  printf("\n\t沒有找到這個(gè)學(xué)生!!!\n"); </p><p><b>  else </b></p><p><b>  { </b></p><p>  printf("學(xué)號\t\t姓名\t年齡\t性別\

47、t生日\t\t電話\t\t籍貫\n"); </p><p>  printf("%d\t%s\t%d\t%s\t%s\t%d\t%s\n", </p><p>  st[m].id,st[m].name,st[m].age,st[m].sex,st[m].birthady,st[m].tel,st[m].nativeplace); </p>&l

48、t;p><b>  } </b></p><p>  printf("\n是否查找另一個(gè)學(xué)生的信息?(y/n)"); </p><p>  fflush(stdin); </p><p>  b=getchar(); </p><p>  }while(b=='y'); <

49、/p><p><b>  }</b></p><p>  void chazhao() </p><p>  { int change;</p><p>  printf("\n\t\t\t\t請輸入查找類型:\n");</p><p>  printf("\t\t\t

50、\t1:按姓名查找\n");</p><p>  printf("\t\t\t\t2:按學(xué)號查找\n");</p><p>  fflush(stdin); </p><p>  printf("\t\t\t\t請輸入功能選項(xiàng):"); </p><p>  scanf("%d&quo

51、t;,&change); </p><p>  switch(change)</p><p><b>  {</b></p><p><b>  case 1:</b></p><p>  anxingmingchazhao();break;</p><p><

52、b>  case 2:</b></p><p>  anxuehaochazhao();break;</p><p><b>  } </b></p><p><b>  }</b></p><p>  void shanchu() </p><p>&l

53、t;b>  { </b></p><p>  char name[20],c; </p><p><b>  int a,b; </b></p><p><b>  do </b></p><p><b>  { </b></p><p&g

54、t;  printf("\n請輸入要?jiǎng)h除的學(xué)生姓名:"); </p><p>  fflush(stdin); </p><p>  gets(name); </p><p>  for(a=0;a<i;a++) </p><p><b>  { </b></p><p>

55、;  if(strcmp(name,st[a].name)==0) </p><p><b>  break; </b></p><p><b>  } </b></p><p>  for(b=a;b<i;b++) </p><p>  st[b]=st[b+1]; </p>

56、<p><b>  if(a>i) </b></p><p>  printf("\t沒有找到這個(gè)學(xué)生!!!\n"); </p><p><b>  else </b></p><p><b>  { </b></p><p><b&g

57、t;  i--; </b></p><p>  xianshi(); </p><p><b>  } </b></p><p>  printf("\n是否繼續(xù)刪除另一個(gè)學(xué)生信息?(y/n) "); </p><p>  fflush(stdin); </p><p&

58、gt;  c=getchar(); </p><p>  }while(c=='y'); </p><p><b>  } </b></p><p>  void charu() </p><p><b>  { </b></p><p><b> 

59、 shuru(); </b></p><p><b>  paixu(); </b></p><p><b>  } </b></p><p>  void main() //主函數(shù) </p><p><b>  { </b></p><p>

60、;  int change; </p><p><b>  do{ </b></p><p>  system("cls"); </p><p>  printf("================================學(xué)生信息管理系統(tǒng)================================\n&

61、quot;); </p><p>  printf("\t\t\t\t1:輸入學(xué)生信息\n"); </p><p>  printf("\t\t\t\t2:顯示學(xué)生信息\n"); </p><p>  printf("\t\t\t\t3:查找學(xué)生信息\n"); </p><p>  

62、printf("\t\t\t\t4:刪除學(xué)生信息\n"); </p><p>  printf("\t\t\t\t5:插入學(xué)生信息\n"); </p><p>  printf("\t\t\t\t6:退出程序\n"); </p><p>  fflush(stdin); </p><p&

63、gt;  printf("\t\t\t\t請輸入功能選項(xiàng):"); </p><p>  scanf("%d",&change); </p><p>  switch(change) </p><p><b>  { </b></p><p><b>  case

64、1: </b></p><p>  shuru(); break; </p><p><b>  case 2: </b></p><p>  xianshi(); break; </p><p><b>  case 3: </b></p><p>  chaz

65、hao(); break; </p><p><b>  case 4: </b></p><p>  shanchu(); break; </p><p><b>  case 5: </b></p><p>  charu(); break; </p><p><b

66、>  case 6: </b></p><p><b>  break; </b></p><p><b>  } </b></p><p><b>  getch(); </b></p><p>  }while(change!=6); </p>

溫馨提示

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

評論

0/150

提交評論