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

下載本文檔

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

文檔簡介

1、<p>  *******************</p><p><b>  實踐教學</b></p><p>  *******************</p><p><b>  計算機與通信學院</b></p><p><b>  2011年春季學期</b>&

2、lt;/p><p>  C程序設計 課程設計</p><p>  題 目:學生信息管理系統(tǒng)</p><p><b>  專業(yè)班級: </b></p><p>  姓 名: </p><p>  學 號: </p><p>  指導教師:

3、 </p><p>  成 績:_____________ __</p><p><b>  摘 要</b></p><p>  學生信息管理系統(tǒng)是一個教育單位不可缺少的部分,它的內(nèi)容對于學校的決策者和管理者來說都至關重要,所以學生成績管理系統(tǒng)應該能夠為用戶提供充足的信息和快捷的查詢手段。此系統(tǒng)具有查詢方便快捷,用簡單的界

4、面來展示學生信息,應用簡單明了、存儲量大、可靠性高、保密性好、壽命長、成本低等優(yōu)點,可以極大的提高對學生信息管理的效率。利用C語言開發(fā),實現(xiàn)了簡單的學生基本信息的錄入、修改、查詢、刪除等操作,并且能夠利用文件系統(tǒng)長久的保留原始數(shù)據(jù)。</p><p><b>  目 錄</b></p><p><b>  一、需求分析4</b></p&g

5、t;<p><b>  二、總體設計5</b></p><p><b>  三、詳細設計6</b></p><p><b>  1.模塊設計6</b></p><p><b>  2.算法流程圖7</b></p><p><b&

6、gt;  四、編碼10</b></p><p><b>  五、測試11</b></p><p><b>  六、設計總結15</b></p><p><b>  致謝17</b></p><p><b>  參考文獻18</b>&l

7、t;/p><p><b>  需求分析</b></p><p>  設計一個學生成績管理系統(tǒng),對上學期的本班的學習成績進行管理,具有查詢和檢索功能,并且能夠對指定文件操作,也可將多個文件組成一個文件。</p><p><b>  主要功能:</b></p><p><b>  1、鍵入學生信息

8、</b></p><p><b>  2、查看錄入的信息</b></p><p><b>  3、按姓名查看信息</b></p><p><b>  4、按學號查看信息</b></p><p><b>  5、按平均成績排序</b></p

9、><p><b>  6、刪除信息</b></p><p><b>  7、保存信息</b></p><p><b>  8、讀取文件</b></p><p><b>  9、我的個人信息</b></p><p><b>  

10、0、退出</b></p><p><b>  二、總體設計</b></p><p>  根據(jù)需求分析,為了實現(xiàn)系統(tǒng)功能,我確定圖書信息管理系統(tǒng)總體模塊如圖所示。</p><p> ?。▓D) 學生信息管理系統(tǒng)功能模塊圖</p><p><b>  三、詳細設計</b></p>

11、<p><b>  1.模塊設計 </b></p><p>  模塊一:頭文件,變量定義,函數(shù)的聲明 </p><p>  對系統(tǒng)所使用的變量進行定義,對函數(shù)進行聲明 </p><p>  模塊二:學生信息系統(tǒng)使用幫助 </p><p>  聲明函數(shù)void help(),對整個系統(tǒng)進行使用說明 </p

12、><p>  模塊三:錄入學生信息 </p><p>  聲明函數(shù)void readfile(),說明一個文件指針FILE *fp 打開文件"student.txt" </p><p>  模塊四:學生信息的查找 </p><p>  聲明void seek()為查找函數(shù),通過switch(item)設定用學號查找,用姓名查找

13、兩個分支 </p><p>  模塊五:學生信息的修改 </p><p>  聲明void modify()為學生信息修改函數(shù),通過switch(item)設定所要修改的項目 </p><p>  模塊六:學生信息按學號排序 </p><p>  聲明void sort()將錄入學生系按升序排列,用的是“冒泡排序法”實現(xiàn)排序 </p&g

