C++課程設(shè)計(jì)報(bào)告_第1頁
C++課程設(shè)計(jì)報(bào)告_第2頁
C++課程設(shè)計(jì)報(bào)告_第3頁
C++課程設(shè)計(jì)報(bào)告_第4頁
C++課程設(shè)計(jì)報(bào)告_第5頁
已閱讀5頁,還剩13頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

課程設(shè)計(jì)報(bào)告題目 通信錄的設(shè)計(jì) 學(xué) 院 專 業(yè) 班 級(jí) 學(xué)生姓名:12月_15_日至J2_月_28_日共2周指導(dǎo)教師(簽字) 院長(zhǎng)(主任)(簽字) 2014年12月19日一、設(shè)計(jì)內(nèi)容及要求設(shè)計(jì)要求:定義人員(person)類,其中至少包括姓名、性別、年齡、電話和類別(例如:同學(xué)、朋友等)。二、實(shí)現(xiàn)下面的功能:1輸入功能:輸入人員信息。2、查詢功能:

1) 能夠根據(jù)姓名精確查詢?nèi)藛T信息;2) 根據(jù)電話號(hào)碼查詢?nèi)藛T信息。3、 根據(jù)姓名對(duì)人員信息排序輸出。4、 能根據(jù)姓名、電話修改人員信息。5、 能根據(jù)姓名、電話刪除人員信息。三、分析與設(shè)計(jì)3.1系統(tǒng)模塊設(shè)計(jì)根據(jù)系統(tǒng)的功能設(shè)計(jì),如下模塊主界面顯示功能選擇通訊錄信息錄入通訊錄信息修改通訊錄信息查詢通訊錄信息導(dǎo)入通訊錄信息導(dǎo)出通訊錄信息刪除主界面顯示功能選擇通訊錄信息錄入通訊錄信息修改通訊錄信息查詢通訊錄信息導(dǎo)入通訊錄信息導(dǎo)出通訊錄信息刪除主界面模塊:完成系統(tǒng)菜單的顯示功能選擇模塊:根據(jù)用戶的選擇,完成其相應(yīng)的功能(1) 通訊錄信息錄入:完成用戶從界面輸入通訊錄,保存入系統(tǒng)的功能(2) 通訊錄信息修改:完成用戶從界面輸入通訊錄,在系統(tǒng)中查詢定位,并將錄入的數(shù)據(jù)保存入系統(tǒng)的功能(3) 通訊錄信息查詢:完成用戶從界面輸入查詢條件,在系統(tǒng)查詢符合條件的通訊錄信息,并在界面上顯示的功能。(6)通訊錄信息刪除:完成用戶從界面輸入需要的通訊錄信息的姓名,并將其從系統(tǒng)中刪除。3.2數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)根據(jù)系統(tǒng)要求,系統(tǒng)中需要保存的數(shù)據(jù)有通訊錄的信息,其結(jié)構(gòu)如下:數(shù)據(jù)項(xiàng)名稱數(shù)據(jù)項(xiàng)系統(tǒng)表示數(shù)據(jù)類型數(shù)據(jù)長(zhǎng)度備注姓名name字符串20地址address字符串100電話tele字符串203.3界面設(shè)計(jì)主界面:根據(jù)系統(tǒng)要求,設(shè)計(jì)一個(gè)字符界面,顯示系統(tǒng)的菜單,為了體現(xiàn)友好性,將在每個(gè)菜單前顯示該菜單項(xiàng)對(duì)應(yīng)的數(shù)字用戶輸入菜單項(xiàng)前面的數(shù)字,主菜單消失,進(jìn)入該模塊的相應(yīng)界面,進(jìn)行相應(yīng)的操作,完成后,回到主界面。輸入界面:在光標(biāo)下輸入通訊錄的信息,用空格將信息隔開。修改界面:首先輸入通訊錄的姓名,顯示該通訊錄的詳細(xì)信息,輸入修改后的信息,將原來信息修改。刪除界面:輸入需要?jiǎng)h除的姓名,將其從通訊錄中刪除。顯示聯(lián)系人界面:顯示全部聯(lián)系人查詢界面、;輸入聯(lián)系人姓名或號(hào)碼可查詢聯(lián)系人信息3.4模塊實(shí)現(xiàn)主界面實(shí)現(xiàn):調(diào)用cout函數(shù),在屏幕上打印需要顯示的字符信息,需要在顯示之前調(diào)用system(“cls”)函數(shù)將前面的界面清空。對(duì)應(yīng)的實(shí)現(xiàn)函數(shù)menu_show();功能選擇模塊實(shí)現(xiàn):一接受從鍵盤輸入的菜單選擇,判斷并調(diào)用相應(yīng)的功能函數(shù),完成其對(duì)應(yīng)的功能。實(shí)現(xiàn)功能選擇。對(duì)應(yīng)的函數(shù):menu_select();通訊錄信息錄入模塊實(shí)現(xiàn):模塊說明:從鍵盤接收輸入的通訊錄信息,在動(dòng)態(tài)存儲(chǔ)區(qū)中創(chuàng)建通訊錄的節(jié)點(diǎn),遍歷鏈表,將其插入到通訊錄鏈表的最后位置。模塊流程:清屏遍歷鏈表找至"最后一個(gè)節(jié)點(diǎn)創(chuàng)建一個(gè)新節(jié)點(diǎn)從鍵盤給新節(jié)點(diǎn)賦值將新節(jié)點(diǎn)連接到鏈表的最后一個(gè)節(jié)點(diǎn)上對(duì)應(yīng)函數(shù):add(structphone*head)通訊錄信息修改模塊實(shí)現(xiàn):模塊說明:從鍵盤接收輸入的需要修改通訊錄的姓名,遍歷鏈表,判斷節(jié)點(diǎn)的姓名是否輸入的姓名相等,如果相等,從鍵盤輸入修改后的信息,保存在該節(jié)點(diǎn)中,改變標(biāo)識(shí)變量,最后判斷標(biāo)識(shí)變量判斷是否在鏈表中找到該姓名的通訊錄C模塊流程:

