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

下載本文檔

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

文檔簡介

1、<p>  《軟件工程》課程設(shè)計</p><p>  題 目 學(xué)生信息管理系統(tǒng) </p><p>  班 級 </p><p>  學(xué) 生 </p><p>  學(xué) 號

2、 </p><p>  設(shè)計時間 </p><p><b>  目 錄</b></p><p>  一. 程序分析與設(shè)計3</p><p><b>  二.設(shè)計流程圖6</b></p><p>  三. 源程序清單9<

3、;/p><p><b>  四.調(diào)試過程14</b></p><p>  五.程序有待改進(jìn)的地方18</p><p>  六. 本次實習(xí)的收獲和建議18</p><p><b>  參考文獻(xiàn)19</b></p><p><b>  學(xué)生信息管理系統(tǒng)</b&

4、gt;</p><p>  一. 程序分析與設(shè)計</p><p>  該系統(tǒng)是幫助管理學(xué)生信息的軟件,要求用戶輸入用戶名和密碼登錄進(jìn)入學(xué)生信息管理系統(tǒng),從而實現(xiàn)對學(xué)生個人信息的管理工作,通過對學(xué)生基本信息的設(shè)置,完成添加、刪除、修改、瀏覽等功能,并可以通過學(xué)號對所需要的學(xué)生信息進(jìn)行查詢,從而方便學(xué)校管理部門對學(xué)生信息的基本情況的快速查詢和了解。</p><p>  

5、基本功能: 添加功能:管理員可以添加學(xué)生相關(guān)信息;</p><p>  修改功能:管理員可以對數(shù)據(jù)庫中信息進(jìn)行修改,系統(tǒng)能夠通過管理員給粗的條件查找出所要修改的信息,對修改后的信息進(jìn)行保存;</p><p>  刪除功能:管理員可以對數(shù)據(jù)進(jìn)行刪除操作。系統(tǒng)能夠通過管理員給出的條件查找出要刪除的信息,并把相關(guān)信息從數(shù)據(jù)庫中刪除掉;</p><p>  瀏覽功能

6、:在不知道學(xué)生學(xué)號的時候可以使用該功能來查閱所有的學(xué)生信息;</p><p>  查詢功能:可以對學(xué)生信息按條件進(jìn)行查詢。</p><p>  1:變量和結(jié)構(gòu)體說明 </p><p>  學(xué)生信息的結(jié)構(gòu)體如下:</p><p>  struct studentinfo //定義一個學(xué)生結(jié)構(gòu)體<

7、/p><p><b>  {</b></p><p>  char sno[10]; //學(xué)生的學(xué)號</p><p>  char sname[10]; //學(xué)生的姓名</p><p>  char sex[10];

8、 //學(xué)生的性別</p><p>  int age[10]; //學(xué)生的年齡</p><p>  char sminzu[10]; //學(xué)生的民族</p><p>  char add [10]; //學(xué)生的家庭住址</p><p><

9、;b>  };</b></p><p>  struct studentinfo students[10]; //定義一個有10個學(xué)生的結(jié)構(gòu)體</p><p>  void login(); //用戶登錄界面</p><p>  void addinfo();

10、 //添加函數(shù)</p><p>  void modifyinfo(); //修改函數(shù)</p><p>  void deleteinfo(); //刪除函數(shù)</p><p>  int searchinfo(); /

11、/查找函數(shù)</p><p>  void showmainmenu(); //主菜單</p><p>  int liulaninfo()//瀏覽函數(shù)</p><p>  2)存放學(xué)生的信息的變量如下:</p><p>  struct studentinfo students[10]; //

12、定義10個學(xué)生 </p><p>  int lastpos //學(xué)生人數(shù)</p><p><b>  2: 概要設(shè)計</b></p><p>  定義結(jié)構(gòu)體數(shù)組用來存放學(xué)生的信息</p><p>  學(xué)生信息存放在中,文件格式如下:</p><

13、;p>  學(xué)生人數(shù)—長度為10</p><p>  第1個學(xué)生的信息-----長度為sizeof(student)</p><p>  第2個學(xué)生的信息-----長度為sizeof(student)</p><p><b>  。。。。。。</b></p><p>  第n個學(xué)生的信息-----長度為sizeof(

14、student)</p><p>  添加學(xué)生信息的過程如下:</p><p>  用戶進(jìn)入主界面后,輸入要添加學(xué)生的學(xué)號,姓名,性別,年齡,民族,住址。采用addinfo函數(shù)</p><p>  修改學(xué)生信息的過程如下:</p><p>  先輸入要修改信息的學(xué)生的學(xué)號,然后在根據(jù)要修改的內(nèi)容輸入對應(yīng)的編號,采用modifyinfo函數(shù)&l

