C語言大型綜合程序范例_第1頁
C語言大型綜合程序范例_第2頁
免費預覽已結束,剩余1頁可下載查看

下載本文檔

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

文檔簡介

1、c語言大型綜合程序范例 大型綜合程序范例解析通訊錄問題描述: 以文件的方式保存用戶錄入的通訊錄數據 供用戶查詢和使用通訊錄信息 大型綜合程序范例解析通訊錄功能分析: 記錄項的基本屬性:姓名、性別、住址、聯 系電話、電子郵件 等 操作功能: 錄入:操作添加一條新的記錄項 刪除:刪除一條已經存在的記錄項 大型綜合程序范例解析通訊錄功能分析: 修改:轉變記錄項的一個或多個屬性,并用 新的記錄項掩蓋已經存在的記錄項 查找:依據用戶輸入的屬性值查找符合條件 的記錄項。 大型綜合程序范例解析通訊錄功能分析: 通訊錄數據以文件形式存儲在磁盤上,依據實 際需要定義文件的存儲格式;在程序運行中需 要對文件進行讀

2、取操作。 程序中還要對輸入數據的容錯性進行檢查, 可以保證通訊錄數據的合法性。 大型綜合程序范例解析通訊錄設計: 程序總體結構: 輸入輸出模塊:人機交互,包括程序界面顯示、 用戶輸入響應、結果輸出等 管理模塊:管理模塊從輸入輸出模塊讀取用戶命 令并進行相應的操作,包括錄入、刪除、修改 、查找、列表等 文件操作模塊:進行存儲文件的讀寫 大型綜合程序范例解析通訊錄模塊結構圖用戶輸入 輸入輸出終端系統輸出 輸入輸出模塊管理模塊 文件操作模塊文件寫入 文件讀出 存儲文件 大型綜合程序范例解析通訊錄界面設計 : 大型綜合程序范例解析通訊錄數據結構設計: struct myrecord unsigned

3、int num; unsigned int group; char namemaxlen+1; char gender; date birthday; char addressmaxlen+1; char phonemaxlen+1; char emailmaxlen+1; ; 大型綜合程序范例解析通訊錄數據結構設計: struct mydate unsigned int year; unsigned int month; unsigned int day; ; typedef struct mydate date; 大型綜合程序范例解析通訊錄數據結構設計: 三個查詢關鍵字:記錄編號、組別和聯

4、系人姓名 union mysearch_entry unsigned int num; unsigned int group; char namemaxlen+1; ; typedef union mysearch_entry search_entry; 大型綜合程序范例解析通訊錄-函數設計函數原型 函數功能 以文本方式顯示程序主菜單,同時響應 用戶輸入 向上滾動光標條 向下滾動光標條 等待用戶響應 menu.c輸入輸出文件函數處理描述 void menulist(void)void upbar(int y) void downbar(int y) void mydelay(void) 調用b

5、ioske(0),獵取按鍵的值通過轉變字體顏色實現光標條移動 通過轉變字體顏色實現光標條移動 調用getch()實現 void format(void)void searchmenu(void) void input_search(char ch) int input_num(void) int input_new(myrecord *p) myrecord *input_app(void) 結果輸出時打印輸出的格式信息輸出查詢功能的子菜單 處理查詢時用戶的輸入,將關鍵字讀入 讀入一個整型數值(記錄編號),進行 合法性檢查 進行數據修改時,讀入一個新的記錄項 ,并用它掩蓋輸入參數所指向的數 據

6、記錄項。 錄入信息時處理鍵盤輸入,對輸入進行 合法性檢查 檢查日期是否為合法 調用printf()實現調用printf()實現 依據輸入參數ch,執行相應的操作 采納了遞歸的方法循環讀取數據 參數:新記錄項的指針 返 回 值:返回是否進行了修改的信息 ,已修改返回 1,否則返 回0。 逐項錄入通訊記錄 參數:年、月、日的信息 int date_legal(int year,int 大型綜合程序范例解析通訊錄-函數設計int file_app(myrecord *p) 添加一條新的記錄項 file.c文件處理文件 參 數:要錄入的記錄項的指針 返 回 值:操作結果(插入勝利返 回1,失敗返回0)

7、 參 數:下標值 返 回 值:讀取結果的指針 參 數:指向記錄項的指針和要 寫入的塊位置 返 回 值:操作結果(插入勝利返 回1,失敗返回0) 參 數:指向查詢項的指針和查 詢類型 返 回 值:符合條件的記錄項總數 (假如是0則查找失敗) 參 數:下標值 返 回 值:操作結果(插入勝利返 回1,失敗返回0) myrecord *read_record(int n) 從文件中讀出下標為n的塊(記錄項) int write_record(myrecord *p,int n) 向文件中寫入某一塊(假如該塊已經存在 ,將進行掩蓋) int file_search(search_entry *s,int

8、 f) 對存儲文件進行遍歷,查找符合輸入的記 錄項并輸出 int file_delete(int n) 刪除文件中某個記錄塊 大型綜合程序范例解析通訊錄-函數設計control.c掌握文件 void append(void) void delet(void) 執行數據錄入操作 執行數據記錄項刪除操作 調用input_app()完成數據錄入,調用 file_app()完成數據保存。 調用file_search查找要刪除的記錄,然后 調用file_delete()進行刪除 調用searchmenu()進入查找的菜單,調用 input_search(ch)獲得要查找的內容, file_search()進行查找 調用input_num()輸入待修改的記錄,調 用file_search()進行查找,調用 input_new()輸入新的內容,調用 write_record()進行更新 打開文件,遍歷全部記錄并輸出 調用fopen()打開文件,初始化 關閉文件,退出系統 void search(void) 執行數據查找操作 void change(void) 執行數據記錄項修改操作

溫馨提示

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

評論

0/150

提交評論