對(duì)應(yīng)函數(shù):update(structphone*head)通訊錄信息刪除模塊實(shí)現(xiàn):模塊說明:從鍵盤接收輸入的需要?jiǎng)h除通訊錄的姓名,遍歷鏈表,判斷節(jié)點(diǎn)的姓名是否輸入的姓名相等,如果相等,從鍵盤輸入刪除后的信息,保存在該節(jié)點(diǎn)中,改變標(biāo)識(shí)變量,最后判斷標(biāo)識(shí)變量判斷是否在鏈表中找到該姓名的通訊錄<模塊流程:對(duì)應(yīng)函數(shù):delete(structphone*head)通訊錄信息導(dǎo)入模塊實(shí)現(xiàn):模塊說明:從鍵盤接收輸入的需要?jiǎng)h除通訊錄的姓名,遍歷鏈表,判斷節(jié)點(diǎn)的姓名是否輸入的姓名相等,如果相等,從鍵盤輸入刪除后的信息,保存在該節(jié)點(diǎn)中,改變標(biāo)識(shí)變量,最后判斷標(biāo)識(shí)變量判斷是否在鏈表中找到該姓名的通訊錄C

模塊流程:對(duì)應(yīng)函數(shù):load(structphone*head)通訊錄信息導(dǎo)出模塊實(shí)現(xiàn):模塊說明:從鍵盤接收輸入的需要?jiǎng)h除通訊錄的姓名,遍歷鏈表,判斷節(jié)點(diǎn)的姓名是否輸入的姓名相等,如果相等,從鍵盤輸入刪除后的信息,保存在該節(jié)點(diǎn)中,改變標(biāo)識(shí)變量,最后判斷標(biāo)識(shí)變量判斷是否在鏈表中找到該姓名的通訊錄<模塊流程:對(duì)應(yīng)函數(shù):save(structphone*head)通訊錄信息查詢模塊實(shí)現(xiàn):模塊說明:從鍵盤接收輸入的需要?jiǎng)h除通訊錄的姓名,遍歷鏈表,判斷節(jié)點(diǎn)