14、t;<p>  模塊七:增加學生信息 </p><p>  聲明void insert()插入學生信息,先通過判斷學生是否存在,若否則繼續(xù)輸入,若是跳出,重新循環(huán) </p><p>  模塊八:刪除學生信息 </p><p>  聲明void del()實現(xiàn)學生信息刪除,通過學號對比確定要刪除的信息,然后用后一個替換掉。 </p><

15、;p>  模塊九:顯示學生信息 </p><p>  通過display()函數(shù)輸出學生信息 </p><p><b>  模塊十:保存信息 </b></p><p>  通過fp=fopen("student.txt","w");寫入信息 </p><p>  模塊十一:界

16、面菜單 </p><p>  通過switch(num)調(diào)用,以上各函數(shù),實現(xiàn)功能</p><p><b>  2.算法流程圖</b></p><p>  *函數(shù)主要功能說明:</p><p>  1、輸入學生的信息函數(shù)功能:type函數(shù)通過循環(huán)向結構體中輸入學生的學號、姓名、性別、英語成、數(shù)學成績、語文成績。</

17、p><p><b>  Type函數(shù)流程圖</b></p><p>  2、查看輸入的信息功能:通過look函數(shù)以一個循環(huán)的形式輸出所要查看的信息。</p><p>  3、查詢功能:通查詢信息,過search_name函數(shù)和search_number函數(shù)來進行比較查找,找到后輸出該學生信息</p><p><b>

18、;  查找函數(shù)的流程圖</b></p><p>  4、排序功能:對數(shù)據(jù)進行排序,通過order函數(shù)對數(shù)據(jù)按平均分進行排序,排序結束后調(diào)用save函數(shù)保存。</p><p>  5、刪除功能:刪除信息,通過del函數(shù)實現(xiàn),刪除后調(diào)用save函數(shù)對數(shù)據(jù)保存。</p><p>  6、保存功能:對數(shù)據(jù)進行保存,用save函數(shù)向文件中寫入數(shù)據(jù)實現(xiàn)該功能。<

19、;/p><p><b>  7、退出程序</b></p><p><b>  四、編碼</b></p><p><b>  *源代碼見光盤</b></p><p><b>  學生管理系統(tǒng):</b></p><p><b> 

20、 鍵入學生信息</b></p><p><b>  查看錄入的學生信息</b></p><p><b>  查詢學生信息</b></p><p><b>  按平均成績排序</b></p><p><b>  刪除學生信息</b></p&

21、gt;<p><b>  保存學生信息</b></p><p>  7、 打開文件</p><p>  8、 我的個人信息</p><p><b>  0、 退出</b></p><p><b>  五、測試</b></p><

22、;p><b>  1.菜單屏幕</b></p><p><b>  2. 輸入學生信息</b></p><p><b>  3. 查看學生信息</b></p><p><b>  4. 按姓名查詢</b></p><p><b>  5.

23、按學號查詢</b></p><p>  6. 按平均成績排序</p><p><b>  8. 刪除學生信息</b></p><p><b>  9.保存文件</b></p><p><b>  10. 打開文件</b></p><p>  

24、11. 我的個人信息</p><p><b>  六、設計總結</b></p><p>  調(diào)試方法:逐條的對程序中的錯誤進行修改;修改程序中的變量、聲明新函數(shù)以及聲明頭文件對函數(shù)進行調(diào)試。</p><p>  測試過程中遇到的問題:</p><p>  1、刪除學生信息功能不能實現(xiàn)。</p><p&

25、gt;  問題描述:在選擇刪除功能后不能把選擇的學生信息刪除,而總是刪除其他學生的信息。</p><p>  解決辦法:出現(xiàn)這個問題肯定是數(shù)據(jù)覆蓋的時候出現(xiàn)了錯誤,也就是循環(huán)出現(xiàn)了錯誤。檢查循環(huán)程序后發(fā)現(xiàn),循環(huán)體內(nèi)數(shù)據(jù)交換出現(xiàn)了錯誤,沒有定義結構體變量。重新定義結構體變量后問題解決了。</p><p>  2、顯示結果時候出錯</p><p>  問題描述:每一個功

