版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
廣州番禺職業(yè)技術(shù)學(xué)院C++課程設(shè)計報告設(shè)計題目:通信錄管理系統(tǒng)系別:信息工程學(xué)院專業(yè):嵌入式技術(shù)與應(yīng)用班級:11嵌入式小組成員:凌世林衛(wèi)曉彤李文劍組員分工情況:凌世林:負(fù)責(zé)編寫刪除、修改聯(lián)系人兩個模塊的程序;寫課程設(shè)計報告文檔。衛(wèi)曉彤:負(fù)責(zé)編寫顯示、查詢、復(fù)制聯(lián)系人三個模塊的程序;編寫主程序,調(diào)試程序。李文劍:負(fù)責(zé)編寫添加聯(lián)系人模塊,建Cbook類,寫主菜單,做答辯的PPT。2012年12月8日目錄TOC\o”1—3”\h\z\u廣州番禺職業(yè)技術(shù)學(xué)院 1HYPERLINK\l”_Toc343209843"目錄 2HYPERLINK\l”_Toc343209844"1需求分析 31.1功能需求分析: 3_Toc343209847”2.算法設(shè)計/設(shè)計思想 3HYPERLINK\l”_Toc343209848"2。1設(shè)計思想 3HYPERLINK\l”_Toc343209849”3概要設(shè)計 43。1模塊功能: 43.2.結(jié)構(gòu)總框圖描述 4HYPERLINK\l”_Toc343209852”3.3模塊功能的實現(xiàn) 63。3。1添加聯(lián)系人(add()) 6_Toc343209856”3.3。4修改聯(lián)系人.(alter()) 7_Toc343209858"3.3。6復(fù)制全部信息。(copy()) 8HYPERLINK\l”_Toc343209859"3.3。7保存到文本(save()) 8_Toc343209862”5。調(diào)試結(jié)果 18HYPERLINK\l”_Toc343209863"5.1主菜單 18HYPERLINK\l”_Toc343209864"5。2添加界面 19HYPERLINK\l”_Toc343209865"5。3查找界面 195.5顯示界面 20HYPERLINK\l”_Toc343209868”5.6修改界面 20HYPERLINK\l”_Toc343209869"5.7復(fù)制界面 20HYPERLINK\l”_Toc343209870”6。設(shè)計總結(jié)及心得體會 21設(shè)計背景隨著社會的進(jìn)展,時代的進(jìn)步,人們可以利用現(xiàn)代化工具便利的進(jìn)行溝通聯(lián)系.例如:手機和電腦已經(jīng)越來越普及化了,成了人們?nèi)粘I顪贤?lián)系的必備工具。但隨著人們生活范圍的擴大,也使得人們需要記住各種伴侶的一些聯(lián)系方式,這當(dāng)然就要需要一個通訊錄來記錄這些繁瑣的事情.因此我們這次設(shè)計了一個用C++編的通訊錄管理系統(tǒng),用來模擬通訊錄的實際應(yīng)用。1需求分析1。1功能需求分析:通訊錄主要有一下模塊:通訊錄界面設(shè)計、添加聯(lián)系人、刪除聯(lián)系人、顯示全部聯(lián)系人、修改信息、查詢聯(lián)系人、復(fù)制通訊錄,同時具備文件的保存和讀取。1。2環(huán)境需求分析:操作系統(tǒng):Windows開發(fā)環(huán)境:VC++6。02。算法設(shè)計/設(shè)計思想2.1設(shè)計思想采納模塊化設(shè)計思想,分別定義了一個類:然后在類中定義實現(xiàn)各個功能的函數(shù)。在個人類中定義了五個私有變量,分別是姓名,電話,地址,郵箱和QQ號。首先進(jìn)入主菜單。由主菜單選擇各個功能。而且在這個類中實現(xiàn)了用文件保存信息,實現(xiàn)了信息的保存與讀取。3概要設(shè)計3.1模塊功能:(1)添加聯(lián)系人;(2)查找聯(lián)系人;(3)刪除聯(lián)系人;(4)修改聯(lián)系人;(5)顯示聯(lián)系人;(6)復(fù)制全部信息;(7)退出此系統(tǒng)3.2。結(jié)構(gòu)總框圖描述總菜單選項總菜單選項add()添加find()查找del()刪除alter()修改appear()顯示copy()復(fù)制Exit選項主函數(shù)個人通訊錄3。3模塊功能的實現(xiàn)進(jìn)入主函數(shù)的主菜單,當(dāng)進(jìn)入通訊錄后,會消滅一個功能選擇菜單;1.添加聯(lián)系人(add()) 2.查找聯(lián)系(find()) 3.刪除聯(lián)系人.(del())4。修改聯(lián)系人.(alter()); 5.顯示聯(lián)系人(appear())6.復(fù)制全部信息.(copy()) 7。關(guān)閉該通迅錄3.3。1添加聯(lián)系人(add())(1)依據(jù)提示依次輸入個人信息:姓名,電話,地址,郵箱和QQ號。(2)輸入完成第一個聯(lián)系人的信息后會提示你新聯(lián)系人信息已經(jīng)保存好!你按任意鍵重新選擇功能菜單。3。3。2查找聯(lián)系(find())(1)首先建立一個輸入流文件,用來連接存儲信息的文本,若找不到文件,則提示”對不起?。。?!文件找不到!!!!。。。.。.”(2)若能找到文件,則提示”請用戶輸入你想查找的聯(lián)系人的信息(姓名、聯(lián)系方式、地址、郵箱、QQ任選一個):”(3)若沒有此人的話,則提示"對不起!!!聯(lián)系人中沒你找的人?。。?!"若有,則將顯示所要查找的聯(lián)系人的全部信息。你按任意鍵重新選擇功能菜單。3.3。3刪除聯(lián)系人.(del())(1)首先建立一個輸入流文件和一個輸出流文件,用來連接存儲信息的文本和和一個臨時文本,若找不到文件,則提示”對不起!!!!文件找不到!!!!。..。..”(2)若能找到文件,則提示”請用戶輸入你想刪除的聯(lián)系人的姓名或聯(lián)系方式:"(3)若沒有此人的話,則提示”對不起!!!聯(lián)系人中沒你找的人??!!!"若有,則將顯示所要刪除的聯(lián)系人的全部信息,并且提示"這個人的信息已經(jīng)從你的通迅錄中刪除!!!”你按任意鍵重新選擇功能菜單。3。3。4修改聯(lián)系人.(alter())(1)首先建立一個輸入流文件和一個輸出流文件,用來連接存儲信息的文本和和一個臨時文本,若找不到文件,則提示”對不起?。。?!文件找不到!!!!.。。..."(2)若能找到文件,則提示"請用戶輸入你想修改的聯(lián)系人的信息(姓名、聯(lián)系方式、地址、郵箱、QQ任選一個):”(3)若沒有此人的話,則提示"對不起??!!聯(lián)系人中沒你找的人!!!!”若有,則你可以依據(jù)提示修改信息。修改完成后會提示你”這個人的信息已經(jīng)在你的通迅錄中修改!!!"你按任意鍵重新選擇功能菜單.3.3.5顯示聯(lián)系人(appear())(1)首先建立一個輸入流文件,用來連接存儲信息的文本,若找不到文件,則提示”對不起!!!!文件找不到!?。。?。。..。.”(2)若能找到文件,文本中卻沒有信息的話,則提示”你的通迅錄中沒有聯(lián)系人!!?。?",有信息的話,顯示全部信息你按任意鍵重新選擇功能菜單。3。3.6復(fù)制全部信息。(copy())(1)首先建立一個輸入流文件和一個輸出流文件,用來連接存儲信息的文本和和一個復(fù)制存儲文本,若找不到文件,則提示"對不起!!!!文件找不到!!!!。?!保?)復(fù)制完成后會提示”已經(jīng)復(fù)制完畢!!!”3。3。7保存到文本(save())建立一個輸出流文件用來連接存儲信息的文本,將數(shù)據(jù)存儲到文本。3。3。8退出系統(tǒng)4.各模塊簡略代碼設(shè)計(1)主函數(shù)voidmain(){ intchoice; Cbookperson(“世林”,,"",”865808840com”,”865808340"); while(1) { system("cls"); system(”color2b"); person.menu(); cout<〈”請選擇(1—7):”<〈endl; cin>>choice; while(getchar()!='\n’)//清除行輸入緩沖區(qū) continue; switch(choice) { case1: person.add(); break; case2: person.find(); break; case3: person。del(); break; case4: person.alter(); break; case5: person.appear(); break; case6: person。copy(); break;case7: exit(0); break; default: cout〈〈endl<<endl<<"輸入錯誤!請輸入1~7:"<〈endl<〈endl;system(”pause");break; } } }(2)Cbook類的定義classCbook{public:Cbook(char*na,char*te,char*addre,char*ema,char*q); voidmenu();/*主菜單*/voidadd();/*添加聯(lián)系人*/ voidfind();/*查找聯(lián)系人*/ voiddel();/*刪除聯(lián)系人*/voidalter();/*修改聯(lián)系人*/ voidappear();/*顯示聯(lián)系人*/ voidcopy();/*復(fù)制全部信息*/ voidsave();/*保存信息*/private:charname[12];chartel[15];charaddress[22];charemail[20]; charqq[12];};Cbook::Cbook(char*na,char*te,char*addre,char*ema,char*q){ strcpy(name,na); strcpy(tel,te); strcpy(address,addre); strcpy(email,ema); strcpy(qq,q);}//添加新聯(lián)系人voidCbook::add(){cout〈〈endl<〈"請用戶依據(jù)下面提示輸入新聯(lián)系人信息:”<<endl〈〈endl<<”姓名:”;cin〉〉name;cout<〈”電話:";cin>〉tel; cout〈〈”地址:";cin>>address; cout〈<"郵箱:”;cin>>email; cout〈<"QQ號:”;cin〉〉qq; save();cout<〈endl<〈"新聯(lián)系人信息已經(jīng)保存好!...。.?!?lt;〈endl<<endl;system(”pause”);}//查找聯(lián)系人voidCbook::find(){ifstreaminput(”person.txt",ios::in);if(!input){cout<〈endl<〈”對不起!??!!文件找不到!!!!。。。。。。"<〈endl;system(”pause");return;}stringsign;cout<<endl〈〈”請用戶輸入你想查找的聯(lián)系人的信息(姓名、聯(lián)系方式、地址、郵箱、QQ任選一個):"<〈endl;cin>>sign;fflush(stdin);boolflag=true;stringstr;while(input>〉name〉>tel>〉address〉>email〉>qq){getline(input,str);if((name==sign)||(tel==sign)||(sign==address)||(sign==email)||(sign==qq)){cout〈<endl〈〈"你要查找的聯(lián)系人信息有:"〈〈endl<〈endl;cout〈<setiosflags(ios::left)<〈setw(10)〈〈name<〈"”〈〈setw(10)〈〈tel〈〈""<<setw(10)〈<address〈〈""<<setw(10)〈<email〈〈"”<〈setw(12)〈〈qq<<endl;flag=false;system("pause");break;} }if(flag) { cout〈〈"對不起!!!聯(lián)系人中沒你找的人!!!!"<〈endl; system("pause"); }}//。刪除聯(lián)系人.voidCbook::del(){fstreamoutput("temp.txt",ios::out);ifstreaminput(”person.txt",ios::in);if(!output||!input){cout〈<endl<<”對不起!?。?!找不到該文件!!!!"<<endl;system("pause");return;} stringsign;cout<〈endl<<”請輸入你要刪除的聯(lián)系人的姓名或聯(lián)系方式:”〈<endl;cin〉>sign;boolflag=true;stringstr;while(input〉〉name〉〉tel){getline(input,str); if((sign==name)||(sign==tel)){cout<〈endl〈〈"你想刪除的聯(lián)系人:"<<endl〈〈endl;cout〈〈setiosflags(ios::left)〈<setw(10)<<name〈〈””<<tel〈〈str<〈endl;flag=false;break;}output〈〈setiosflags(ios::left)〈〈setw(12)<〈name<〈""<<tel<<str〈<endl;}if(flag){cout〈<endl〈<”對不起??!!聯(lián)系人中沒你找的人?。?!"<<endl<〈endl;}else{while(getline(input,str)){output<<str<〈endl;}output.close();input。close();ofstreamout(”person。txt",ios::out);ifstreamin(”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)系人voidCbook::alter(){charc;ofstreamoutput("temp。txt”,ios::out);ifstreaminput(”person.txt”,ios::in);if(!output||!input){cout〈<endl<<"對不起!!!!找不到文件??!!!”〈<endl;system("pause”);return;}stringsign;cout<〈endl〈〈”請輸入你要修改的聯(lián)系人的信息(姓名、聯(lián)系方式、地址、郵箱、QQ任選一個):”;cin〉〉sign;stringstr1;boolflag=true;stringstr;while(input〉>name>〉tel〉〉address〉>email〉>qq){getline(input,str);if((sign==name)||(sign==tel)||(sign==address)||(sign==email)||(sign==qq)){cout<<endl<〈”你想修改的聯(lián)系人信息有:”<<endl<<endl;cout<〈""〈〈endl;cout〈〈setiosflags(ios::left)<〈setw(10)〈〈name<<”"<〈setw(10)〈〈tel<<”"<<setw(10)<<address〈〈””<〈setw(10)〈<email<〈"”<〈setw(12)〈<qq〈<endl; cout〈〈”"〈〈endl;do { cout<〈”1。修改姓名2。修改聯(lián)系方式3。修改地址4。修改郵箱5.修改QQ號碼6.退出修改\n”〈〈endl; cout<〈"請選擇(1—6)要修改的信息\n”〈<endl; cin〉〉c; if(c!='6') cout<〈”請輸入新的信息:"; switch(c) { case'1’:cin〉>name;break; case'2':cin>〉tel;break; case'3':cin〉〉address;break; case'4’:cin>〉email;break; case’5':cin〉>qq;break; default:break; } }while(c!=’6'); save(); system("cls”); cout〈〈”\t***修改成功***\n”<<endl;flag=false;break; }output〈〈setiosflags(ios::left)〈<setw(10)〈〈name〈<""〈〈setw(10)〈<tel<<”"〈<setw(10)<〈address〈<”"〈〈setw(10)<〈email<〈""〈〈setw(12)〈<qq<<endl;}if(flag){cout〈〈endl〈〈”對不起??!!聯(lián)系人中沒你找的人!!!!"<<endl〈〈endl;}else{while(getline(input,str)){output<<str〈<endl;}output.close();input。close();ofstreamout(”person。txt”,ios::out);ifstreamin("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)系人voidCbook::appear(){ifstreaminput("person。txt",ios::in);if(!input){cout<〈endl〈〈”對不起!!!!沒有找到文件??!!!!”<〈endl;system(”pause”);return;}boolflag=true;stringrecord;while(getline(input,record)){if(flag){cout〈〈endl〈<”全部聯(lián)系人信息如下:"〈<endl;}cout〈〈record<<endl;flag=false;}if(flag){cout<〈endl<〈”你的通迅錄中沒有聯(lián)系人!!??!!"<〈endl〈<endl;}else{cout<〈endl〈〈”全部聯(lián)系人已全部顯示出來!?。。。?<<endl〈〈endl;}system(”pause");}//復(fù)制全部信息voidCbook::copy(){ ifstreaminput("person.txt”,ios::in); ofstreamoutput(”copy.txt”,ios::out);if(!input||!output){cout〈〈endl〈<"對不起!!!!沒有找到文件!!!!!”〈〈endl;system(”pause”);return;}stringrecord;while(getline(input,record)){output<<record<<endl;}output。close();input.close();cout<<endl<〈"已經(jīng)復(fù)制完畢!??!”<<endl〈〈endl;system("pause");}//存儲信息到文件voidCbook::save(){ofstreamoutput("person.txt”,ios::app);//定義輸出文件流對象output,打開方式為追加!ifstreamin(”person。txt”,ios::in);if(!output||!in){cout〈<endl〈<”對不起??!!打開文件失??!!!!”<<endl〈〈endl;system("pause");return;//或用exit(1);} stringstr; getline(in,str); inti;//if(i==1&&str=="\0"){output〈<setiosflags(ios::left)<〈setw(10)〈〈"姓名”〈<""<<setw(10)<〈"聯(lián)系方式”〈<””〈〈setw(10)〈〈"地址”<〈""〈〈setw(10)<<”郵箱”<<"”〈〈setw(12)〈〈”QQ號"<<endl;}i++;output〈<setiosflags(ios::left)〈〈setw(10)<<name<〈”"<〈setw(10)<〈tel〈〈"”<<setw(10)〈〈address<<””<<setw(10)〈<email〈〈””<〈setw(12)<〈qq<〈endl;output。close(); in.close();}//主菜單voidCbook::menu(){ cout〈<”\t★★★(*^__^*)(*^__^*)(*^__^*)(*^__^*)(*^__^*)(*^__^*)★★★”<〈endl<<"\t%>_〈%歡迎進(jìn)入通訊錄管理系統(tǒng)%>_<%"<〈endl <<”\t%〉_〈%%〉_〈%”<<endl 〈〈”\t%>_〈%
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 施工勞務(wù)合同簡易版2篇
- 攪拌機銷售合同范例3篇
- 新版視頻剪輯視頻合同3篇
- 新最完整房屋買賣合同范文3篇
- 教育培訓(xùn)服務(wù)合同協(xié)議書3篇
- 放牧合同書樣本全新版3篇
- 工業(yè)振動控制設(shè)備安裝工程合同書3篇
- 斷橋鋁門窗安裝招標(biāo)3篇
- 數(shù)量責(zé)任聲明3篇
- 撤銷委托決定3篇
- 2024-2030年中國金華火腿腌制項目可行性研究報告
- 2024-2030年中國家用小家電項目可行性研究報告
- 《隧道工程監(jiān)控量測》課件
- 環(huán)保項目荒山租賃協(xié)議模板
- xx單位政務(wù)云商用密碼應(yīng)用方案V2.0
- 2024年度校園體育設(shè)施維修保養(yǎng)合同
- 機電一體化項目職業(yè)技能大賽試題(SX-815Q)
- 電廠應(yīng)急物資培訓(xùn)
- 2025年春九年級語文下冊 第三單元綜合測試卷(人教陜西版)
- 吊裝起重作業(yè)安全培訓(xùn)課件
- 行政人員的培訓(xùn)
評論
0/150
提交評論