的姓名是否輸入的姓名相等,如果相等,從鍵盤輸入刪除后的信息,保存在該節(jié)點(diǎn)中,改變標(biāo)識(shí)變量,最后判斷標(biāo)識(shí)變量判斷是否在鏈表中找到該姓名的通訊錄模塊流程:對(duì)應(yīng)函數(shù):search(structphone*head)通訊錄信息顯示模塊實(shí)現(xiàn):模塊說明:從鍵盤接收輸入的需要?jiǎng)h除通訊錄的姓名,遍歷鏈表,判斷節(jié)點(diǎn)的姓名是否輸入的姓名相等,如果相等,從鍵盤輸入刪除后的信息,保存在該節(jié)點(diǎn)中,改變標(biāo)識(shí)變量,最后判斷標(biāo)識(shí)變量判斷是否在鏈表中找到該姓名的通訊錄<模塊流程:對(duì)應(yīng)函數(shù):list(structphone*head)四?調(diào)試主界面修改界面ilL宗4-慢改信■*,-m-査憂聯(lián)系.人、-a-IE土i邑iiL系-外必-外必-S"l| 12ELBB 卑I離扌壽任:&謎£也繚--- 半.■ 顯示聯(lián)系人界面*.斤也:htjjpWR.甩■ 鳴?MrrafK.BI.?It.1QW|t?M?tA?> 缶―*i4HVK4&^■「Kr A. ?.lOUHhftl戻?亠flMJl

f+P-

V斗TF添加聯(lián)系人界面五?程序源代碼:#include<iostream>#inelude<string>#include<iomanip>#inelude<fstream>#include<cstdlib>intn,m;usingnamespacestd;classmsg{public:

首頁添加聯(lián)系人

刪除聯(lián)系人

顯示所有聯(lián)系人charinter_face();〃voidadd_person();//voiddel_person();//voidshow_all();首頁添加聯(lián)系人

刪除聯(lián)系人