15、t;/p><p>  5)刪除學(xué)生信息的過程如下:</p><p>  先輸入要刪除信息的學(xué)生的學(xué)號,然后再刪除</p><p>  6)查找學(xué)生信息的過程如下:</p><p>  先輸入要查找信息的學(xué)生的學(xué)號,然后顯示出學(xué)生的信息</p><p>  7)瀏覽學(xué)生信息過程。</p><p>  

16、8)程序采用菜單的形式顯示,用戶可以輸入選擇進(jìn)行操作</p><p><b>  設(shè)計流程圖</b></p><p><b>  功能模塊圖如下:</b></p><p><b>  源程序清單</b></p><p>  #include<stdio.h><

17、/p><p>  #include <windows.h></p><p>  #include <string.h></p><p>  #include <conio.h></p><p>  struct studentinfo</p><p><b>  {</b

18、></p><p>  char sno[10];</p><p>  char sname[10];</p><p>  char sex[5];</p><p>  int age[2];</p><p>  char sminzu[5];</p><p>  char add[4

19、0];</p><p><b>  };</b></p><p>  struct studentinfo students[10];</p><p>  int lastpos;</p><p>  void login();</p><p>  void addinfo();</p>

20、;<p>  void modifyinfo();</p><p>  void deleteinfo();</p><p>  int searchinfo();</p><p>  int liulaninfo();</p><p>  void showmainmenu();</p><p>  v

21、oid start();</p><p>  void main()</p><p><b>  {</b></p><p><b>  login();</b></p><p><b>  }</b></p><p>  void start()<

