C語言課程設計報告車票信息管理系統.doc_第1頁
C語言課程設計報告車票信息管理系統.doc_第2頁
C語言課程設計報告車票信息管理系統.doc_第3頁
C語言課程設計報告車票信息管理系統.doc_第4頁
C語言課程設計報告車票信息管理系統.doc_第5頁
已閱讀5頁,還剩7頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

中國計量學院信息工程學院高級語言程序設計課程設計實驗報告題目: 車票信息管理系統 專業: 計算機科學與技術 班級: 11計算機1班 學號: 1100303130 姓名: 胡國群 成績: 指導教師: 徐展翼 完成日期: 2011年 12 月 30 日高級語言程序設計 車票信息管理系統一、課程設計目的1、 通過課程設計,加深對結構化設計思想的理解,能對系統功能進行分析,并設計合理的模塊化結構。2、 通過課程設計,學會設計數據結構。其中包括對結構數組、鏈表和數據文件等知識的運用。3、 通過課程設計,提高程序開發功能,能運用合理的控制流程編寫清晰高效的程序。4、 通過課程設計,訓練C程序調試能力,能將一個中小型各級組織系統聯調通過。5、 通過課程設計,開發一個中小型系統,掌握系統研發全過程。6、 通話課程設計,培養分析問題、解決實際問題的能力。二、課程設計內容設計一個實用的車票信息管理系統,能以簡便高效的方式對車票進行管理和檢索,具體要示:(1) 保存:車票信息包括:車次,始發站,票價,余票。以結構數組或數據文件的形式存放車票信息。(2) 更新:能添加、刪除,修改車票信息。(3) 瀏覽:所有車票信息瀏覽。(4) 查詢:能實現指定車次查看車次信息。(5) 系統以菜單方式工作,要求界面友好,易于操作。三、總體設計1、模塊化設計為實現系統功能,本程序主要分為六個模塊。它們分別為:輸入一個車票信息、刪除一個車票信息、查詢一個車票信息、添加一個車票信息、列出所有的車票信息、退出并且保存該程序。這六個函數再通過主函數調用分別得以實現。主函數,首先提供了程序運行時的友好界面,列出了清單,提供用戶做出選擇,以便決定使用車票的哪種功能。然后,通過執行多分支選擇語句switch語句,分別實現其它各個函數的調用功能。其它各個函數的功能分別如下: Delete函數用于對車票中指定信息的刪除;Search函數用于對車票中指定信息的查詢;Add函數用于在車票中插入信息;Print函數用于對車票中所有信息進行瀏覽;Save函數用于保存車票信息并且退出。2、模塊調用圖 四、詳細設計(1)數據結構設計本程序中,運用了多種數據結構。首先對于車票中各項詳細信息的記錄用了結構數組的形式,然后又運用鏈表動態地分配內存單元,在main函數中,把保存在數組中的值再賦值給其中的一個結點,通過指針的后移,把多個數據連成一個鏈,形成一個鏈表。在這過程當中,還運用了數據文件的方式,每一次從終端輸入的數據都以數據文件的形式保存到了磁盤。對于主要數據結構的舉例如下:結構數組:struct ticket char number8;char m50;struct ticket *next;鏈表: struct ticket a,b,c,d,e,*head,*p; head=&a; a.next=&b; b.next=&c; c.next=&d; d.next=&e; e.next=NULL; p=head;while(p!=NULL) if(strcmp(p-number,number)=0)if(p=head) head=p-next;else pr-next=p-next; p=p-next; pr=p;p=p-next;數據文件:if(fp=fopen(ticket.txt,r+)=NULL) printf(ncannot open this filen); return; while(p!=NULL) fscanf(fp,%s %sn,p-number,p-m); p=p-next; void Save() FILE *fp; struct ticket *p=head; if(fp=fopen(ticket.txt,w)=NULL) printf(tcannot open this filen); exit (0); while(p!=NULL) fprintf(fp,A,p-number,p-m); p=p-next; fclose(fp); printf( 感謝使用!n); (2)模塊接口設計 由于本程序中大部分運用了鏈表這一數據結構,函數中存在很多指針,所以這個程序中被調用的函數都是空類型的,但這并沒有影響最終結果的輸出,反而使得函數調用的過程更加簡便。 本程序執行的入口是main函數,然后在main函數中首先實現了對車票中的數據以文件的方式進行讀入。接下來在while語句中再套用switch語句實現對各個函數的調用。被調用的函數都是沒有形參的,但是通過對鏈表的使用,可以使得每一次的函數調用都能得到返回值。最后,再從main函數中結束整個程序的運行。 其中涉及到被調用的函數有: Menu(); Delete(head); Search(head); Modify(head); Print(head); DeleteMemory(head); Add(head); save(head);(3) 流程圖 Delete函數Add 函數:Print 函數: Save函數:Search函數:五、調試與測試(1) 調試過程中的主要問題由于本程序是分模塊設計的,所以運行時選擇完任務并且執行完任務后,又會繼續回到用戶選擇界面,供用戶繼續選擇任務并執行任務,整個程序以文件形式讀寫,所以每次都可對輸入的數據進行保存。對于本程序的調試運行,總體上情況良好。但是,其中也出現了一些小問題。我發現的主要問題有:1 會出現顯示兩次用戶界面,在網上查找后,知道了用scanf( %c, &ch);來表示輸入指令,在 %c 前加一個空格。2 在讀寫文件的時候,會有“燙”出現,在修改讀寫的格式和讀寫的函數后解決了。3 出現一些函數不能調用,檢查后,進行了修改:在switch 語句里,c

溫馨提示

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

評論

0/150

提交評論