




版權(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年保安證考試新手攻略試題及答案
- 2025保安證實(shí)踐題目及答案
- 適應(yīng)性保安證考試試題及答案
- 2025年保安證考試異議應(yīng)對(duì)試題及答案
- 安全知識(shí)保安證考試試題及答案
- 2025年保安證學(xué)習(xí)新思路試題及答案
- 動(dòng)態(tài)更新保安證考試在線題庫(kù)試題及答案
- 2025年保安證考試內(nèi)容框架試題及答案
- 貴州食品工程職業(yè)學(xué)院《大學(xué)外語(yǔ)四》2023-2024學(xué)年第二學(xué)期期末試卷
- 貴州應(yīng)用技術(shù)職業(yè)學(xué)院《數(shù)據(jù)分析綜合實(shí)驗(yàn)》2023-2024學(xué)年第二學(xué)期期末試卷
- 2025年時(shí)政題庫(kù)及答案(100題)
- 2025年鐘山職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)技能測(cè)試題庫(kù)帶答案
- 2024年青海省中考生物地理合卷試題(含答案解析)
- 鐵嶺衛(wèi)生職業(yè)學(xué)院?jiǎn)握袇⒖荚囶}庫(kù)(含答案)
- 跟莊理論趨勢(shì)計(jì)算圖(自動(dòng)計(jì)算)
- 未年檢企業(yè)查詢 - 禪城紅盾網(wǎng)
- 生物與環(huán)境思維導(dǎo)圖PPT課件
- 碳纖維導(dǎo)線樣本(08-02)
- 音樂(lè)心理健康教育項(xiàng)目計(jì)劃書(shū)
- android手機(jī)軟件全面測(cè)試用例
- 航線技術(shù)服務(wù)處培訓(xùn)課件:787各艙門(mén)開(kāi)關(guān)
評(píng)論
0/150
提交評(píng)論