C++程序設(shè)計(jì)通訊錄管理系統(tǒng)_第1頁(yè)
C++程序設(shè)計(jì)通訊錄管理系統(tǒng)_第2頁(yè)
C++程序設(shè)計(jì)通訊錄管理系統(tǒng)_第3頁(yè)
C++程序設(shè)計(jì)通訊錄管理系統(tǒng)_第4頁(yè)
C++程序設(shè)計(jì)通訊錄管理系統(tǒng)_第5頁(yè)
已閱讀5頁(yè),還剩14頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

《c++通訊錄管理系統(tǒng)》學(xué)號(hào):1514010803班級(jí):軟件八班姓名:付博指導(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ì)、開(kāi)發(fā)過(guò)程中的問(wèn)題·································135課程設(shè)計(jì)心得體會(huì)·································136附錄源代碼及簡(jiǎn)要說(shuō)明·································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)開(kāi)發(fā)過(guò)程中遇到的問(wèn)題在初步完成該程序時(shí),我發(fā)現(xiàn)程序有一個(gè)嚴(yán)重的漏洞,當(dāng)系統(tǒng)保存的學(xué)生信息中有同名或者編號(hào)相同的同學(xué)時(shí),這時(shí)若要執(zhí)行查詢或者刪除學(xué)生信息時(shí),只能查詢到或刪除第一個(gè)符合條件的同學(xué),這就導(dǎo)致了程序的錯(cuò)誤。后來(lái)我發(fā)現(xiàn)只需要將程序中一些“break”換成“continue”便可以解決這個(gè)問(wèn)題,也就使程序在讀到第一個(gè)符合條件的同學(xué)信息時(shí)不結(jié)束讀取,而是繼續(xù)讀入,這樣就可以將同名或編號(hào)相同的學(xué)生全部查詢到,不會(huì)漏查。五,課程設(shè)計(jì)心得體會(huì)1.在編寫(xiě)程序的過(guò)程中,我將課本中的大部分知識(shí)又都熟悉了一遍,使我對(duì)課本又有了更深的記憶,同時(shí)又弄懂了一些以前不太明白的地方。2.在編程過(guò)程中,我還明白了做事要有耐心,決不能心急,要一步一步地來(lái),不清楚的地方一定要查書(shū),用到什么就查什么,比如在用到輸入、輸出函數(shù)時(shí),不知道整型、實(shí)型、字符型、字符串用什么格式,就要認(rèn)真地去看一下教材,切不可自我放棄。3.我還明白了只要我們肯用心,就沒(méi)有什么是困難的?;蛟S我們?cè)诰幊虝r(shí)會(huì)遇到各種各樣的困難,但只我們用心思考,我們總能從學(xué)過(guò)的知識(shí)中找到解決這些問(wèn)題的方法,這些方法或許是書(shū)上沒(méi)有的,或許是沒(méi)人用過(guò)的。當(dāng)這些問(wèn)題得到解決時(shí),我發(fā)現(xiàn)自己真的很開(kāi)心!六,附錄源代碼及簡(jiǎn)要說(shuō)明#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);//全部改為小寫(xiě)<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<<"請(qǐng)輸入檔案信息:"<<endl; cout<<"姓名"<<"性別"<<"班級(jí)"<<"電話"<<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<<"序號(hào)"<<"姓名"<<"性別"<<"班級(jí)"<<"電話"<<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)無(wú)數(shù)據(jù)"<<endl; cout<<"添加數(shù)據(jù)請(qǐng)按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<<"請(qǐng)輸入需要修改的檔案序號(hào)"<<endl; intn3; cin>>n3; //修改什么???? //多個(gè)數(shù)據(jù)修改單個(gè)數(shù)據(jù)修改。。 cout<<"全部數(shù)據(jù)修改請(qǐng)按1)單個(gè)數(shù)據(jù)修改請(qǐng)按2)"<<endl; intn4; cin>>n4; if(n==1) { cout<<"姓名"<<"性別"<<"班級(jí)"<<"電話"<<endl; stringn,s,b,t; cin>>n>>s>>b>>t; person[n3-1].set(n,s,b,t); } else { cout<<"修改姓名請(qǐng)按1,性別請(qǐng)按2,班級(jí)請(qǐng)按3,電話請(qǐng)按4"<<endl; intn5; cin>>n5; if(n5==1) {cout<<"請(qǐng)輸入新的姓名"<<endl; strings4; cin>>s4; person[n3-1].alter_name(s4); } elseif(n5==2) { cout<<"請(qǐng)輸入新的性別"<<endl; strings4; cin>>s4; person[n3-1].alter_sex(s4); } elseif(n5==3) {cout<<"請(qǐng)輸入新的班級(jí)"<<endl; strings4; cin>>s4; person[n3-1].alter_banji(s4); } elseif(n5==4) {cout<<"請(qǐng)輸入新的電話號(hào)碼"<<endl; strings4; cin>>s4; person[n3-1].alter_telephone(s4); } } cout<<"修改成功"<<endl; } } elseif(n==4)//查詢 { query: cout<<"請(qǐng)選擇查詢方式:"<<endl<<"1)姓名2)電話"<<endl; intx; cin>>x; if(x==1) { name_query: cout<<"請(qǐng)輸入查詢的姓名:"<<endl; stringna; cin>>na; cout<<"查詢結(jié)果:"<<endl; intnn=name_search(na); if(nn==-1) { cout<<"很抱歉,沒(méi)有查詢到相關(guān)信息:"<<endl; cout<<"重新查找請(qǐng)按1:"<<endl; cout<<"返回上級(jí)菜單請(qǐng)按2:"<<endl; cout<<"返回主頁(yè)面請(qǐng)按3:"<<endl; intmm; cin>>mm; system("CLS"); if(mm==1) { gotoname_query; } elseif(mm==2) { gotoquery; } elseif(mm==3) { gotohead; } } } else { tele: cout<<"請(qǐng)輸入查詢的電話:"<<endl; stringun; cin>>un; cout<<"查詢結(jié)果:"<<endl; intnn=telephone_search(un); if(nn==-1) { cout<<"很抱歉,沒(méi)有查詢到相關(guān)信息:"<<endl; cout<<"重新查找請(qǐng)按1:"<<endl; cout<<"返回上級(jí)菜單請(qǐng)按2:"<<endl; cout<<"返回主頁(yè)面請(qǐng)按3:"<<endl; intmm; cin>>mm; system("CLS"); if(mm==1) { gototele; } elseif(mm==2) { gotoquery; } elseif(mm==3) { go

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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)論