![C++程序設(shè)計(jì)通訊錄管理系統(tǒng)_第1頁](http://file4.renrendoc.com/view/0c60f96679058051bdb94bf603bf2ed4/0c60f96679058051bdb94bf603bf2ed41.gif)
![C++程序設(shè)計(jì)通訊錄管理系統(tǒng)_第2頁](http://file4.renrendoc.com/view/0c60f96679058051bdb94bf603bf2ed4/0c60f96679058051bdb94bf603bf2ed42.gif)
![C++程序設(shè)計(jì)通訊錄管理系統(tǒng)_第3頁](http://file4.renrendoc.com/view/0c60f96679058051bdb94bf603bf2ed4/0c60f96679058051bdb94bf603bf2ed43.gif)
![C++程序設(shè)計(jì)通訊錄管理系統(tǒng)_第4頁](http://file4.renrendoc.com/view/0c60f96679058051bdb94bf603bf2ed4/0c60f96679058051bdb94bf603bf2ed44.gif)
![C++程序設(shè)計(jì)通訊錄管理系統(tǒng)_第5頁](http://file4.renrendoc.com/view/0c60f96679058051bdb94bf603bf2ed4/0c60f96679058051bdb94bf603bf2ed45.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
《c++通訊錄管理系統(tǒng)》學(xué)號:1514010803班級:軟件八班姓名:付博指導(dǎo)教師:沙晨明目錄1系統(tǒng)設(shè)計(jì)目標(biāo)及意義、功能介紹·································32系統(tǒng)的詳細(xì)設(shè)計(jì)思路·································33系統(tǒng)運(yùn)行效果圖·································114系統(tǒng)設(shè)計(jì)、開發(fā)過程中的問題·································135課程設(shè)計(jì)心得體會·································136附錄源代碼及簡要說明·································13一、系統(tǒng)設(shè)計(jì)目標(biāo)及意義、功能介紹系統(tǒng)設(shè)計(jì)的目標(biāo)及意義1,主界面2,添加聯(lián)系人信息3刪除聯(lián)系人信息4顯示所有聯(lián)系人5,修改信息6,查詢聯(lián)系人信息7,關(guān)閉系統(tǒng)四,系統(tǒng)開發(fā)過程中遇到的問題在初步完成該程序時(shí),我發(fā)現(xiàn)程序有一個(gè)嚴(yán)重的漏洞,當(dāng)系統(tǒng)保存的學(xué)生信息中有同名或者編號相同的同學(xué)時(shí),這時(shí)若要執(zhí)行查詢或者刪除學(xué)生信息時(shí),只能查詢到或刪除第一個(gè)符合條件的同學(xué),這就導(dǎo)致了程序的錯(cuò)誤。后來我發(fā)現(xiàn)只需要將程序中一些“break”換成“continue”便可以解決這個(gè)問題,也就使程序在讀到第一個(gè)符合條件的同學(xué)信息時(shí)不結(jié)束讀取,而是繼續(xù)讀入,這樣就可以將同名或編號相同的學(xué)生全部查詢到,不會漏查。五,課程設(shè)計(jì)心得體會1.在編寫程序的過程中,我將課本中的大部分知識又都熟悉了一遍,使我對課本又有了更深的記憶,同時(shí)又弄懂了一些以前不太明白的地方。2.在編程過程中,我還明白了做事要有耐心,決不能心急,要一步一步地來,不清楚的地方一定要查書,用到什么就查什么,比如在用到輸入、輸出函數(shù)時(shí),不知道整型、實(shí)型、字符型、字符串用什么格式,就要認(rèn)真地去看一下教材,切不可自我放棄。3.我還明白了只要我們肯用心,就沒有什么是困難的?;蛟S我們在編程時(shí)會遇到各種各樣的困難,但只我們用心思考,我們總能從學(xué)過的知識中找到解決這些問題的方法,這些方法或許是書上沒有的,或許是沒人用過的。當(dāng)這些問題得到解決時(shí),我發(fā)現(xiàn)自己真的很開心!六,附錄源代碼及簡要說明#include<iostream>#include<string>#include<stdio.h>#include<string.h>#include<algorithm>#include<conio.h>usingnamespacestd;//各種變量。。intn;stringd="";intflag=0;/**************************************************************///上面是一些亂遭的遍量。。classfile{public: file(stringn,strings,stringb,stringt):name(n),sex(s),banji(b),telephone(t){}; file(){ } ~file(){} voidset(stringn,strings,stringb,stringt); //一系列修改。。。 voidalter_name(stringn) { name=n; } voidalter_sex(strings){ sex=s; } voidalter_banji(stringb){ banji=b; } voidalter_telephone(stringt){ telephone=t; } /***************************/ staticintgetnumber() { returnnumber; } staticvoidaddnumber() { number++; } staticvoidcutnumber() { number--; } booljudgename(strings) { stringstrA=name; transform(strA.begin(),strA.end(),strA.begin(),::tolower);//全部改為小寫<algorithm> transform(s.begin(),s.end(),s.begin(),::tolower); if(s==strA) returntrue; else returnfalse; } booljudgetelephone(strings) { stringstrA=telephone; if(s==strA) returntrue; else returnfalse; } voidadd(); voiddisplay(); private: //名字性別生日單位參加工作時(shí)間職稱住址 stringname,sex,banji,telephone; intstatus; staticintnumber;};fileperson[100];intfile::number=2; //靜態(tài)計(jì)數(shù)器。。。voidfile::set(stringn,strings,stringb,stringt){ name=n,sex=s,banji=b,telephone=t;}voidfile::add(){ cout<<"請輸入檔案信息:"<<endl; cout<<"姓名"<<"性別"<<"班級"<<"電話"<<endl; stringn,s,b,t; cin>>n>>s>>b>>t; name=n,sex=s,banji=b,telephone=t; addnumber();}voidfile::display(){ cout<<name<<d<<sex<<d<<banji<<d<<telephone<<endl;}/***************************************************************///上面是類的各種定義下面是系統(tǒng)的各種函數(shù)voidinit(){ person[0].set("Dongquan","man","15-6",); person[1].set("Tourist","man","15-8",); return; }voidmenu(){ cout<<"序號"<<"姓名"<<"性別"<<"班級"<<"電話"<<endl;}voidshow(){ menu(); for(inti=0;i<file::getnumber();i++) { cout<<i+1<<"\t"; person[i].display(); }}intname_search(strings){ intnum=-1; for(inti=0;i<file::getnumber();i++) { if(person[i].judgename(s)) { person[i].display(); num=i; } } returnnum;}inttelephone_search(strings){ intnum=-1; for(inti=0;i<file::getnumber();i++) { if(person[i].judgetelephone(s)) { person[i].display(); num=i; } } returnnum;}voidMain_screen(){ system("CLS"); cout<<"\n\n\n\n"<<endl; if(!flag) { cout<<"\t\t歡迎使用檔案信息管理系統(tǒng)"<<endl; } else { cout<<"\t\t"<<endl; } cout<<""<<endl <<"\t\t(1)瀏覽數(shù)據(jù)"<<endl <<"\t\t(2)增加數(shù)據(jù)"<<endl <<"\t\t(3)修改數(shù)據(jù)"<<endl <<"\t\t(4)查詢數(shù)據(jù)(按姓名,按電話)"<<endl <<"\t\t(5)刪除數(shù)據(jù)"<<endl <<"\t\t(0)退出程序"<<endl <<""<<endl; flag=1; return;}intmain(intargc,char**argv){ init(); head://重新進(jìn)入主界面 Main_screen(); cin>>n; system("CLS"); if(n==1)//瀏覽 { if(!file::getnumber()) { cout<<"列表內(nèi)無數(shù)據(jù)"<<endl; cout<<"添加數(shù)據(jù)請按1"<<endl<<"按其他任意鍵返回主界面。"<<endl; intx; cin>>x; if(x==1) { system("CLS"); gotoplus; } } else { show(); cout<<"列表瀏覽成功,"<<endl; cout<<"按任意鍵返回主菜單"<<endl; getch(); system("CLS"); } } elseif(n==2)//增加 { plus: ; person[file::getnumber()].add(); cout<<"添加成功,"<<endl; cout<<"按任意鍵返回主菜單"<<endl; getch(); } elseif(n==3) //修改 { { cout<<"是否先瀏覽一下數(shù)據(jù)?[Y(y)/N(n)])"<<endl; strings1; cin>>s1; if(s1=="Y"||s1=="y") show(); cout<<"請輸入需要修改的檔案序號"<<endl; intn3; cin>>n3; //修改什么???? //多個(gè)數(shù)據(jù)修改單個(gè)數(shù)據(jù)修改。。 cout<<"全部數(shù)據(jù)修改請按1)單個(gè)數(shù)據(jù)修改請按2)"<<endl; intn4; cin>>n4; if(n==1) { cout<<"姓名"<<"性別"<<"班級"<<"電話"<<endl; stringn,s,b,t; cin>>n>>s>>b>>t; person[n3-1].set(n,s,b,t); } else { cout<<"修改姓名請按1,性別請按2,班級請按3,電話請按4"<<endl; intn5; cin>>n5; if(n5==1) {cout<<"請輸入新的姓名"<<endl; strings4; cin>>s4; person[n3-1].alter_name(s4); } elseif(n5==2) { cout<<"請輸入新的性別"<<endl; strings4; cin>>s4; person[n3-1].alter_sex(s4); } elseif(n5==3) {cout<<"請輸入新的班級"<<endl; strings4; cin>>s4; person[n3-1].alter_banji(s4); } elseif(n5==4) {cout<<"請輸入新的電話號碼"<<endl; strings4; cin>>s4; person[n3-1].alter_telephone(s4); } } cout<<"修改成功"<<endl; } } elseif(n==4)//查詢 { query: cout<<"請選擇查詢方式:"<<endl<<"1)姓名2)電話"<<endl; intx; cin>>x; if(x==1) { name_query: cout<<"請輸入查詢的姓名:"<<endl; stringna; cin>>na; cout<<"查詢結(jié)果:"<<endl; intnn=name_search(na); if(nn==-1) { cout<<"很抱歉,沒有查詢到相關(guān)信息:"<<endl; cout<<"重新查找請按1:"<<endl; cout<<"返回上級菜單請按2:"<<endl; cout<<"返回主頁面請按3:"<<endl; intmm; cin>>mm; system("CLS"); if(mm==1) { gotoname_query; } elseif(mm==2) { gotoquery; } elseif(mm==3) { gotohead; } } } else { tele: cout<<"請輸入查詢的電話:"<<endl; stringun; cin>>un; cout<<"查詢結(jié)果:"<<endl; intnn=telephone_search(un); if(nn==-1) { cout<<"很抱歉,沒有查詢到相關(guān)信息:"<<endl; cout<<"重新查找請按1:"<<endl; cout<<"返回上級菜單請按2:"<<endl; cout<<"返回主頁面請按3:"<<endl; intmm; cin>>mm; system("CLS"); if(mm==1) { gototele; } elseif(mm==2) { gotoquery; } elseif(mm==3) { go
溫馨提示
- 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 小學(xué)二年級上,數(shù)學(xué)口算練習(xí)題
- 仁愛版地理八年級下冊:9.2 《中國與世界同發(fā)展》 聽課評課記錄
- 北師大版歷史七年級上冊第20課《異彩紛呈的科學(xué)》聽課評課記錄
- 蘇教版小學(xué)三年級口算試題全套
- 蘇教版二年級上冊數(shù)學(xué)第三冊口算能力檢測
- 單位地皮出租個(gè)人合同范本
- 郊區(qū)廠房租賃合同范本
- 二零二五年度車輛不過戶免責(zé)協(xié)議書:二手車過戶免責(zé)任協(xié)議
- 2025年度雙方體育產(chǎn)業(yè)賽事運(yùn)營與贊助合同書
- 2025年度合同法務(wù)法律專項(xiàng)服務(wù)合同
- 蘇州2025年江蘇蘇州太倉市高新區(qū)(科教新城婁東街道陸渡街道)招聘司法協(xié)理員(編外用工)10人筆試歷年參考題庫附帶答案詳解
- 搞笑小品劇本《大城小事》臺詞完整版
- 2025至2031年中國助眠床墊行業(yè)投資前景及策略咨詢研究報(bào)告
- 物業(yè)服務(wù)和后勤運(yùn)輸保障服務(wù)總體服務(wù)方案
- 2025四川中煙招聘高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2025年極兔速遞有限公司招聘筆試參考題庫含答案解析
- 2025年北京市文化和旅游局系統(tǒng)事業(yè)單位招聘101人筆試高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2025年中儲棉總公司招聘筆試參考題庫含答案解析
- 2024-2030年中國科技孵化器產(chǎn)業(yè)發(fā)展現(xiàn)狀及投融資戰(zhàn)略分析報(bào)告
- 中學(xué)學(xué)校2024-2025學(xué)年第二學(xué)期教學(xué)工作計(jì)劃
- 人大代表小組活動計(jì)劃人大代表活動方案
評論
0/150
提交評論