版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、<p><b> 課程設(shè)計(論文)</b></p><p> 題 目 名 稱 學生證查找問題 </p><p> 課 程 名 稱 C語言程序課程設(shè)計 </p><p> 學 生 姓 名
2、 </p><p> 學 號 </p><p> 系 、專業(yè) 信息工程系、信息大類 </p><p> 指 導 教 師 </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任務2</b></p><p><b> 2.3運行環(huán)境2</b></p><p><b> 2.4開發(fā)工具2</b></p><p><b> 3概要設(shè)計3</b></p><p>
5、3.1 系統(tǒng)流程圖3</p><p> 3.2查詢函數(shù)流程圖4</p><p><b> 4詳細設(shè)計5</b></p><p> 4.1分析和設(shè)計5</p><p> 4.2 具體代碼實現(xiàn)6</p><p> 4. 3 測試與輸入輸出9</p><p&g
6、t; 5課程設(shè)計的總結(jié)與體會11</p><p><b> 參考文獻12</b></p><p><b> 致 謝13</b></p><p><b> 前言</b></p><p> 編寫一個程序來處理學生證信息。通過一個結(jié)構(gòu)體數(shù)組來存放輸入的每一位同學學
7、生證信息(包括姓名、年級、專業(yè)、學號、家庭地址),然后將其信息存入文件中。輸入一個學生姓名查詢該同學的信息,并顯示在屏幕上。</p><p><b> 需求分析</b></p><p><b> 2.1要求</b></p><p> ?。?)用c語言實現(xiàn)程序設(shè)計;</p><p> ?。?)利用
8、結(jié)構(gòu)體進行相關(guān)信息處理;</p><p> (3)畫出查詢模塊的流程圖;</p><p> ?。?)系統(tǒng)的各個功能模塊要求用函數(shù)的形式實現(xiàn);</p><p> ?。?)界面友好(良好的人機互交),程序要有注釋。</p><p><b> 2.2任務</b></p><p> ?。?)定義一個結(jié)
9、構(gòu)體類型數(shù)組,輸入每一位同學的記錄(包括姓名、年級、專業(yè)、學號、家庭地址),將其信息存入文件中;</p><p> ?。?)輸入姓名查詢該同學的信息,并顯示在屏幕上;</p><p> ?。?)畫出所有模塊的流程圖;</p><p><b> ?。?)編寫代碼;</b></p><p> ?。?)程序分析與調(diào)試。<
10、/p><p><b> 2.3運行環(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è)計</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詳細設(shè)計</b></p><p><b> 4.1 分析與設(shè)計</b></p><p> 在程序的開頭部分定義結(jié)構(gòu)體類型和全局的結(jié)構(gòu)體數(shù)組,用來存放同學信息,假設(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輸入學生信息放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)體中的同學信息以數(shù)據(jù)
21、塊的形式存入文件data.txt中。存入后,關(guān)閉文件。</p><p> 用自定義的查找函數(shù)find ()實現(xiàn)對學生的信息查找。</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、字符串相同,則輸出該字符串代表的學生的所有信息:姓名、電話號碼、email、地址。</p><p> 4.2 具體代碼實現(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> 輸入學生的信息,系統(tǒng)產(chǎn)生一data.dat二進制文件。</p><p> 輸入需要查找的學生姓名</p><p><b> 輸出查找的學生姓名</b></p><p> 5課程
37、設(shè)計的總結(jié)與體會</p><p> 一個星期的課程設(shè)計,雖然有些疲勞和困倦,但帶給我很多的收獲。C語言已經(jīng)學了一個學期,大概三個多月了,有許多知識都存在似懂非懂的現(xiàn)象,這種現(xiàn)象通過實際的上機操作,已經(jīng)減少了許多。對這些知識也有了更深的理解和很好的掌握。也有很多理論上說得過去的代碼,但到了實際操作,卻是行不通的。這種困惑,有許多已經(jīng)通過實際操作解決了,并能夠深刻認識,但也有很多沒有明白。只能避過這些方法,換方法實
38、現(xiàn)。在課程設(shè)計之前,因為有了綜合實驗的經(jīng)驗與教訓,明白了寫代碼這一步是非常重要的,因為當你把代碼輸入電腦,并用編譯器將其運行,發(fā)現(xiàn)通過不了,再來檢查找出問題,這是一件非常辛苦的事情,也很浪費時間。于是在課程設(shè)計的時候,我花了兩天的時間來規(guī)劃與寫代碼,將要實現(xiàn)的內(nèi)容分析清楚,才把代碼輸入電腦,但卻有另一些問題,例如亂碼的問題,這就要花很多的時間在重新寫代碼上了,用一些可能不出現(xiàn)亂碼的方法來實現(xiàn)該功能。因此我覺得每次寫程序,應該先找到該程序
39、中的核心地方,用多種方法來實現(xiàn)該核心,這才可能避免等到發(fā)現(xiàn)邏輯上或者編譯器不支持上的錯誤,才來想補救的措施,這樣花費時間在想補救措施是很不值得的。此外,這樣多種方法寫程序可以鍛煉自己</p><p> 通過這次課程設(shè)計使我懂得了理論與實際相結(jié)合是很重要的,只有理論知識是遠遠不夠的,只有把所學的理論知識與實踐相結(jié)合起來,從理論中得出結(jié)論,才能真正為社會服務,從而提高自己的實際動手能力和獨立思考的能力。在設(shè)計的過程
40、中遇到問題,可以說得是困難重重,這畢竟第一次做的,難免會遇到過各種各樣的問題,同時在設(shè)計的過程中發(fā)現(xiàn)了自己的不足之處,對以前所學過的知識理解得不夠深刻,掌握得不夠牢固。</p><p> 這次課程設(shè)計終于順利完成了,在設(shè)計中遇到了很多專業(yè)知識問題,最后在老師的辛勤指導下,終于游逆而解。同時,在老師的身上我們學也到很多實用的知識,在次我們表示感謝!同時,對給過我?guī)椭乃型瑢W和各位指導老師再次表示忠心的感謝!&l
41、t;/p><p><b> 參考文獻</b></p><p> [1] 張福祥. C語言程序設(shè)計[M]. 遼寧大學出版社,2008.1 . 64-74頁 121-145 頁181-198頁</p><p> [2] 張福祥. 王萌.C語言程序設(shè)計習題解答與實驗實訓[M].沈陽:遼寧大學出版社,2008.21-64頁</p>&l
42、t;p> [3] 牛莉. 劉遠軍等.計算機等級考試輔導教程[M].北京:中國鐵道出版社,2008.104-126頁</p><p><b> 致 謝</b></p><p> 感謝指導老師在百忙之中抽出時間為我們批改程序,指導監(jiān)督我們做程序設(shè)計,為我們操心,同時也感謝您一直來耐心教導我們、嚴格要求!老師您辛苦了!可是,學生盡管努力了還是知識有限
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- c語言課程設(shè)計--學生證管理報告
- 學生證管理系統(tǒng)(c語言課程設(shè)計)
- c語言學生證管理系統(tǒng)課程設(shè)計報告
- 【doc】計算機專業(yè)c語言課程設(shè)計 學生證管理程序
- c語言程序課設(shè) 學生證管理系統(tǒng)
- c語言程序課程設(shè)計
- c語言課程設(shè)計--c語言投票程序
- c語言課程設(shè)計---c語言小車動畫程序
- c語言課程設(shè)計源程序
- c語言程序設(shè)計課程設(shè)計
- c語言程序課程設(shè)計----學生成績管理系統(tǒng)
- c語言程序課程設(shè)計--學生成績管理系統(tǒng)設(shè)計
- c課程設(shè)計報告-- c語言程序設(shè)計
- 《c語言程序設(shè)計》課程設(shè)計報告
- c語言課程設(shè)計--學生成績簡單管理程序
- c語言課程設(shè)計-學生成績簡單管理程序
- 學生證管理程序報告
- c語言程序設(shè)計課程設(shè)計報告
- c語言程序設(shè)計課程設(shè)計---學生成績管理系統(tǒng)
- c語言課程設(shè)計---學生成績管理系統(tǒng)程序設(shè)計
評論
0/150
提交評論