算法與數(shù)據(jù)結(jié)構(gòu)設(shè)計_第1頁
算法與數(shù)據(jù)結(jié)構(gòu)設(shè)計_第2頁
算法與數(shù)據(jù)結(jié)構(gòu)設(shè)計_第3頁
算法與數(shù)據(jù)結(jié)構(gòu)設(shè)計_第4頁
算法與數(shù)據(jù)結(jié)構(gòu)設(shè)計_第5頁
已閱讀5頁,還剩12頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、題目二:通訊錄的實現(xiàn)一,課題內(nèi)容和要求基本要求:實現(xiàn)一個以帶表頭結(jié)點的單鏈表為存儲結(jié)構(gòu)的通訊錄,其中通訊錄的信息中包 括姓名、電話、地址等數(shù)據(jù)項。所設(shè)計的系統(tǒng)要有簡單的DOS界面,方便用戶進(jìn)行操作, 顯示以下功能:(1)建立通訊錄。(2)插入、刪除、修改通訊錄記錄(3)查詢通訊錄記錄,要求可按姓名和電話號碼查詢(4)可按姓名或電話號碼對訊錄進(jìn)行排序(5)輸出通訊錄到文本文件中。提高要求:建立通訊錄時,從文本文件中輸入通訊錄記錄,從而建立通訊錄。分配該題目的學(xué)生學(xué)號: 10001111-10001120二、需求分析(1)建立一個類,類中包含添加聯(lián)系人函數(shù)void add_person();刪除聯(lián)

2、系人void add_person();顯示所有聯(lián)系人void show_all();修改信息void alter();查詢聯(lián)系人void select();保存新增加的聯(lián)系人void save_new();同時,通訊錄中包含 name姓名address 地址number電話號碼 mail郵箱(2)系統(tǒng)總流程圖三,概要設(shè)計定義一個結(jié)構(gòu)體,在其中聲明結(jié)構(gòu)變量,然后定義字符串,來存放要用 到的變量。然后定義此程序的其他功能模塊的原型。主函數(shù)調(diào)用各個功能子函數(shù), 定義各個功能子函數(shù),通過class person創(chuàng)建一個聯(lián)系人信息函數(shù)。通過 add_person做添加的函數(shù),實現(xiàn)聯(lián)系人信息的錄入。通過

3、del_person做個 刪除的函數(shù),實現(xiàn)聯(lián)系人信息的刪除。通過show_all做一個顯示的函數(shù),顯示 所有聯(lián)系人的信息。通過select做一個查詢信息的函數(shù),實現(xiàn)查詢某聯(lián)系人的信 息。通過alter做一個修改信息的函數(shù),實現(xiàn)修改某聯(lián)系人的信息。在程序中需 要輸入的內(nèi)容包括:聯(lián)系人的錄入實現(xiàn)過程:根據(jù)提示選擇“1 進(jìn)入添加聯(lián)系人信息界面,按步驟輸入要添加 的信息,以“Enter”鍵結(jié)束,然后由系統(tǒng)自動調(diào)用信息錄入函數(shù),聯(lián)系人的信息保 存在事先定義的文件中。(2)聯(lián)系人的刪除實現(xiàn)過程:根據(jù)提示選擇”2 ”進(jìn)入刪除聯(lián)系人信息界面,按步驟輸入要刪除 的聯(lián)系人姓名或號碼,以”Enter”鍵結(jié)束,然后由

4、系統(tǒng)自動調(diào)用信息刪除函數(shù),刪 除聯(lián)系人后保存在事先定義的數(shù)據(jù)庫中。(3)顯示所有聯(lián)系人實現(xiàn)過程:根據(jù)提示選擇”3 ”進(jìn)入現(xiàn)顯示所有聯(lián)系人信息界面,由系統(tǒng)自動 調(diào)用顯示聯(lián)系人信息函數(shù)。(4)聯(lián)系人的修改實現(xiàn)過程:根據(jù)提示選擇“4 ”進(jìn)入聯(lián)系人信息的修改界面,按步驟輸入要修 改的聯(lián)系人姓名或號碼,以“Enter”鍵結(jié)束,此時所有的基本信息都被要求重新輸 入。(5)聯(lián)系人的查詢實現(xiàn)過程:根據(jù)提示選擇“5 ”進(jìn)入聯(lián)系人信息的查詢界面,按步驟輸入要查 詢的聯(lián)系人姓名或號碼,以“Enter”鍵結(jié)束,由系統(tǒng)自動調(diào)出所需要查詢的信息。四,詳細(xì)設(shè)計1,添加聯(lián)系人(1)函數(shù)聲明為:void person:add_