22、;/p><p><b>  {</b></p><p>  int select=0;</p><p>  showmainmenu();</p><p>  scanf("%d",&select);</p><p>  printf("\n");<

23、;/p><p>  while(select!=6)</p><p><b>  {</b></p><p>  system("cls");</p><p>  switch(select)</p><p><b>  {</b></p>&l

24、t;p><b>  case 1:</b></p><p>  addinfo();break;</p><p><b>  case 2:</b></p><p>  deleteinfo();break; </p><p><b>  case 3:</b></

25、p><p>  modifyinfo();break;</p><p><b>  case 4:</b></p><p>  searchinfo();break;</p><p><b>  case 5:</b></p><p>  liulaninfo();break;

26、</p><p>  printf("任意鍵返回\n");</p><p>  scanf(" %c",&select);</p><p><b>  }</b></p><p>  showmainmenu();</p><p>  scanf(&

27、quot;%d",&select);</p><p><b>  }</b></p><p><b>  }</b></p><p>  void login()</p><p><b>  {</b></p><p>  int i=

28、0,j=0;</p><p>  char sname[10],spwd[10],c;</p><p>  for(i=0;i<3;i++)</p><p><b>  {</b></p><p>  printf("請輸入用戶名:");</p><p>  scanf(

29、"%s",sname);</p><p>  printf("請輸入密碼:");</p><p>  while((c=getch())!=13)</p><p><b>  {</b></p><p>  spwd[j++]=c;</p><p>

30、  putchar('*');</p><p><b>  }</b></p><p>  spwd[j]='\0';</p><p>  if(strcmp(sname,"sa")==0 && strcmp(spwd,"1")==0)</p>

31、<p><b>  {</b></p><p>  system("cls");</p><p><b>  start();</b></p><p><b>  }else</b></p><p><b>  {</b>

32、</p><p>  printf("\n你輸入的用戶名或密碼錯誤,請重新輸入!\n");</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  exit(0);</b></p><p

33、><b>  }</b></p><p>  void addinfo()</p><p><b>  {</b></p><p>  int i=lastpos;</p><p>  printf("請輸入學(xué)生的學(xué)號:");</p><p>  s

34、canf("%s",students[i].sno);</p><p>  printf("請輸入學(xué)生的姓名:");</p><p>  scanf("%s",students[i].sname);</p><p>  printf("請輸入學(xué)生的性別:");</p>&l

35、t;p>  scanf("%s",students[i].sex);</p><p>  printf("請輸入學(xué)生的年齡:");</p><p>  scanf("%s",students[i].age);</p><p>  printf("請輸入學(xué)生的民族:");</p

36、><p>  scanf("%s",students[i].sminzu);</p><p>  printf("請輸入學(xué)生的家庭住址:");</p><p>  scanf("%s",students[i].add);</p><p>  lastpos++;</p>&

37、lt;p>  printf("您輸入的信息為: 學(xué)號: %s 姓名: %s 性別: %s 年齡: %s 民族: %s 家庭住址: %s\n ",students[i].sno,students[i].sname,students[i].sex,students[i].age,students[i].sminzu,students[i].add);</p><p><b&g

38、t;  }</b></p><p>  void modifyinfo()</p><p><b>  {</b></p><p>  char num[10] = {0};</p><p>  int i = 0;</p><p>  printf("請輸入要修改的學(xué)生學(xué)號

39、:\n");</p><p>  scanf("%s",num);</p><p>  for(i=0;i<10;i++)</p><p><b>  {</b></p><p>  if(!strcmp(num,students[i].sno))</p><p&g

40、t;<b>  break;</b></p><p><b>  }</b></p><p>  printf("信息為: 學(xué)號: %s 姓名: %s \n ",students[i].sno,students[i].sname);</p><p>  printf("信息為: 性別: %s

41、 年齡: %s \n ",students[i].sex,students[i].age);</p><p>  printf("信息為: 民族: %s 家庭住址: %s \n ",students[i].sminzu,students[i].add);</p><p>  printf("請輸入新的學(xué)生學(xué)號:");</p>

42、<p>  scanf("%s",students[i].sno);</p><p>  printf("請輸入新的學(xué)生姓名:");</p><p>  scanf("%s",students[i].sname);</p><p>  printf("請輸入新的學(xué)生年齡:"

43、);</p><p>  scanf("%s",students[i].age);</p><p>  printf("請輸入新的學(xué)生民族:");</p><p>  scanf("%s",students[i].sminzu);</p><p>  printf("請輸入

44、新的學(xué)生家庭住址:");</p><p>  scanf("%s",students[i].add);</p><p>  printf("信息為: 學(xué)號: %s 姓名: %s \n ",students[i].sno,students[i].sname);</p><p>  printf("信息為:

45、性別: %s 年齡: %s \n ",students[i].sex,students[i].age);</p><p>  printf("信息為: 民族: %s 家庭住址: %s \n ",students[i].sminzu,students[i].add);</p><p><b>  }</b></p><

46、;p>  void deleteinfo()</p><p><b>  {</b></p><p>  char num[10] = {0};</p><p>  int i = 0;</p><p>  printf("請輸入要刪除的學(xué)生學(xué)號:\n");</p><p&g

47、t;  scanf("%s",num);</p><p>  for(i=0;i<10;i++)</p><p><b>  {</b></p><p>  if(!strcmp(num,students[i].sno))</p><p><b>  break;</b>&

48、lt;/p><p><b>  }</b></p><p>  for(;i<9;i++)</p><p><b>  {</b></p><p>  students[i] = students[i+1];</p><p><b>  }</b>&l

49、t;/p><p><b>  }</b></p><p>  int searchinfo()</p><p><b>  {</b></p><p>  char num[10] = {0};</p><p>  int i = 0;</p><p> 

50、 system ("cls");</p><p>  printf("請輸入要查詢的學(xué)生學(xué)號:\n");</p><p>  scanf("%s",num);</p><p>  for(i=0;i<10;i++)</p><p><b>  {</b>&

51、lt;/p><p>  if(!strcmp(num,students[i].sno))</p><p><b>  break;</b></p><p><b>  }</b></p><p>  printf("您查找的學(xué)生信息為: 學(xué)號: %s 姓名: %s 性別: %s 年齡:%

52、s 民族:%s 家庭地址:%s\n ",students[i].sno,students[i].sname,students[i].sex,students[i].age,students[i].sminzu,students[i].add);</p><p><b>  return 0;</b></p><p><b>  }<

53、;/b></p><p>  int liulaninfo()</p><p><b>  {</b></p><p>  int i = 0;</p><p>  printf("學(xué)號 姓名 性別 年齡 民族 地址\n");</p

54、><p>  for(i=0;i<lastpos;i++)</p><p><b>  {</b></p><p>  printf("%s %s %s %s %s %s \n",students[i].sno,students[i].snam

55、e,students[i].sex,students[i].age,students[i].sminzu,students[i].add);</p><p><b>  }</b></p><p><b>  return 0;</b></p><p><b>  }</b></p>&

56、lt;p>  void showmainmenu()</p><p><b>  {</b></p><p>  printf("\n");</p><p>  printf(" ★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★★☆★☆★\n");</p>

57、<p>  printf(" * *\n");</p><p>  printf(" * 學(xué) 生 信 息 管 理 系 統(tǒng) *\n");&

58、lt;/p><p>  printf(" * *\n");</p><p>  printf(" * 作者 :單美麗

59、*\n");</p><p>  printf(" * *\n");</p><p>  printf(" ☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆☆★☆★☆★☆★☆\n");

60、</p><p>  printf(" * *\n");</p><p>  printf(" * 1、添加學(xué)生信息 2、刪除學(xué)生信息 *\n&quo

61、t;);</p><p>  printf(" * *\n");</p><p>  printf(" * 3、修改學(xué)生信息 4、查詢學(xué)生信息 *\n

62、");</p><p>  printf(" * *\n");</p><p>  printf(" * 5、瀏覽學(xué)生信息 6、退出

63、 *\n");</p><p>  printf(" * *\n");</p><p>  printf(" *

64、 *\n");</p><p>  printf(" * *\n");</p><p>  printf(" ☆★☆★☆★☆★☆★☆★☆★☆☆★

65、☆★☆★☆★☆★☆★☆★☆\n"); //用戶界面</p><p>  printf("\n");</p><p>  printf(" 請選擇您需要的操作序號(1-6)按回車確認(rèn):\n");</p><p><b>  }</b></p>

66、<p><b>  調(diào)試過程</b></p><p><b>  1、用戶登錄如下:</b></p><p>  輸入用戶或密碼錯誤:錯誤不可超過3次</p><p>  2、系統(tǒng)菜單如下:有添加學(xué)生信息,修改學(xué)生信息,刪除學(xué)生信息,查找學(xué)生信息、瀏覽學(xué)生信息功能。用戶根據(jù)自己要進(jìn)行的項目,輸入1-5編號,<

67、;/p><p>  添加學(xué)生信息的功能操作方法如下:</p><p><b>  輸入的學(xué)生信息:</b></p><p>  瀏覽學(xué)生信息的功能操作方法如下:</p><p>  瀏覽的所有信息如下:</p><p>  5、刪除學(xué)生信息的功能操作方法如下:</p><p>

68、<b>  刪除后的學(xué)生信息:</b></p><p>  修改學(xué)生信息的功能操作方法如下:</p><p>  查找學(xué)生信息功能操作方法如下:</p><p><b>  程序有待改進(jìn)的地方</b></p><p>  頁面顯示出來的效果不是太好,總是不能對齊;登錄功能也有欠缺的地方;查詢功能只可

69、以按學(xué)號查,不太全面。</p><p>  六. 本次實習(xí)的收獲和建議</p><p>  課程設(shè)計是培養(yǎng)學(xué)生綜合應(yīng)用所學(xué)知識,發(fā)現(xiàn),提出,分析和解決實際問題,鍛煉實踐能力的重要環(huán)節(jié),是對學(xué)生實際工作能力的具體訓(xùn)練和考察過程?;仡欉@次課程設(shè)計,至今我仍感慨很多,從拿到題目到完成編程整整一個星期,在這一個星期的日子里,可以學(xué)到很多東西,不僅可以鞏固以前學(xué)過的知識,也可以學(xué)到很多書本上沒有的東

70、西。通過這次課程設(shè)計使我懂得了理論知識與實踐結(jié)合的重要性,只是理論和知識遠(yuǎn)遠(yuǎn)不夠,只有把所學(xué)的理論知識與實踐結(jié)合起來,才能實現(xiàn)。從而提高自己的動手能力。在設(shè)計的過程中遇到很多的問題,但只要靜下心都可以解決。</p><p>  這次的課程設(shè)計,使我更加的體會到很多看很多專業(yè)書是很重要的,只有掌握了一定得專業(yè)知識才能得心應(yīng)手的解決很多問題,另外,在做任何事都要有耐心,不要一遇到困難就退縮。</p>&

溫馨提示

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

評論

0/150

提交評論