c語(yǔ)言課程設(shè)計(jì)---學(xué)生信息管理系統(tǒng)_第1頁(yè)
已閱讀1頁(yè),還剩17頁(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>  *******************</p><p><b>  實(shí)踐教學(xué)</b></p><p>  *******************</p><p><b>  計(jì)算機(jī)與通信學(xué)院</b></p><p><b>  2011年春季學(xué)期</b>&

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

3、 </p><p>  成 績(jī):_____________ __</p><p><b>  摘 要</b></p><p>  學(xué)生信息管理系統(tǒng)是一個(gè)教育單位不可缺少的部分,它的內(nèi)容對(duì)于學(xué)校的決策者和管理者來說都至關(guān)重要,所以學(xué)生成績(jī)管理系統(tǒng)應(yīng)該能夠?yàn)橛脩籼峁┏渥愕男畔⒑涂旖莸牟樵兪侄?。此系統(tǒng)具有查詢方便快捷,用簡(jiǎn)單的界

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

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

6、gt;  四、編碼10</b></p><p><b>  五、測(cè)試11</b></p><p><b>  六、設(shè)計(jì)總結(jié)15</b></p><p><b>  致謝17</b></p><p><b>  參考文獻(xiàn)18</b>&l

7、t;/p><p><b>  需求分析</b></p><p>  設(shè)計(jì)一個(gè)學(xué)生成績(jī)管理系統(tǒng),對(duì)上學(xué)期的本班的學(xué)習(xí)成績(jī)進(jìn)行管理,具有查詢和檢索功能,并且能夠?qū)χ付ㄎ募僮?,也可將多個(gè)文件組成一個(gè)文件。</p><p><b>  主要功能:</b></p><p><b>  1、鍵入學(xué)生信息

8、</b></p><p><b>  2、查看錄入的信息</b></p><p><b>  3、按姓名查看信息</b></p><p><b>  4、按學(xué)號(hào)查看信息</b></p><p><b>  5、按平均成績(jī)排序</b></p

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

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

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

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

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

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

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

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

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

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

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

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

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

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

23、按學(xué)號(hào)查詢</b></p><p>  6. 按平均成績(jī)排序</p><p><b>  8. 刪除學(xué)生信息</b></p><p><b>  9.保存文件</b></p><p><b>  10. 打開文件</b></p><p>  

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

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

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

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

28、示結(jié)果。</p><p>  解決辦法:查看文件文件中有數(shù)據(jù),說明文件在保存的是后沒有出錯(cuò)。再仔細(xì)觀察運(yùn)行結(jié)果后,發(fā)現(xiàn)該函數(shù)在執(zhí)行到循環(huán)輸出的時(shí)候把該循環(huán)跳了過去沒有執(zhí)行。出現(xiàn)此問題是因?yàn)檠h(huán)的終止條件改變了。將openl函數(shù)該為有返回值函數(shù)之后,重新定義了一個(gè)see函數(shù)來調(diào)用openl函數(shù),并在see函數(shù)中用循環(huán)輸出已經(jīng)打開的文件中的數(shù)據(jù)。重新定義一個(gè)函數(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("退出");語(yǔ)句后可以選擇是否保存排序后的文件。</p><p>  通過課程設(shè)計(jì),我更深刻

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

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

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

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

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝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)論