26、能在現(xiàn)實結果現(xiàn)實的信息部完整,部分信息部能現(xiàn)實或被覆蓋。</p><p>  解決辦法:現(xiàn)實出錯也就是printf語句中的結構沒有排列好所導致的。檢查所有的Printf語句后發(fā)現(xiàn)所有的printf語句中少輸出了以個語文成績,且它們不能完全對齊。在增加了“語文”,修改了轉義字符以及空格后,問題解決了。</p><p>  3、在查詢信息的時候出錯</p><p>  

27、問題描述:在輸入不在文件中保存的姓名、學號時,沒有信息提示。</p><p>  解決辦法:出現(xiàn)此問題說明if語句后少了一條else語句,加上該語句后,顯示的結果正確了。</p><p><b>  4、打開文件出錯</b></p><p>  問題描述:當顯示保存成功后關閉程序。重新打開程序選擇打開文件后,文件不能正常打開,或打開文件后沒有顯

28、示結果。</p><p>  解決辦法:查看文件文件中有數(shù)據(jù),說明文件在保存的是后沒有出錯。再仔細觀察運行結果后,發(fā)現(xiàn)該函數(shù)在執(zhí)行到循環(huán)輸出的時候把該循環(huán)跳了過去沒有執(zhí)行。出現(xiàn)此問題是因為循環(huán)的終止條件改變了。將openl函數(shù)該為有返回值函數(shù)之后,重新定義了一個see函數(shù)來調(diào)用openl函數(shù),并在see函數(shù)中用循環(huán)輸出已經(jīng)打開的文件中的數(shù)據(jù)。重新定義一個函數(shù)后保存的文件可以成功的打開。</p>&l

29、t;p>  5、在排序后沒有保存文件</p><p>  解決辦法:在order函數(shù)后邊加上了</p><p>  printf("是否保存?(y or n)");</p><p>  getchar();</p><p>  scanf("%c",&a);</p><

30、p>  if(a=='y') </p><p><b>  save();</b></p><p><b>  else</b></p><p>  printf("退出");語句后可以選擇是否保存排序后的文件。</p><p>  通過課程設計,我更深刻

31、的了解了C語言中每個函數(shù)的含義,領會了算法是C語言的靈魂這句話的真諦。一個好的算法可以使程序簡潔,運行速度更快。同時也對C語言中的循環(huán),函數(shù)的調(diào)用有了更深的理解。</p><p>  雖然這次的課程設計,老師已經(jīng)給出了程序讓我們讀懂??雌饋肀容^容易,但是要讓程序實現(xiàn)要求的幾個功能卻不是很容易。而且要看懂每一個函數(shù)也不是十分的容易。在修改程序的過程中也收獲了很多以前忽略的東西。在修改的過程中鞏固了基礎,認識了自已以

32、前常犯得錯誤,也發(fā)現(xiàn)了自己的不足之處。</p><p>  在程序編寫中,我認識編寫一個系統(tǒng)不僅僅要有良好的用戶界面,良好的程序編寫風格也是相當重要的。只有良好的種程序編寫風格,程序代碼的可讀性才會好,開發(fā)的復雜度才能大大減少,檢查錯誤、修改代碼時才會更加容易下手。</p><p>  通過實際操作,學會 C語言程序編程的基本步驟、基本方法,開發(fā)了自己的邏輯思維能力,培養(yǎng)了分析問題、解決問

33、題的能力。深刻體會到了團隊協(xié)作的重要性。</p><p><b>  致謝</b></p><p>  結束了一周的課程設計,首先要感謝*老師在課程設計上給予我的指導,支持與幫助。這是我能順利完成這次報告的主要原因,更重要的是老師幫我解決了許多技術上的難題,讓我能把系統(tǒng)做得更加完善。在此期間,我不僅學到了許多新的知識,而且也開闊了視野,提高了自己的設計能力。其次,要感

34、謝和我共同做同一個課題的任力同學,他為我解決了很多我不明白的知識以及技術上的難題,讓我們共同完成了這個課題。</p><p><b>  參考文獻</b></p><p>  1.姜靈芝,余健. C語言課程設計案例精編.北京:清華大學出版社,2008</p><p>  2.王新,孫雷. C語言課程設計.北京:清華大學出版社,2009</

溫馨提示

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

評論

0/150

提交評論