5、person();(2)功能:該函數(shù)用來錄入聯(lián)系人信息,name是姓名,number是號碼,mail 是電子郵箱,address是籍貫。(3)流程圖為:選擇1開始函數(shù)定義為:void person:add_person()(cout endl 根據(jù)下面提示輸入新聯(lián)系人信息 endl endl;cout name;cout number;cout mail;cout address;save_new();cout endl endl 新聯(lián)系人信息已經(jīng)保存好! endl endl;2,聯(lián)系人查詢函數(shù)函數(shù)聲明為:void person:select();(2)功能:該函數(shù)用來查找指定的聯(lián)系人的基本信

6、息(包括姓名,號碼,電子 郵箱,籍貫)。(3)流程圖:函數(shù)定義為:void person:select()(ifstream inData(pperson.txt,ios:in);if (!inData)(cout endl 對不起!文件找不到! endl;system(pause);return;string sign;cout endl sign;fflush(stdin);string str1;bool flag = true;string str;while (inData name number)(getline(inData, str);if (name=sign) | (num

7、ber=sign)(cout endl 你要查找的聯(lián)系人是: endl endl;cout str1 endl;cout setiosflags(ios:left) setw(17) namenumber str endl;flag = false;system(pause);break;void person:save_new()(ofstream outData(pperson.txt, ios:app);if (!outData)(cout endl 對不起!打開文件失??! endl endl;system(pause);return;outData setiosflags(ios:le

8、ft) setw(17) name setw(16) number setw(14) mail setw(20) address endl;outData.close();3,聯(lián)系人信息修改函數(shù)函數(shù)聲明為:void person:alter();功能:該函數(shù)用來修改聯(lián)系人信息。流程圖:函數(shù)定義為:void person:alter()(ofstream outData(temp.txt, ios:out);ifstream inData(pperson.txt, ios:in); / if (!outData | !inData)(cout endl 對不起!找不到文件! endl;syste

9、m(pause);return;string sign;cout endl sign;string str1;bool flag = true;string str;while (inData name number)(getline(inData, str);if (sign=name) | (sign=number)(endl;nameendl;cout endl endl;nameendl;cout str1 endl;cout setiosflags(ios:left) setw(17)number str endl;cout endl 請根據(jù)下面提示修改信息:cout name;ff

10、lush(stdin);cout number;fflush(stdin);fflush(stdin);cout mail;fflush(stdin);cout address;fflush(stdin);save_new();flag = false;break;outData setiosflags(ios:left) setw(17) name number str endl;if (flag)(cout endl 對不起!聯(lián)系人中沒你找的人! endl endl;else(while (getline(inData, str)(outData str endl;outData.clos

11、e();inData.close();ofstream out(pperson.txt, ios:out);ifstream in(temp.txt,ios:in);if (!out | !in) (cout endl 對不起不能打開文件! endl endl;system(pause);return;while (getline(in, str)(out str endl;out.close();in.close();cout endl 這個人的信息已經(jīng)在你的通迅錄中修改! endl endl;system(pause);聯(lián)系人信息刪除函數(shù)函數(shù)聲明為:void person:del_pers

12、on();功能:該函數(shù)用來刪除某聯(lián)系人信息。流程圖:函數(shù)定義為:void person:del_person()(ofstream outData(temp.txt, ios:out);ifstream inData(pperson.txt, ios:in); /if (!outData | !inData)(cout endl 對不起!找不到文件! endl;system(pause);return;string sign;cout endl sign;string strl;bool flag = true;string str;while (inData name number)(get

13、line(inData, str);if (sign=name) | (sign=number)(cout endl 你想刪除的聯(lián)系人: endl endl;cout str1 endl;cout setiosflags(ios:left) setw(17) namenumber str endl;flag = false;break;outData setiosflags(ios:left) setw(17) namenumber str endl;if (flag)(cout endl 對不起!聯(lián)系人中沒你找的人!” endl endl;else(while (getline(inData

14、, str)(outData str endl;outData.close();inData.close();ofstream out(pperson.txt, ios:out);ifstream in(temp.txt,ios:in);if (!out | !in)(cout endl 對不起不能打開文件! endl endl;system(pause);return;while (getline(in, str)(out str endl;out.close();/in.close();cout endl 這個人的信息已經(jīng)從你的通迅錄中刪除! endl endl;system(pause)

15、;五、測試數(shù)據(jù)及其結(jié)果分析W通 迅 錄】添加新聯(lián)系赤丁刪除聯(lián)系人顯示所有聯(lián)系太修改信息查詢聯(lián)系人二關(guān)閉通訊錄1,運行中Dos界面據(jù)下面提示輸宿Ji聯(lián)系人信息名謔子布貝 姓一曰心碼箱號郵657S51 happyman (?n uptcni Losangles據(jù)下面提示輸宿Ji聯(lián)系人信息名謔子布貝 姓一曰心碼箱號郵657S51 happyman (?n uptcni Losangles新聯(lián)系人信息已經(jīng)保存好?2,通訊錄中錄入聯(lián)系人的信息解入你的選擇=3 新聯(lián)系人信息已經(jīng)保存好?2,通訊錄中錄入聯(lián)系人的信息解入你的選擇=3 所有聯(lián)系我信息如下. kobe657651liappijmanOnupt.

16、cn Losangles所有聯(lián)系內(nèi)已經(jīng)全部顯示出剌 請按任意鍵繼續(xù)- - -據(jù)下面提示修改信息 ikobebryant #5:67152 郵箱 zhappyPnupt.zLALcn657651你想修改的聯(lián)系人R3,顯示通訊錄中聯(lián)系人的信息4,修改聯(lián)系人的信息,包括姓名,電話號碼,郵箱與籍貫據(jù)下面提示修改信息 ikobebryant #5:67152 郵箱 zhappyPnupt.zLALcn657651你想修改的聯(lián)系人R3,顯示通訊錄中聯(lián)系人的信息4,修改聯(lián)系人的信息,包括姓名,電話號碼,郵箱與籍貫1.15你要修改輸入姓名或電話號工加尚happman(?nupt. cn Losangles個:的信息已經(jīng)在你的通迅錄中修改?”輸入你的選擇:5入你想查找的聯(lián)系人的姓名或電

溫馨提示

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

評論

0/150

提交評論