顯示所有聯(lián)系人voidalter();// 修改信息voidselect();//查詢聯(lián)系人voidsave_new();〃 保存新增加的聯(lián)系人private:stringname;// 姓名stringsex;// 性另stringnum;〃 電話號(hào)碼stringad;// 地址stringrl;// 類型};msg::msg(){name="\0";ad="\0";num="\0";sex="\0";rl="\0";}//首頁charmsg::inter_face(){cout<<endl;cout<<"\t\t***********************************************"<<endl<<"\t\tcout<<"\t\t***********************************************"<<endl<<"\t\t<<"\t\t通 迅錄<<"\t\t<<"\t\t1.添加新聯(lián)系人? 4.修改信息.<<"\t\t<<"\t\t2.刪除聯(lián)系人.5.查詢聯(lián)系人.<<"\t\t<<"\t\t3.顯示所有聯(lián)系人.0.退出通迅錄.<<"\t\tVV"\t\t*土***************************************"<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<"\t\t\t選擇:"charchoose;cin>>choose;returnchoose;}//添加聯(lián)系人voidmsg::add_person(){_cout<<endl<<"根據(jù)下面提示輸入新聯(lián)系人信息"<<endl<<endl<<"姓名:";cin>>name;cout<<"電話:";cin>>num;cout<<"類型:";cin>>rl;cout<<"性別:";cin>>sex;cout<<"地址:";cin>>ad;save_new();cout<<endl<<endl<<" 新聯(lián)系人信息已經(jīng)保存好!!!!!"<<endl;}//刪除聯(lián)系人voidmsg::del_person(){ofstreamoutData("temp.txt",ios::out);ifstreaminData("pbook.txt",ios::in);//if(!outData||!inData){cout<<endl<<"對(duì)不起!!!!找不到文件!!!!"<<endl;system("pause");return;}stringsign;cout<<endl<<"你要?jiǎng)h除輸入姓名或電話號(hào):";cin>>sign;stringstr1;boolflag=true;stringstr;while(inData>>name>>num){getline(inData,str);if((sign==name)||(sign==num)){cout<<endl<<"你想刪除的聯(lián)系人:"<<endl<<endl;cout<<str1<<endl;cout<<setiosflags(ios::left)<<setw(17)<<name<<""<<num<<str<<endl;flag=false;break;}outData<<setiosflags(ios::left)<<setw(17)<<name<<""<<num<<str<<endl;}if(flag){cout<<endl<<"對(duì)不起!!!聯(lián)系人中沒你找的人!!!!"<<endl<<endl;}else{while(getline(inData,str)){outData<<str<<endl;}outData.close();inData.close();ofstreamout("pbook.txt",ios::out);ifstreamin("temp.txt",ios::in);if(!out||!in){cout<<endl<<"對(duì)不起不能打開文件!!!"<<endl<<endl;return;}while(getline(in,str)){out<<str<<endl;}out.close();〃in.close();cout<<endl<<"這個(gè)人的信息已經(jīng)從你的通迅錄中刪除 !!!"<<endl<<endl;}}//顯示所有聯(lián)系人voidmsg::show_all(){_ifstreaminData("pbook.txt",ios::in);if(!inData){cout<<endl<<"對(duì)不起!!!!沒有找到文件!!!!!"<<endl;return;}boolflag=true;stringrecord;while(getline(inData,record)){if(flag){cout<<endl<<"所有聯(lián)系人信息如下:"<<endl;cout?"姓名"<<setw(18)vv"電話"<<setw(15)<<"性別"vvsetw(21)vv"類型"<<setw(15)vv"地址"<<endl;}cout<<record<<endl;flag=false;}if(flag){cout<<endl<<"你的通迅錄中沒有聯(lián)系人!!!!!"<<endl<<endl;}else{cout<<endl<<"所有聯(lián)系人已經(jīng)全部顯示出來!!!!!"<<endl<<endl;}}//修改信息voidmsg::alter(){ofstreamoutData("temp.txt",ios::out);ifstreaminData("pbook.txt",ios::in);//if(!outData||!inData){cout<<endl<<"對(duì)不起!!!!找不到文件!!!!"<<endl;return;}stringsign;cout<<endl<<"你要修改輸入姓名或電話號(hào):";cin>>sign;stringstr1;boolflag=true;stringstr;while(inData>>name>>num){getline(inData,str);if((sign==name)||(sign==num)){cout<<endl<<"你想修改的聯(lián)系人:"<<endl<<endl;cout<<str1<<endl;cout<<setiosflags(ios::left)<<setw(17)<<name<<""<<num<<str<<endl;cout<<endl<<"請(qǐng)根據(jù)下面提示修改信息:"<<endl;cout<<"姓名:";cin>>name;fflush(stdin);cout<<"電話號(hào):";cin>>num;fflush(stdin);cout<<"性別:";cin>>sex;fflush(stdin);cout<<"類型:";cin>>rl;fflush(stdin);cout<<"地址:";cin>>ad;fflush(stdin);save_new();flag=false;break;}outData<<setiosflags(ios::left)<<setw(17)<<name<<""<<num<<str<<endl;}if(flag){cout<<endl<<"對(duì)不起!!!聯(lián)系人中沒你找的人!!!!"<<endl<<endl;}else{while(getline(inData,str)){outData<<str<<endl;}outData.close();inData.closeO;ofstreamout("pbook.txt",ios::out);ifstreamin("temp.txt",ios::in);if(!out||!in){cout<<endl<<"對(duì)不起不能打開文件!!!"<<endl<<endl;system("pause");return;}while(getline(in,str)){out<<str<<endl;}out.close();in.close();cout<<endl<<"這個(gè)人的信息已經(jīng)在你的通迅錄中修改 !!!"<<endl<<endl;}}//查詢聯(lián)系人voidmsg::select(){ifstreaminData("pbook.txt",ios::in);if(!inData){cout<<endl<<"對(duì)不起!!!!文件找不到!!!!"<<endl;system("pause");return;}stringsign;cout<<endl<<"輸入你想查找的聯(lián)系人的姓名或電話號(hào)碼:";cin>>sign;fflush(stdin);stringstr1;boolflag=true;stringstr;while(inData>>name>>num){getline(inData,str);if((name==sign)||(num==sign)){cout<<endl<<"你要查找的聯(lián)系人是:"<<endl<<endl;cout<<str1<<endl;cout<<setiosflags(ios::left)<<setw(17)<<name

<<num<<str<<endl;flag=false;system("pause");break;}}}voidmsg::save_new(){_ofstreamoutData("pbook.txt",ios::app);if(!outData){cout<<endl<<"對(duì)不起!!!打開文件失敗!!!!"<<endl<<endl;system("pause");return;}outData<<setiosflags(ios::left)<<setw(17)<<name<<""<<setw(16)<<num<<""<<

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論