西安郵電大學
c語言課程設計報告書
實驗題目:學生宿舍管理系統
一、實驗目的
通過本課程設計,強化上機動手能力,使學生在理論和實踐的基礎上進一步鞏固《c語言程式設計》課程學習的內容,掌握工程軟體設計的基本方法。通過這次實習練習,可以更進一步的熟悉所學的知識,還可以加強和鞏固知識。長達兩周的上機練習,為我們提供了很好的程式設計環境。
更好的了解程式設計的意義,為將來參加實踐活動以及以後的畢業設計打下堅實的基礎。
二、實驗內容
我設計的是「車輛管理系統」,主要是針對車輛資訊的管理,適用物件主要是需要統一管理的車輛,例如租車公司。包括車輛的序號,車牌,品牌,車主資訊。在編寫過程中主要運用c語言的基本知識有:
資料型別(整形、實型、字元型、指標、陣列、結構等);運算型別(算術運算、邏輯運算、自增自減運算、賦值運算等);程式結構(順序結構、判斷選擇結構、迴圈結構);大程式的功能分解方法(即函式的呼叫與使用)等。
三、需求分析
該程式是由c語言編寫的乙個車輛管理查詢軟體,本程式在microsoft visual c++ 6.0下執行,其主要功能是實現對車輛資訊的錄入、新增、刪除、修改、查詢、統計。其中查詢可以分別以序號,車牌號為關鍵字查詢車輛資訊。
四、概要設計
1、方案設計
2、資料結構說明
程式中資料主要是學生資訊,具體屬於型別如下:
struct car
;3、模組功能說明
第一密碼模組:呼叫mima(),進行初始登陸,管理者的註冊與登入操作。
第二錄入模組:呼叫build(),對車輛資訊進行錄入。
第三檢視模組:呼叫output(),對已有車輛資訊進行檢視。
第四查詢模組:呼叫find(),對特定車輛資訊進行檢視。
第五刪除模組:呼叫shanchu(),對某一車輛資訊進行刪除操作。
第六增加模組:呼叫charu(),增加車輛資訊。
第七排序模組:呼叫sort(),以車輛序號排序。
第七修改模組:呼叫 shaixuan(),對特定車輛資訊進行修改。
五、詳細設計及執行結果
1.函式之間呼叫關係圖
2.部分模組流程圖及執行結果圖示
登陸介面
主函式流程圖
主頁介面
錄入模組
錄入介面
修改模組
修改介面
統計模組
統計介面
六、除錯情況,設計技巧及體會
1、測試資料
對功能1(密碼系統測試)的測試:先註冊賬號密碼分別為:1,1,然後退出程式進行登入測試。
輸入一組錯誤賬號密碼系統顯示「對不起密碼錯誤! 按任意鍵退出!」。
在輸入正確密碼,系統顯示「 密碼正確!按任意鍵進入主選單」並進入主介面。
對功能2(錄入車輛資訊)的測試:按照先後順序分別輸入學生資訊:
序號車牌號品牌車主姓名****
001 498566 benz wu 6548612
002 54546 toyota zhang 46787
對功能3(檢視模組)的測試:系統顯示已有車輛資訊
對功能3(新增車輛資訊)的測試:按照先後順序分別輸入學生資訊:
序號車牌號品牌車主姓名****
003 46334 ww g 46461
對功能4(修改車輛資訊)的測試:系統顯示「請輸入你要選擇車輛的品牌請輸入你要選擇車輛的車主姓名」,輸入「as e」 系統顯示「該車輛資訊不存在! 按任意鍵返回」,輸入「toyota zhang」,系統顯示「請輸入修改後車輛的資訊序號車牌號品牌車主姓名****」
對功能5(刪除車輛資訊)的測試:系統顯示「請輸入要刪除的車輛資訊」。輸入要刪除的車輛序號:001,系統顯示出該車輛資訊。選擇刪除該車輛資訊。
對功能6(查詢學生資訊)的測試:查詢宿舍號為14#401的資訊,系統顯示為:
學號姓名班級宿舍號性別年齡專業
03091003 李娜 0902 14#401 女 20 計算機
03091004 王紅 0901 14#401 女 20 通訊工程
對功能7(統計學生資訊)的測試:
學生總人數3人,其中男生1人,女生2人。
對功能8(退出系統)的測試:選擇退出系統,程式關閉。
2、對除錯中主要問題進行總結
除錯過程中,經常會出現輸入或顯示為亂碼的情況,這往往是上下定義的資料型別不同或定義陣列長度不夠所造成的。有時候程式中還會出現錄入五個資料而只顯示四個的情況,這也往往是由於定義的結構體陣列長度過低所造成的。像這類問題只要把資料型別都定義成字元型,並且定義乙個合理的陣列長度往往都能解決。
在除錯過程中我遇到最大的問題出現在刪除模組。在運用「rt+」開啟檔案並對某一資料進行刪除後,往往顯示會多顯示一行資料。這是由於「rt+」寫資料時只會覆蓋資料而不會清除原檔案資料,因此檔案最後一行資料總會保留在原檔案中。
後來我先用「rt」開啟檔案並讀取檔案中的資料,然後再用「wt」開啟原檔案將刪除後的資料重新寫入檔案,最終檢測執行成功。
3、對自己設計進行評價,指出合理和不足之處,提出改進的方案
本程式擁有很多的優點:第一,它具有作為乙個車輛管理系統的各個功能,包括錄入資訊、新增資訊、修改資訊、刪除資訊、查詢資訊等主要功能。可以方便的進行車輛資訊的管理。
第二,它的各個功能分塊實現,對以後車輛資訊系統做進一步的改進十分方便。第三,它也具有安全性,在進入學生資訊管理系統之前要求輸入賬號和密碼,所以比較安全,不會造成資訊的外洩,並且可以對密碼進行演算法加密,這樣更能確保資訊的安全。
4、在設計過程中的感受
c語言是一門由淺入深的課程,最開始幾天由於鍊錶和檔案部分掌握的不熟練,所以都去看書上的例子自己慢慢揣摩。之前也沒有相關的學習機會,自己試著一點點做。由於沒有經驗,本應首先搭建起來的框架卻是在各個功能模組都除錯完畢的情況下思考如何把它們糅合在乙個系統,浪費了不少時間。
短短的一周實習時間我收穫頗多,我相信經過這次實習必將為我以後的深入學習打下紮實的基礎。
參考文獻:《c語言程式設計》(第二版) 王曙燕科學出版社
七、源程式清單
#include
#include
#include
#include
#include
#include
#include
#include
#define n sizeof(struct car)
#define len 100
/*歡迎介面*/
void wel***ehu()
/*車輛資訊結構體型別*/
struct car
{ int num序號*/
char chepai[10]; /*車牌號*/
char trademark[10]; /*品牌*/
char name[20]; /*車主姓名*/
char call[20]; /******/
c語言課程設計報告宿舍管理系統
西安郵電學院 c語言課程設計報告書 實驗題目 學生宿舍管理系統 一 實驗目的 通過本課程設計,強化上機動手能力,使學生在理論和實踐的基礎上進一步鞏固 c語言程式設計 課程學習的內容,掌握工程軟體設計的基本方法。通過這次實習練習,可以更進一步的熟悉所學的知識,還可以加強和鞏固知識。長達兩周的上機練習,...
C語言課程設計報告物資管理系統
中國地質大學 本科生課程 封面 課程名稱計算機高階語言課程設計 c 教師姓名曹弘 本科生姓名肖宇 本科生學號 20101003359 本科生專業地球化學 所在院系地球科學學院 類別本科生 日期 2014年1月12日 注 1 無評閱人簽名成績無效 2 必須用鋼筆或原子筆批閱,用鉛筆閱卷無效 3 如有平...
C語言課程設計報告銷售管理系統
c語言課程設計報告 銷售管理系統 一 題目要求 某公司有四個銷售員,編號1 4 負責銷售五種產品 編號1 5 每個銷售員都將當天 的每種產品各寫一張便條過來.每長便條包含內容 銷售人員的代號 產品的代號 這種產品的當天的銷售額 每位銷售人員每天肯上繳的0 5張便條.假如收集到了上個月的所有便條,編寫...