版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、<p> 《高級語言程序設計》課程設計</p><p><b> 實驗報告</b></p><p> 題目: 車票信息管理系統(tǒng) </p><p> 完成日期: 2011年 12 月 30 日</p><p> 《高級語言程序設計》</p><p> ——車票信息管理系統(tǒng)
2、</p><p><b> 一、課程設計目的</b></p><p> 通過課程設計,加深對結構化設計思想的理解,能對系統(tǒng)功能進行分析,并設計合理的模塊化結構。</p><p> 通過課程設計,學會設計數據結構。其中包括對結構數組、鏈表和數據文件等知識的運用。</p><p> 通過課程設計,提高程序開發(fā)功能,能
3、運用合理的控制流程編寫清晰高效的程序。</p><p> 通過課程設計,訓練C程序調試能力,能將一個中小型各級組織系統(tǒng)聯調通過。</p><p> 通過課程設計,開發(fā)一個中小型系統(tǒng),掌握系統(tǒng)研發(fā)全過程。</p><p> 通話課程設計,培養(yǎng)分析問題、解決實際問題的能力。</p><p><b> 二、課程設計內容</b
4、></p><p> 設計一個實用的車票信息管理系統(tǒng),能以簡便高效的方式對車票進行管理和檢索,具體要示:</p><p> 保存:車票信息包括:車次,始發(fā)站,票價,余票。以結構數組或數據文件的形式存放車票信息。</p><p> 更新:能添加、刪除,修改車票信息。</p><p> 瀏覽:所有車票信息瀏覽。</p>
5、<p> 查詢:能實現指定車次查看車次信息。</p><p> 系統(tǒng)以菜單方式工作,要求界面友好,易于操作。</p><p><b> 三、總體設計</b></p><p><b> 1、模塊化設計</b></p><p> 為實現系統(tǒng)功能,本程序主要分為六個模塊。它們分別為:
6、輸入一個車票信息、刪除一個車票信息、查詢一個車票信息、添加一個車票信息、列出所有的車票信息、退出并且保存該程序。這六個函數再通過主函數調用分別得以實現。</p><p> 主函數,首先提供了程序運行時的友好界面,列出了清單,提供用戶做出選擇,以便決定使用車票的哪種功能。然后,通過執(zhí)行多分支選擇語句——switch語句,分別實現其它各個函數的調用功能。</p><p> 其它各個函數的功
7、能分別如下: </p><p> Delete函數用于對車票中指定信息的刪除;</p><p> Search函數用于對車票中指定信息的查詢;</p><p> Add函數用于在車票中插入信息;</p><p> Print函數用于對車票中所有信息進行瀏覽;</p><p> Save函數用于保存車票信息并且
8、退出。</p><p><b> 2、模塊調用圖</b></p><p><b> 四、詳細設計</b></p><p><b> (1)數據結構設計</b></p><p> 本程序中,運用了多種數據結構。首先對于車票中各項詳細信息的記錄用了結構數組的形式,然后又運用
9、鏈表動態(tài)地分配內存單元,在main函數中,把保存在數組中的值再賦值給其中的一個結點,通過指針的后移,把多個數據連成一個鏈,形成一個鏈表。在這過程當中,還運用了數據文件的方式,每一次從終端輸入的數據都以數據文件的形式保存到了磁盤。</p><p> 對于主要數據結構的舉例如下:</p><p><b> 結構數組:</b></p><p>&
10、lt;b> ?、佟?lt;/b></p><p> struct ticket</p><p><b> {</b></p><p> char number[8];</p><p> char m[50];</p><p> struct ticket *next;<
11、/p><p><b> };</b></p><p><b> 鏈表:</b></p><p> ?、?struct ticket a,b,c,d,e,*head,*p;</p><p><b> head=&a;</b></p><p>
12、a.next=&b;</p><p> b.next=&c;</p><p> c.next=&d;</p><p> d.next=&e;</p><p> e.next=NULL;</p><p><b> p=head;</b></p>
13、<p><b> ?、凇?lt;/b></p><p> while(p!=NULL)</p><p><b> { </b></p><p> if(strcmp(p->number,number)==0)</p><p><b> {</b></
14、p><p> if(p==head) head=p->next;</p><p><b> else</b></p><p><b> {</b></p><p> pr->next=p->next;</p><p> p=p->next;<
15、;/p><p> } </p><p><b> }</b></p><p><b> pr=p;</b></p><p> p=p->next;</p><p><b> }</b></p><p>
16、<b> 數據文件:</b></p><p><b> ?、佟?lt;/b></p><p> if((fp=fopen("ticket.txt","r+"))==NULL)</p><p><b> {</b></p><p> pr
17、intf("\ncannot open this file\n");</p><p><b> return;</b></p><p><b> }</b></p><p> while(p!=NULL)</p><p><b> {</b><
18、/p><p> fscanf(fp,"%s %s\n",p->number,p->m);</p><p> p=p->next;</p><p><b> }</b></p><p> ② void Save()</p><p><b> {&
19、lt;/b></p><p><b> FILE *fp;</b></p><p> struct ticket *p=head;</p><p> if((fp=fopen("ticket.txt","w"))==NULL)</p><p><b> {&
20、lt;/b></p><p> printf("\tcannot open this file\n");</p><p><b> exit (0);</b></p><p><b> }</b></p><p> while(p!=NULL)</p>
21、<p><b> {</b></p><p> fprintf(fp,A,p->number,p->m);</p><p> p=p->next;</p><p><b> }</b></p><p> fclose(fp);</p><p
22、> printf(" 感謝使用!\n");</p><p><b> }</b></p><p><b> ?。?)模塊接口設計</b></p><p> 由于本程序中大部分運用了鏈表這一數據結構,函數中存在很多指針,所以這個程序中被調用的函數都是空類型的,但這并沒有影響最終結果的輸出,
23、反而使得函數調用的過程更加簡便。</p><p> 本程序執(zhí)行的入口是main函數,然后在main函數中首先實現了對車票中的數據以文件的方式進行讀入。接下來在while語句中再套用switch語句實現對各個函數的調用。被調用的函數都是沒有形參的,但是通過對鏈表的使用,可以使得每一次的函數調用都能得到返回值。最后,再從main函數中結束整個程序的運行。 </p><p> 其中涉及到被調
24、用的函數有:</p><p><b> Menu();</b></p><p> Delete(head);</p><p> Search(head);</p><p> Modify(head);</p><p> Print(head);</p><p>
25、 DeleteMemory(head);</p><p> Add(head);</p><p> save(head);</p><p><b> 流程圖</b></p><p><b> Delete函數</b></p><p><b> Add 函數
26、:</b></p><p><b> Print 函數:</b></p><p><b> Save函數:</b></p><p><b> Search函數:</b></p><p><b> 五、調試與測試</b></p>
27、;<p> 調試過程中的主要問題</p><p> 由于本程序是分模塊設計的,所以運行時選擇完任務并且執(zhí)行完任務后,又會繼續(xù)回到用戶選擇界面,供用戶繼續(xù)選擇任務并執(zhí)行任務,整個程序以文件形式讀寫,所以每次都可對輸入的數據進行保存。對于本程序的調試運行,總體上情況良好。但是,其中也出現了一些小問題。我發(fā)現的主要問題有:</p><p> 1 會出現顯示兩次用戶界面,在網上
28、查找后,知道了用scanf(" %c", &ch);來表示輸入指令,在 %c 前加一個空格。</p><p> 2 在讀寫文件的時候,會有“燙”出現,在修改讀寫的格式和讀寫的函數后解決了。</p><p> 3 出現一些函數不能調用,檢查后,進行了修改:在switch 語句里,case 后面有一個以上的語句加上了“{}”。</p><p&
29、gt; 4 遇到搜索比較的時候,出現錯誤,后來用strcmp實現(strcmp(p->number,number)。</p><p> 測試結果的分析與討論</p><p><b> 用戶界面</b></p><p><b> 添加車票信息</b></p><p><b>
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- c語言課程設計--火車票信息管理系統(tǒng)
- c語言課程設計報告--車票管理系統(tǒng)
- 車票管理系統(tǒng)c語言課程設計報告
- c語言課程信息管理系統(tǒng)課程設計報告
- c語言課程設計報告課程信息管理系統(tǒng)
- c語言課程設計--車票管理系統(tǒng)
- c語言課程設計車票管理系統(tǒng)
- 學生信息管理系統(tǒng)c語言課程設計報告
- c語言課程設計報告----學生信息管理系統(tǒng)
- c語言課程設計報告---職工信息管理系統(tǒng)
- 學生信息管理系統(tǒng)c語言課程設計報告
- c語言課程設計報告---學生信息管理系統(tǒng)
- c語言課程設計報告---學生信息管理系統(tǒng)
- c語言課程設計報告--職工信息管理系統(tǒng)
- 教學信息管理系統(tǒng)c語言課程設計報告
- 教學信息管理系統(tǒng)c語言課程設計報告
- c語言課程設計報告--學生信息管理系統(tǒng)
- c語言課程設計-學生信息管理系統(tǒng)設計報告
- c語言課程設計-學生信息管理系統(tǒng)設計報告
- c語言課程設計報告----職工信息管理系統(tǒng)設計
評論
0/150
提交評論