C 程式設計之通訊錄

2022-11-27 10:21:03 字數 2831 閱讀 4335

第一完**:黃斌斌(2013211000)

第二完**:劉煒倫(2013210999)

王龍(2013210998)

設計乙個本班同學的通訊錄並能實現:1.通訊錄的編輯(新增、刪除及修改);2.

能夠按不同的項進行查詢(例如按姓名、按**號碼查詢);3.對已存的通訊錄按不同的項進行排序;4.將通訊錄寫入檔案;5.

從檔案讀入通訊錄。

備註:通訊錄中至少應該有以下資料:姓名,位址,**,郵編,e-mail。

首先,通訊錄要有乙個主選單,通過主選單上面的選項進行對通訊錄的操作。例如,瀏覽通訊錄,將檔案中儲存的聯絡人在介面上顯示供使用者查閱;通過新增、刪除及修改選項對通訊錄記憶體有的聯絡人進行修改;通過查詢選項快速查詢到所需查詢的聯絡人訊息;通過退出選項退出程式。

那麼,在編寫程式的時候首先要定義乙個聯絡人的類 people 。然後編寫主函式,使使用者再選擇退出選項之前可以隨心所欲在通訊錄中獲得足夠的訊息。

本通訊錄分為六大模組:

1.主介面模組;

2.瀏覽聯絡人模組;

3.新增聯絡人模組;

4.刪除聯絡人模組;

5.修改聯絡人模組;

6查詢聯絡人模組;

1.主介面模組:

主介面模組下圖所示,主介面有六個選項可選擇:瀏覽、新增、刪除、修改、查詢及退出。選擇其中乙個選項則跳到相應的模組,在其他模組進行操作完畢後返回主介面進行迴圈,選擇0.

退出則為退出通訊錄。

圖 1 主介面

操作指南:若輸入為0-5,則進行相應的操作;若輸入其他字元,就會顯示「輸入錯誤,請重新選擇」,並迴圈回主介面,讓使用者重新選擇。

圖 2 輸入錯誤介面

2.瀏覽聯絡人模組:

選擇主介面的1選項後跳到本模組,立即顯示在通訊錄中所有的聯絡人,並預設按姓名排序,此外,模組末尾處有七個選項,選擇後可按不同的項對聯絡人進行排序,或者選擇0.退出返回主介面。

圖 3 瀏覽聯絡人介面

操作指南:選擇輸入1-6進行不同項的排序,選擇0返回主介面;若輸入其他字元就會提示「選擇有誤,請重新進行選擇:」,並讓使用者重新選擇。

圖 4 輸入錯誤介面

3.新增聯絡人模組:

在主介面選擇2.新增進入此模組,隨後使用者可根據介面提示依次輸入聯絡人的姓名、位址、**號碼、qq號碼、郵箱及郵政編碼。輸入完畢後程式將聯絡人儲存至檔案中,並將通訊錄中所有聯絡人按姓名依次顯示出來,方便使用者確認儲存成功,並在末尾顯示「儲存聯絡人成功!!!

」字樣。隨後返回主介面供使用者進行其他操作。

4.查詢聯絡人模組:

通過主介面的3選項進入此模組,此模組下可通過不同的選項進行查詢聯絡人,並在查詢成功後將所有符合條件的聯絡人顯示出來,若搜尋不到符合條件的聯絡人,則顯示「查詢的聯絡人不存在!!!」字樣

圖 5 查詢成功

圖 6 查詢失敗

5.刪除聯絡人模組:

在主介面選擇4選項之後進入此模組,此模組會將檔案中存有的所有通訊錄聯絡人按姓名依次顯示,在每乙個聯絡人前面有乙個編號,使用者只需輸入所要刪除的聯絡人的編號,便可從檔案中刪除此聯絡人的所有相關資訊。並將剩餘聯絡人按名字依次顯示,讓使用者確信聯絡人已經刪除,同時顯示「刪除聯絡人成功!!!」字樣,隨後返回主介面。

圖 7 刪除聯絡人成功

操作指南:若是輸入編號之外的字元,則會顯示「沒有這個編號,請重新輸入:」並讓使用者重新輸入直至輸入正確的編號。

圖 8 輸入編號錯誤

6.修改聯絡人模組:

在主介面選擇5選項進入此模組,此模組會將檔案中存有的所有通訊錄聯絡人按姓名依次顯示,在每乙個聯絡人前面有乙個編號,使用者只需輸入所要修改的聯絡人的編號,便會出現提示依次修改聯絡人的使用者資訊,儲存到檔案中,顯示檔案中所有聯絡人並會出現「修改聯絡人成功!!!」字樣,隨後返回主介面。

圖 9 修改聯絡人輸入圖

圖 10 修改聯絡人顯示圖

操作指南:若出入編號之外的字元,將會如刪除聯絡人模組一樣顯示「沒有這個編號,請重新輸入:」字樣,讓使用者重新輸入直至輸入正確的編號。

本通訊錄在編寫完畢後仍存在一些不足之處。首先是主介面選擇時,如果使用者輸入0到5的其他字元如「a」,那麼程式將會出現錯誤,只能強行關閉。隨後我們採用了強制轉換的方法,使得choose的值在0到7之內,避免程式崩潰。

再乙個是在刪除聯絡人以及修改聯絡人的編號選擇上也出現了同樣的問題,但是編號的值範圍可能是兩位數或者三位數,那麼強制轉換的方法就行不通了,所以使用到了 atoi 函式,使用這個函式能使輸入的字串中的數字字元轉換成整型,而其他字元則轉換為0。

//by 2013210998 2013210999 2013211000

#include

#include

#include

using namespace std;

class people

;people a[200];//建立陣列

void arrange();

void arrange_1()//輸出排序選項

int choose_1()//強制轉換函式,保證choose在0-6之間

return (choose);

}void search() //查詢聯絡人函式

{int choose=1;char tem;

cout<<" 1.按姓名查詢 2.按位址查詢 3.

按**號碼查詢 "

按qq號碼查詢 "

choose=choose_1

switch(choose)

{case 1:search_name();break;

case 2:search_addr();break;

case 3:search_tele();break;

C語言程式設計報告通訊錄

c語言程式設計 課程設計報告 設計題目 通訊錄 學號2010211766 班級通訊與資訊類0101012班 姓名萬同堂 2011年12月03日 設計功能 錄入聯絡人資訊 包括姓名 號碼 位址等資訊 通訊錄管理系統要求實現以下功能 1 輸入每一位聯絡人記錄,將其資訊存入檔案中。2 查詢所有聯絡人的資訊...

C語言通訊錄

題目 通訊錄管理系統 院系 資訊科技學院 專業 通訊工程 姓名 伍力 學號 0851100319 指導教師 楊呈永 桂林電子科技大學資訊科技學院 1 程式名稱3 2 應用程式簡介3 3 3 1 應用程式基本內容3 3 2 執行環境3 4 系統設計3 4.1模版式設計3 4.2主要函式的流程圖4 4....

通訊錄管理系統C語言程式設計實習報告

c 語言課程設計 題目 通訊錄管理系統 設計者 院系 數理學院 專業 資訊與計算科學 班號 123111 學號 20111000586 指導教師 吳湘寧 2012年6月29日 1.題目要求 通訊錄管理系統是具有資料插入 更新 刪除 顯示和查詢功能的 簿管理程式。1 資料報括姓名 工作單位 號碼和e ...