版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 課程設(shè)計(jì)(論文)</b></p><p> 題 目 名 稱 學(xué)生證查找問題 </p><p> 課 程 名 稱 C語言程序課程設(shè)計(jì) </p><p> 學(xué) 生 姓 名
2、 </p><p> 學(xué) 號 </p><p> 系 、專業(yè) 信息工程系、信息大類 </p><p> 指 導(dǎo) 教 師 </p>&l
3、t;p> 2010年 6 月 26 日</p><p><b> 目 錄</b></p><p><b> 1前言2</b></p><p><b> 2需求分析2</b></p><p><b> 2.1要求2</b><
4、/p><p><b> 2.2任務(wù)2</b></p><p><b> 2.3運(yùn)行環(huán)境2</b></p><p><b> 2.4開發(fā)工具2</b></p><p><b> 3概要設(shè)計(jì)3</b></p><p>
5、3.1 系統(tǒng)流程圖3</p><p> 3.2查詢函數(shù)流程圖4</p><p><b> 4詳細(xì)設(shè)計(jì)5</b></p><p> 4.1分析和設(shè)計(jì)5</p><p> 4.2 具體代碼實(shí)現(xiàn)6</p><p> 4. 3 測試與輸入輸出9</p><p&g
6、t; 5課程設(shè)計(jì)的總結(jié)與體會11</p><p><b> 參考文獻(xiàn)12</b></p><p><b> 致 謝13</b></p><p><b> 前言</b></p><p> 編寫一個程序來處理學(xué)生證信息。通過一個結(jié)構(gòu)體數(shù)組來存放輸入的每一位同學(xué)學(xué)
7、生證信息(包括姓名、年級、專業(yè)、學(xué)號、家庭地址),然后將其信息存入文件中。輸入一個學(xué)生姓名查詢該同學(xué)的信息,并顯示在屏幕上。</p><p><b> 需求分析</b></p><p><b> 2.1要求</b></p><p> ?。?)用c語言實(shí)現(xiàn)程序設(shè)計(jì);</p><p> ?。?)利用
8、結(jié)構(gòu)體進(jìn)行相關(guān)信息處理;</p><p> (3)畫出查詢模塊的流程圖;</p><p> ?。?)系統(tǒng)的各個功能模塊要求用函數(shù)的形式實(shí)現(xiàn);</p><p> (5)界面友好(良好的人機(jī)互交),程序要有注釋。</p><p><b> 2.2任務(wù)</b></p><p> (1)定義一個結(jié)
9、構(gòu)體類型數(shù)組,輸入每一位同學(xué)的記錄(包括姓名、年級、專業(yè)、學(xué)號、家庭地址),將其信息存入文件中;</p><p> ?。?)輸入姓名查詢該同學(xué)的信息,并顯示在屏幕上;</p><p> ?。?)畫出所有模塊的流程圖;</p><p><b> (4)編寫代碼;</b></p><p> ?。?)程序分析與調(diào)試。<
10、/p><p><b> 2.3運(yùn)行環(huán)境</b></p><p> (1)WINDOWS2000/XP系統(tǒng)</p><p> (2)Turboc2.0編譯環(huán)境</p><p><b> 2.4開發(fā)工具</b></p><p><b> C語言</b>
11、</p><p><b> 3概要設(shè)計(jì)</b></p><p><b> 3.1流程圖</b></p><p> 系統(tǒng)流程圖如圖3.1所示。</p><p> 圖3.1 系統(tǒng)流程圖</p><p> 3.2函數(shù)“查找”流程圖</p><p>
12、; 查找函數(shù)流程圖如圖3.2所示。</p><p> 圖3.2 查詢函數(shù)流程圖</p><p><b> 4詳細(xì)設(shè)計(jì)</b></p><p><b> 4.1 分析與設(shè)計(jì)</b></p><p> 在程序的開頭部分定義結(jié)構(gòu)體類型和全局的結(jié)構(gòu)體數(shù)組,用來存放同學(xué)信息,假設(shè)共4條。</p
13、><p> #include "stdio.h"</p><p> #define n 4</p><p> struct student</p><p><b> {</b></p><p> char name[10];</p><p>
14、char class[10];</p><p> char profess[10];</p><p><b> int num;</b></p><p> char add[20];</p><p><b> }stu[n];</b></p><p> 定義一個指針
15、fp輸入學(xué)生信息放sta數(shù)組中。并將結(jié)構(gòu)體數(shù)組中的所有信息寫入到文件data.dat中,之后再關(guān)閉文件。</p><p><b> main()</b></p><p> {FILE *fp;</p><p> void find();</p><p><b> int i;</b><
16、/p><p> if((fp=fopen("data.dat","w"))==NULL)</p><p> {printf("\n can't open data.dat !\n");</p><p><b> exit(0);}</b></p><p&g
17、t; for(i=0;i<n;i++)</p><p> {printf("input name :");scanf("%s",stu[i].name);</p><p> printf("input class:");scanf("%s",stu[i].class);</p><
18、;p> printf("input profession:");scanf("%s",stu[i].profess);</p><p> printf("input num:");scanf("%d",&stu[i].num);</p><p> printf("input add
19、:");scanf("%s",stu[i].add);</p><p> fprintf(fp,"%s%s%s%d%s",stu[i].name,stu[i].class,stu[i].profess,stu[i].num,stu[i].add);</p><p><b> }</b></p><
20、;p> fclose(fp);</p><p><b> find();</b></p><p><b> }</b></p><p> 在find函數(shù)中先用寫的方式打開文件data.dat,若不存在則新建一個,若無法打開則輸出can not open files data.dat,將結(jié)構(gòu)體中的同學(xué)信息以數(shù)據(jù)
21、塊的形式存入文件data.txt中。存入后,關(guān)閉文件。</p><p> 用自定義的查找函數(shù)find ()實(shí)現(xiàn)對學(xué)生的信息查找。</p><p> void find()</p><p><b> {int j,a;</b></p><p> char nam[10];</p><p>
22、 printf("qing shu ru xing ming:");</p><p> scanf("%s",&nam);</p><p> for(j=0;j<n;j++)</p><p><b> {</b></p><p> a=strcmp(nam,s
23、tu[j].name);</p><p><b> if(a==0)</b></p><p> printf("class,profession,number,address\n",stu[j].class,stu[j].profess,stu[j].num,stu[j].add );</p><p> printf
24、("%s,%s,%d,%s",stu[j].class,stu[j].profess,stu[j].num,stu[j].add);</p><p> return; }</p><p> printf("cha wu ci ren\n");</p><p> }在這個函數(shù)中采用字符串,如果輸入的字符串與文件中的一個
25、字符串相同,則輸出該字符串代表的學(xué)生的所有信息:姓名、電話號碼、email、地址。</p><p> 4.2 具體代碼實(shí)現(xiàn)</p><p> #include "stdio.h"</p><p> #define n 4</p><p> struct student</p><p>&l
26、t;b> {</b></p><p> char name[10];</p><p> char class[10];</p><p> char profess[10];</p><p><b> int num;</b></p><p> char add[20]
27、;</p><p><b> }stu[n];</b></p><p><b> main()</b></p><p> {FILE *fp;</p><p> void find();</p><p><b> int i;</b></
28、p><p> if((fp=fopen("data.dat","w"))==NULL)</p><p> {printf("\n can't open data.dat !\n");</p><p><b> exit(0);}</b></p><p>
29、; for(i=0;i<n;i++)</p><p> {printf("input name :");scanf("%s",stu[i].name);</p><p> printf("input class:");scanf("%s",stu[i].class);</p><
30、p> printf("input profession:");scanf("%s",stu[i].profess);</p><p> printf("input num:");scanf("%d",&stu[i].num);</p><p> printf("input add:
31、");scanf("%s",stu[i].add);</p><p> fprintf(fp,"%s%s%s%d%s",stu[i].name,stu[i].class,stu[i].profess,stu[i].num,stu[i].add);</p><p><b> }</b></p><
32、p> fclose(fp);</p><p><b> find();</b></p><p><b> }</b></p><p> void find()</p><p><b> {int j,a;</b></p><p> ch
33、ar nam[10];</p><p> printf("qing shu ru xing ming:");</p><p> scanf("%s",&nam);</p><p> for(j=0;j<n;j++)</p><p><b> {</b><
34、/p><p> a=strcmp(nam,stu[j].name);</p><p><b> if(a==0)</b></p><p> printf("class,profession,number,address\n",stu[j].class,stu[j].profess,stu[j].num,stu[j].add
35、 );</p><p> printf("%s,%s,%d,%s",stu[j].class,stu[j].profess,stu[j].num,stu[j].add);</p><p> return; }</p><p> printf("cha wu ci ren\n");</p><p&
36、gt;<b> }</b></p><p> 4.3 測試與輸入輸出</p><p> 輸入學(xué)生的信息,系統(tǒng)產(chǎn)生一data.dat二進(jìn)制文件。</p><p> 輸入需要查找的學(xué)生姓名</p><p><b> 輸出查找的學(xué)生姓名</b></p><p> 5課程
37、設(shè)計(jì)的總結(jié)與體會</p><p> 一個星期的課程設(shè)計(jì),雖然有些疲勞和困倦,但帶給我很多的收獲。C語言已經(jīng)學(xué)了一個學(xué)期,大概三個多月了,有許多知識都存在似懂非懂的現(xiàn)象,這種現(xiàn)象通過實(shí)際的上機(jī)操作,已經(jīng)減少了許多。對這些知識也有了更深的理解和很好的掌握。也有很多理論上說得過去的代碼,但到了實(shí)際操作,卻是行不通的。這種困惑,有許多已經(jīng)通過實(shí)際操作解決了,并能夠深刻認(rèn)識,但也有很多沒有明白。只能避過這些方法,換方法實(shí)
38、現(xiàn)。在課程設(shè)計(jì)之前,因?yàn)橛辛司C合實(shí)驗(yàn)的經(jīng)驗(yàn)與教訓(xùn),明白了寫代碼這一步是非常重要的,因?yàn)楫?dāng)你把代碼輸入電腦,并用編譯器將其運(yùn)行,發(fā)現(xiàn)通過不了,再來檢查找出問題,這是一件非常辛苦的事情,也很浪費(fèi)時間。于是在課程設(shè)計(jì)的時候,我花了兩天的時間來規(guī)劃與寫代碼,將要實(shí)現(xiàn)的內(nèi)容分析清楚,才把代碼輸入電腦,但卻有另一些問題,例如亂碼的問題,這就要花很多的時間在重新寫代碼上了,用一些可能不出現(xiàn)亂碼的方法來實(shí)現(xiàn)該功能。因此我覺得每次寫程序,應(yīng)該先找到該程序
39、中的核心地方,用多種方法來實(shí)現(xiàn)該核心,這才可能避免等到發(fā)現(xiàn)邏輯上或者編譯器不支持上的錯誤,才來想補(bǔ)救的措施,這樣花費(fèi)時間在想補(bǔ)救措施是很不值得的。此外,這樣多種方法寫程序可以鍛煉自己</p><p> 通過這次課程設(shè)計(jì)使我懂得了理論與實(shí)際相結(jié)合是很重要的,只有理論知識是遠(yuǎn)遠(yuǎn)不夠的,只有把所學(xué)的理論知識與實(shí)踐相結(jié)合起來,從理論中得出結(jié)論,才能真正為社會服務(wù),從而提高自己的實(shí)際動手能力和獨(dú)立思考的能力。在設(shè)計(jì)的過程
40、中遇到問題,可以說得是困難重重,這畢竟第一次做的,難免會遇到過各種各樣的問題,同時在設(shè)計(jì)的過程中發(fā)現(xiàn)了自己的不足之處,對以前所學(xué)過的知識理解得不夠深刻,掌握得不夠牢固。</p><p> 這次課程設(shè)計(jì)終于順利完成了,在設(shè)計(jì)中遇到了很多專業(yè)知識問題,最后在老師的辛勤指導(dǎo)下,終于游逆而解。同時,在老師的身上我們學(xué)也到很多實(shí)用的知識,在次我們表示感謝!同時,對給過我?guī)椭乃型瑢W(xué)和各位指導(dǎo)老師再次表示忠心的感謝!&l
41、t;/p><p><b> 參考文獻(xiàn)</b></p><p> [1] 張福祥. C語言程序設(shè)計(jì)[M]. 遼寧大學(xué)出版社,2008.1 . 64-74頁 121-145 頁181-198頁</p><p> [2] 張福祥. 王萌.C語言程序設(shè)計(jì)習(xí)題解答與實(shí)驗(yàn)實(shí)訓(xùn)[M].沈陽:遼寧大學(xué)出版社,2008.21-64頁</p>&l
42、t;p> [3] 牛莉. 劉遠(yuǎn)軍等.計(jì)算機(jī)等級考試輔導(dǎo)教程[M].北京:中國鐵道出版社,2008.104-126頁</p><p><b> 致 謝</b></p><p> 感謝指導(dǎo)老師在百忙之中抽出時間為我們批改程序,指導(dǎo)監(jiān)督我們做程序設(shè)計(jì),為我們操心,同時也感謝您一直來耐心教導(dǎo)我們、嚴(yán)格要求!老師您辛苦了!可是,學(xué)生盡管努力了還是知識有限
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- c語言課程設(shè)計(jì)--學(xué)生證管理報(bào)告
- 學(xué)生證管理系統(tǒng)(c語言課程設(shè)計(jì))
- c語言學(xué)生證管理系統(tǒng)課程設(shè)計(jì)報(bào)告
- 【doc】計(jì)算機(jī)專業(yè)c語言課程設(shè)計(jì) 學(xué)生證管理程序
- c語言程序課設(shè) 學(xué)生證管理系統(tǒng)
- c語言程序課程設(shè)計(jì)
- c語言課程設(shè)計(jì)--c語言投票程序
- c語言課程設(shè)計(jì)---c語言小車動畫程序
- c語言課程設(shè)計(jì)源程序
- c語言程序設(shè)計(jì)課程設(shè)計(jì)
- c語言程序課程設(shè)計(jì)----學(xué)生成績管理系統(tǒng)
- c語言程序課程設(shè)計(jì)--學(xué)生成績管理系統(tǒng)設(shè)計(jì)
- c課程設(shè)計(jì)報(bào)告-- c語言程序設(shè)計(jì)
- 《c語言程序設(shè)計(jì)》課程設(shè)計(jì)報(bào)告
- c語言課程設(shè)計(jì)--學(xué)生成績簡單管理程序
- c語言課程設(shè)計(jì)-學(xué)生成績簡單管理程序
- 學(xué)生證管理程序報(bào)告
- c語言程序設(shè)計(jì)課程設(shè)計(jì)報(bào)告
- c語言程序設(shè)計(jì)課程設(shè)計(jì)---學(xué)生成績管理系統(tǒng)
- c語言課程設(shè)計(jì)---學(xué)生成績管理系統(tǒng)程序設(shè)計(jì)
評論
0/150
提交評論