C++課程設(shè)計(jì)簡易通訊錄_第1頁
C++課程設(shè)計(jì)簡易通訊錄_第2頁
C++課程設(shè)計(jì)簡易通訊錄_第3頁
C++課程設(shè)計(jì)簡易通訊錄_第4頁
C++課程設(shè)計(jì)簡易通訊錄_第5頁
已閱讀5頁,還剩9頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

..本程序用VS2013編寫,所用語言為C++,為多文件程序,可將源代碼復(fù)制到VS后簡單處理,即可運(yùn)行。C++課程設(shè)計(jì)設(shè)計(jì)題目:簡易通訊錄管理程序?qū)W院名稱:信息科學(xué)與技術(shù)學(xué)院專業(yè)名稱:計(jì)算機(jī)科學(xué)與技術(shù)學(xué)生__學(xué)生__任課教師:設(shè)計(jì)〔論文成績目錄第1章問題描述1第2章概要設(shè)計(jì)1第3章詳細(xì)設(shè)計(jì)33.1數(shù)據(jù)寫入〔添加到文件的函數(shù)算法思想或步驟33.2從文件讀取內(nèi)容到程序的函數(shù)算法思想或步驟3第4章測試結(jié)果及分析3參考文獻(xiàn)6附錄:源代碼7..第1章問題描述1、實(shí)現(xiàn)通訊錄的基本功能:錄入、刪除、查找和修改、顯示。2、聯(lián)系人的基本屬性包括姓名、性別、住址、、電子郵件等。為了實(shí)現(xiàn)對(duì)所有聯(lián)系人的分組管理,還需添加組別屬性3、查找功能的具體要求如下:〔1能夠根據(jù)姓名、精確查詢?nèi)藛T信息;〔2能夠根據(jù)姓氏進(jìn)行模糊查詢?nèi)藛T信息;〔3根據(jù)人員類別查詢?nèi)藛T信息4、文件存儲(chǔ)通訊錄5、提供操作的選擇菜單第2章概要設(shè)計(jì)開發(fā)環(huán)境系統(tǒng):windows8.1中文版64位處理器:IntelCorei5-4200H內(nèi)存:4G開發(fā)軟件:VisualStudio2013classPER//聯(lián)系人類數(shù)組{public:charname[NAM_LEN];charsex[SEX_LEN];charaddress[ADD_LEN];chartel_no[TEL_LEN];chare_mail[MAIL_LEN];chargroup[GROUP_LEN];};第3章詳細(xì)設(shè)計(jì)3.1數(shù)據(jù)寫入〔添加到文件的函數(shù)算法思想或步驟〔1聲明ofstream類成員函數(shù),打開"message.txt"文件,如果文件有內(nèi)容則清空,若沒有該文件則創(chuàng)建?!蔡砑有聰?shù)據(jù)到文件,將新數(shù)據(jù)添加到問價(jià)末尾〔2在文件打開正常的情況下,依次寫入PER類數(shù)組數(shù)據(jù)。關(guān)閉文件,顯示"保存成功"。若沒有正常打開,顯示"保存失敗"。3.2從文件讀取內(nèi)容到程序的函數(shù)算法思想或步驟〔1聲明ifstream類成員函數(shù),打開"message.txt"文件?!?在文件打開成功〔打開成功,說明文件有內(nèi)容,讀取正常并且沒有到文件末尾的情況下,依次把文件內(nèi)容傳遞給PER類數(shù)組?!?關(guān)閉文件,返回值i為原文件中保存的聯(lián)系人個(gè)數(shù)。第4章測試結(jié)果及分析添加聯(lián)系人文件保存〔僅供測試按姓名精確查找按手機(jī)號(hào)碼精確查找按姓氏〔名字第一個(gè)字模糊查詢按組別查看按性別查看顯示所有聯(lián)系人修改某人信息刪除某個(gè)聯(lián)系人信息參考文獻(xiàn)[1]C++語言程序設(shè)計(jì)〔第4版[鄭莉董淵何江舟].20XX7月第四版[2]C++程序設(shè)計(jì)教程〔第二版[錢能].20XX9月第二版附錄:源代碼源程序要按照編寫程序的規(guī)范來編寫,結(jié)構(gòu)清晰。每個(gè)類、類成員函數(shù)、普通函數(shù)均需要在類名前、函數(shù)頭前注釋說明該類、函數(shù)的簡要功能,函數(shù)中的關(guān)鍵語句需添加注釋。示例如下:head.h頭文件://頭文件,包含PER類數(shù)組,每個(gè)項(xiàng)目的數(shù)組長度常量,所有元素的聲明#ifndefHEAD#defineHEAD#include<iostream>#include<fstream>#include<vector>#include<string>#include<iomanip>usingnamespacestd;constintnum=200;constintNAM_LEN=10;constintSEX_LEN=4;constintMAIL_LEN=20;constintADD_LEN=18;constintTEL_LEN=15;constintGROUP_LEN=10;classPER//聯(lián)系人類數(shù)組{public:charname[NAM_LEN];charsex[SEX_LEN];charaddress[ADD_LEN];chartel_no[TEL_LEN];chare_mail[MAIL_LEN];chargroup[GROUP_LEN];};voidadd<PERper[],intn>;//添加新聯(lián)系人intdel<PERper[],intn>;//刪除聯(lián)系人voidfind1<PERper[],intn>;//按姓名查詢聯(lián)系人voidfind2<PERper[],intn>;//按手機(jī)號(hào)碼查詢聯(lián)系人voidfind3<PERper[],intn>;//按姓氏〔姓名第一個(gè)字查詢聯(lián)系人intreadfromFile<PERper[]>;//從文件中讀取數(shù)據(jù)voidchange<PERper[],intn>;//編輯聯(lián)系人信息voidaddtoFile<PERper[],intn>;//添加新聯(lián)系人到文件voidwritetoFile<PERper[],intn>;//向文件中寫入數(shù)據(jù)voidshow1<PERper[],intn>;//按組別顯示聯(lián)系人voidshow2<PERper[],intn>;//按性別顯示聯(lián)系人voidshow3<PERper[],intn>;//顯示所有聯(lián)系人#endifmain.cpp文件#include"head.h"http://主函數(shù)首頁intmain<>{intk,m;PERper[num];//聲明PER類數(shù)組個(gè)數(shù)charselect1; cout<<endl;while<1>{ TOP:system<"cls">; cout<<"※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※"<<endl <<"※15級(jí)計(jì)科1班薛皓※"<<endl <<"※※"<<endl <<"※簡易通迅錄※"<<endl <<"※※"<<endl <<"※1.添加聯(lián)系人.※"<<endl <<"※※"<<endl <<"※2.查詢〔顯示聯(lián)系人.※"<<endl <<"※※"<<endl <<"※3.編輯<刪除聯(lián)系人.※"<<endl <<"※※"<<endl <<"※0.退出※"<<endl <<"※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※"<<endl<<endl <<"\t\t\t選擇:"; cin>>select1;switch<select1> {case'1':cout<<"輸入添加的資料"<<endl; add<per,1>; cout<<"任意鍵以返回菜單"; addtoFile<per,1>; system<"pause">;break;case'2':TWO:m=readfromFile<per>; readfromFile<per>; cout<<"<1>根據(jù)姓名查找聯(lián)系人"<<endl; cout<<"<2>根據(jù)手機(jī)號(hào)碼查找聯(lián)系人"<<endl; cout<<"<3>根據(jù)姓氏模糊查詢<姓名第一個(gè)字"<<endl; cout<<"<4>顯示同一組別的聯(lián)系人"<<endl; cout<<"<5>顯示同一性別的聯(lián)系人"<<endl; cout<<"<6>顯示所有聯(lián)系人"<<endl; cout<<"<0>返回菜單"<<endl;charselectsearch; cin>>selectsearch;switch<selectsearch> { m=readfromFile<per>;case'1':find1<per,m-1>; system<"pause">;break;case'2':find2<per,m-1>; system<"pause">;break;case'3':find3<per,m-1>; system<"pause">;break;case'4':show1<per,m-1>; system<"pause">;break;case'5':show2<per,m-1>; system<"pause">;break;case'6':show3<per,m-1>; system<"pause">;break;case'0':gotoTOP;default:cout<<"輸入錯(cuò)誤請(qǐng)按任意鍵重新選擇:"; system<"pause">;gotoTWO; }break;case'3':m=readfromFile<per>; THREE:cout<<"<1>編輯某個(gè)人的信息"<<endl; cout<<"<2>刪除某個(gè)人的信息"<<endl; cout<<"<0>返回菜單";charselectsearch3; cin>>selectsearch3;switch<selectsearch3> {case'1':change<per,m-1>; writetoFile<per,m-1>; system<"pause">;break;case'2':k=del<per,m-1>; writetoFile<per,m-2>; system<"pause">;break;case'0':gotoTOP;default:cout<<"輸入錯(cuò)誤,請(qǐng)按任意鍵重新選擇"; system<"pause">;gotoTHREE; }break;case'0':gotobottom;default: cout<<"輸入錯(cuò)誤請(qǐng)重新輸入,請(qǐng)按任意鍵返回菜單"; system<"pause">;break; } }bottom:cout<<"★★★★★★★★★★★★歡迎使用本軟件!★★★★★★★★★★★"<<endl;return0;}add.cpp文件:#include"head.h"http://添加聯(lián)系人voidadd<PERper[],intn>{for<inti=0;i<n;i++> { cout<<"__"; cin>>per[i].name; cout<<"性別:"; cin>>per[i].sex; cout<<"住址:"; cin>>per[i].address; cout<<":"; cin>>per[i].tel_no; cout<<"電子郵箱:"; cin>>per[i].e_mail; cout<<"組別:"; cin>>per[i].group; }}addtoFile.cpp文件#include"head.h"http://添加到文件voidaddtoFile<PERper[],intn>{ofstreamoutfile; outfile.open<"message.txt",ios_base::app>;//向文件尾加入新數(shù)據(jù)if<outfile.is_open<>>//判斷文件是否正常打開 {for<inti=0;i<n;i++> { outfile<<setw<NAM_LEN><<per[i].name; outfile<<setw<SEX_LEN><<per[i].sex; outfile<<setw<ADD_LEN><<per[i].address; outfile<<setw<TEL_LEN><<per[i].tel_no; outfile<<setw<MAIL_LEN><<per[i].e_mail; outfile<<setw<GROUP_LEN><<per[i].group<<endl; } outfile.close<>;//關(guān)閉文件 cout<<"保存成功!\n"<<endl; }elsecout<<"保存失敗";}find.cpp文件:#include"head.h"http://按姓名查詢聯(lián)系人voidfind1<PERper[],intn>{inti,find=0;charName[NAM_LEN]; cout<<"輸入要查詢聯(lián)系人的__"; cin>>Name;for<i=0;i<n;i++> {if<strcmp<per[i].name,Name>==0> { find=1;break; } }if<find> { cout<<"__"<<per[i].name<<endl; cout<<"性別:"<<per[i].sex<<endl; cout<<"住址:"<<per[i].address<<endl; cout<<":"<<per[i].tel_no<<endl; cout<<"電子郵箱:"<<per[i].e_mail<<endl; cout<<"組別:"<<per[i].group<<endl; }else cout<<"不存在此聯(lián)系人";}//按手機(jī)號(hào)碼查找聯(lián)系人voidfind2<PERper[],intn>{inti,find=0;charnumber[TEL_LEN]; cout<<"輸入要查詢聯(lián)系人的:"; cin>>number;for<i=0;i<n;i++> {if<strcmp<per[i].tel_no,number>==0> { find=1;break; } }if<find> { cout<<"__"<<per[i].name<<endl; cout<<"性別:"<<per[i].sex<<endl; cout<<"住址:"<<per[i].address<<endl; cout<<":"<<per[i].tel_no<<endl; cout<<"電子郵箱:"<<per[i].e_mail<<endl; cout<<"組別:"<<per[i].group<<endl; }else cout<<"不存在此聯(lián)系人";}//按姓氏模糊查詢聯(lián)系人voidfind3<PERper[],intn>{inti,find=0;charfirstname[NAM_LEN]; cout<<"輸入要查詢聯(lián)系人的姓氏:"; cin>>firstname; cout<<"姓名性別住址電子郵箱組別"<<endl;for<i=0;i<n;i++> {chars1[3]; memcpy<s1,per[i].name,2>;//把per數(shù)組的前兩個(gè)字符〔即姓名第一個(gè)字傳遞給mwmcpy s1[2]='\0';if<strcmp<s1,firstname>==0> { cout<<setiosflags<ios::left><<setw<NAM_LEN><<per[i].name; cout<<setiosflags<ios::left><<setw<SEX_LEN><<per[i].sex; cout<<setiosflags<ios::left><<setw<ADD_LEN><<per[i].address; cout<<setiosflags<ios::left><<setw<TEL_LEN><<per[i].tel_no; cout<<setiosflags<ios::left><<setw<MAIL_LEN><<per[i].e_mail; cout<<setiosflags<ios::left><<setw<GROUP_LEN><<per[i].group<<endl; } }}show.cpp文件:#include"head.h"http://顯示同一組別聯(lián)系人voidshow1<PERper[],intn>{inti,find=0;charGROUP[GROUP_LEN]; cout<<"輸入要查詢的組別:"; cin>>GROUP; cout<<"姓名性別住址電子郵箱組別"<<endl;for<i=0;i<n;i++> {if<strcmp<per[i].group,GROUP>==0> { cout<<setiosflags<ios::left><<setw<NAM_LEN><<per[i].name; cout<<setiosflags<ios::left><<setw<SEX_LEN><<per[i].sex; cout<<setiosflags<ios::left><<setw<ADD_LEN><<per[i].address; cout<<setiosflags<ios::left><<setw<TEL_LEN><<per[i].tel_no; cout<<setiosflags<ios::left><<setw<MAIL_LEN><<per[i].e_mail; cout<<setiosflags<ios::left><<setw<GROUP_LEN><<per[i].group<<endl; } }}//按性別顯示聯(lián)系人voidshow2<PERper[],intn>{inti,find=0;charSEX[SEX_LEN]; cout<<"輸入要查詢的性別:"; cin>>SEX; cout<<"姓名性別住址電子郵箱組別"<<endl;for<i=0;i<n;i++> {if<strcmp<per[i].sex,SEX>==0> { cout<<setiosflags<ios::left><<setw<NAM_LEN><<per[i].name; cout<<setiosflags<ios::left><<setw<SEX_LEN><<per[i].sex; cout<<setiosflags<ios::left><<setw<ADD_LEN><<per[i].address; cout<<setiosflags<ios::left><<setw<TEL_LEN><<per[i].tel_no; cout<<setiosflags<ios::left><<setw<MAIL_LEN><<per[i].e_mail; cout<<setiosflags<ios::left><<setw<GROUP_LEN><<per[i].group<<endl; } }}//顯示所有聯(lián)系人voidshow3<PERper[],intn>{ cout<<"姓名性別住址電子郵箱組別"<<endl;for<inti=0;i<n;i++> { cout<<setw<NAM_LEN><<per[i].name; cout<<setw<SEX_LEN><<per[i].sex; cout<<setw<ADD_LEN><<per[i].address; cout<<setw<TEL_LEN><<per[i].tel_no; cout<<setw<MAIL_LEN><<per[i].e_mail; cout<<setw<GROUP_LEN><<per[i].group<<endl; }}edit.cpp文件:#include"head.h"http://刪除聯(lián)系人intdel<PERper[],intn>{charName[NAM_LEN];inti=0,j,find=0; cout<<"請(qǐng)輸入想刪除記錄中的名字:"; cin>>Name;for<i=0;i<n;i++> {if<strcmp<per[i].name,Name>==0> find=1;if<find==1>break; }if<find==1> {for<j=i;j<n-1;j++> {per[j]=per[j+1]; } cout<<"刪除并"; }else cout<<"不存在此聯(lián)系人";returni;}//修改聯(lián)系人voidchange<PERper[],intn>{inti,find=0;charj;charName[NAM_LEN]; cout<<"請(qǐng)輸入要修改的聯(lián)系人__"; cin>>Name;for<i=0;i<n;i++> {if<strcmp<per[i].name,Name>==0> find=1;if<find==1>break; }if<find==1> { system<"cls">; cout<<"__"<<per[i].name<<endl; cout<<"性別:"<<per[i].sex<<endl; cout<<"住址:"<<per[i].address<<endl; cout<<":"<<per[i].tel_no<<endl; cout<<"電子郵箱:"<<per[i].e_mail<<endl; cout<<"組別:"<<per[i].group<<endl; cout<<"※※※※※※※"<<endl; cout<<"1.姓名※"<<endl; cout<<"2.性別※"<<endl; cout<<"3.住址※"<<endl; cout<<"4.※"<<endl; cout<<"5.E_MAIL※"<<endl; cout<<"6.組別※"<<endl; cout<<"0.退出※"<<endl; cout<<"※※※※※※※"<<endl; ONE:cout<<"選擇修改項(xiàng):"; cin>>j; cout<<"___________"<<endl;switch<j> {case'1': cout<<"

溫馨提示

  • 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)論