數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告電話號(hào)碼查詢系統(tǒng)_第1頁(yè)
數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告電話號(hào)碼查詢系統(tǒng)_第2頁(yè)
數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告電話號(hào)碼查詢系統(tǒng)_第3頁(yè)
數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告電話號(hào)碼查詢系統(tǒng)_第4頁(yè)
數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告電話號(hào)碼查詢系統(tǒng)_第5頁(yè)
已閱讀5頁(yè),還剩16頁(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)介

1、. 課程設(shè)計(jì)報(bào)告學(xué)生姓名: 學(xué) 號(hào): 專業(yè)班級(jí): 課程名稱: 數(shù) 據(jù) 結(jié) 構(gòu) 學(xué)年學(xué)期: 2 0132 014學(xué)年第 2 學(xué)期 指導(dǎo)教師: 2 0 14年 6 月課程設(shè)計(jì)成績(jī)?cè)u(píng)定表學(xué)生姓名學(xué) 號(hào)成績(jī)專業(yè)班級(jí)起止時(shí)間2014.6.16-2014.6.22設(shè)計(jì)題目電話號(hào)碼查詢系統(tǒng)指導(dǎo)教師評(píng)語(yǔ)指導(dǎo)教師: 年 月 日一、數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)目標(biāo)數(shù)據(jù)結(jié)構(gòu)是計(jì)算機(jī)專業(yè)一門重要的專業(yè)技術(shù)基礎(chǔ)課程,是一門關(guān)鍵性核心課程。數(shù)據(jù)結(jié)構(gòu)課程的目標(biāo)是使學(xué)生學(xué)會(huì)分析研究計(jì)算機(jī)加工對(duì)象的特性,選擇合適的數(shù)據(jù)結(jié)構(gòu)和存儲(chǔ)表示,以及編制相應(yīng)的實(shí)現(xiàn)算法,培養(yǎng)和提高學(xué)生程序設(shè)計(jì)的能力。數(shù)據(jù)結(jié)構(gòu)課程也是一門實(shí)踐性較強(qiáng)的課程,設(shè)置實(shí)踐環(huán)節(jié)是

2、十分重要的。本課程設(shè)計(jì)的目標(biāo)就是要達(dá)到理論與實(shí)際應(yīng)用相結(jié)合,提高學(xué)生組織數(shù)據(jù)及編寫大型程序的能力,并培養(yǎng)基本的、良好的程序設(shè)計(jì)技能以及合作能力。二、問(wèn)題描述人們?cè)谌粘I钪薪?jīng)常需要查找某個(gè)人或某個(gè)單位的電話號(hào)碼,本實(shí)驗(yàn)將實(shí)現(xiàn)一個(gè)簡(jiǎn)單的個(gè)人電話號(hào)碼查詢系統(tǒng),根據(jù)用戶輸入的信息(例如姓名等)進(jìn)行快速查詢。三、需求分析1程序的功能能夠完成通訊鏈表的建立、通訊者的插入、通訊者的查詢、顯示所有通訊者的信息、通訊錄的修改除名字外的其他信息以及保存通訊錄、退出程序等功能。2輸入輸出要求程序完成后,給出7個(gè)菜單項(xiàng)的內(nèi)容和輸入提示:增加信息顯示信息查找號(hào)碼刪除信息修改信息保存信息退出系統(tǒng)四、概要設(shè)計(jì)五、詳細(xì)設(shè)計(jì)

3、定義結(jié)構(gòu)體#include<iostream>#include<fstream>#include<string>using namespace std;int x=0;char a;int j=1;struct TeleNumber /數(shù)據(jù)類char name20; /姓名 int phoneNumber; /固定電話號(hào)碼 int mobileNumber; /移動(dòng)電話號(hào)碼 char email30; /電子郵箱int s; TeleNumber * Next;void ReadFile(istream & in);void input();void

4、 display(); ;void TeleNumber:ReadFile(istream & in) /從文件把數(shù)據(jù)讀入到程序in>>name>>phoneNumber>>mobileNumber>>email;void TeleNumber:input() /信息輸入 cout<<"請(qǐng)輸入姓名"<<endl;cin>>name;cout<<"請(qǐng)輸入固定電話號(hào)碼"<<endl;cin>>phoneNumber;cout<

5、<"請(qǐng)輸入移動(dòng)電話號(hào)碼"<<endl;cin>>mobileNumber;cout<<"請(qǐng)輸入電子郵箱"<<endl;cin>>email;s=j+;信息輸出void TeleNumber:display() /信息輸出cout<<"姓名:"<<name<<'t'<<"固定號(hào)碼:"<<phoneNumber<<'t'<<"移動(dòng)

6、電話號(hào)碼:"<<mobileNumber<<'t'<<"電子郵箱:"<<email<<endl;class TeleMessage /功能類public: TeleMessage(); /構(gòu)造數(shù)據(jù)結(jié)構(gòu) TeleMessage(); /釋放單鏈表void Save(); /數(shù)據(jù)保存到文件TeleNumber * Search(char *); /信息查找void Insert(); /插入void Remove(); /刪除void Change(); /更改void Show(); /顯示

7、private:TeleNumber * End,* Head;ifstream in; /定義讀,寫文件對(duì)象ofstream out;建立單鏈表TeleMessage:TeleMessage()Head=new TeleNumber; /頭插法建立單鏈表Head->Next=new TeleNumber;End=Head->Next;in.open("TeleNumber.text"); /打開(kāi)外存文件,看是否有數(shù)據(jù)存在if(!in)cout<<"電話系統(tǒng)中沒(méi)有任何號(hào)碼,請(qǐng)輸入號(hào)碼"<<endl;elsein.clo

8、se();cout<<"讀取電話號(hào)碼系統(tǒng)成功!"<<endl;cout<<"輸入任意字母繼續(xù)"<<endl; cin>>a; TeleMessage:TeleMessage() /釋放單鏈表0TeleNumber * temp;while(Head->Next!=End)temp=Head->Next;Head=Head->Next;delete temp; delete Head,End; /刪除頭尾指針保存號(hào)碼void TeleMessage:Save() /保存文件 ou

9、t.open("TeleNumber.txt"); /建立外存文件TeleNumber.txt for(TeleNumber *p=Head->Next;p!=End;p=p->Next)out<<p->name<<"t"<<p->phoneNumber<<"t"<<p->mobileNumber<<"t"<<p->email<<endl;/將數(shù)據(jù)存到外存文件里out.close();

10、cout<<"保存成功!"<<endl;插入號(hào)碼void TeleMessage:Insert() /插入End->input(); /從單鏈表尾部插入End->Next=new TeleNumber;End=End->Next;cout<<endl<<"插入成功"<<endl;刪除號(hào)碼void TeleMessage:Remove() /刪除char name20;TeleNumber * p=new TeleNumber,*temp=NULL; cout<<&q

11、uot;請(qǐng)輸入要?jiǎng)h除人的姓名:"<<endl;cin>>name;p->Next=Search(name); /先進(jìn)行查找,找到所要?jiǎng)h除的結(jié)點(diǎn)if(Search(name) temp=p->Next;p->Next=p->Next->Next; /摘鏈delete temp;cout<<"刪除成功!"<<endl;elsecout<<"沒(méi)有找到!"<<endl;查找號(hào)碼TeleNumber * TeleMessage:Search(char *

12、 name)for(TeleNumber *p=Head->Next;p!=End;p=p->Next)if(!strcmp(p->name,name) if(x=4)p->display();return p;elsereturn p;if(x=4)cout<<"查無(wú)此人"<<endl;return 0;修改信息void TeleMessage:Change() /修改信息char name20;cout<<"請(qǐng)輸入要修改的人的姓名:"cin>>name;if(Search(nam

13、e)cout<<"已找到個(gè)人的信息,請(qǐng)輸入新的信息!"<<endl; Search(name)->input();cout<<"修改成功!"<<endl; else cout<<"沒(méi)有找到!"<<endl; 主函數(shù)int main()bool flag=true;TeleMessage tele;char name20;while(flag)system("cls");cout<<"簡(jiǎn)單個(gè)人電話號(hào)碼查詢系統(tǒng)"

14、;<<endl<<endl;cout<<"1.增加信息"<<endl;cout<<"2.顯示信息"<<endl;cout<<"3.查找號(hào)碼"<<endl;cout<<"4.刪除信息"<<endl;cout<<"5.修改信息"<<endl;cout<<"6.保存信息"<<endl;cout<<&quo

15、t;0.退出系統(tǒng)"<<endl<<endl;cout<<"請(qǐng)選擇:"cin>>x;switch(x)case 0:flag=false;break;case 1:tele.Insert();break;case 2:tele.Show();break;case 3:cout<<"請(qǐng)輸入姓名"<<endl;cin>>name;tele.Search(name);break;case 4:tele.Remove();break;case 5:tele.Change(

16、);break;case 6:tele.Save();break;cout<<"輸入任意字母返回"<<endl;cin>>a;return 0;六、軟件說(shuō)明書通過(guò)軟件的調(diào)試與測(cè)試可以跟數(shù)據(jù)程序上的對(duì)號(hào)碼薄進(jìn)行簡(jiǎn)單的增刪改操作,在使用時(shí)應(yīng)注意程序上的一些提示操作,要按照提示上的來(lái)操作源程序代碼#include<iostream>#include<fstream>#include<string>using namespace std;int x=0;char a;int j=1;struct TeleNum

17、ber /數(shù)據(jù)類char name20; /姓名 int phoneNumber; /固定電話號(hào)碼 int mobileNumber; /移動(dòng)電話號(hào)碼 char email30; /電子郵箱int s; TeleNumber * Next;void ReadFile(istream & in);void input();void display(); ;void TeleNumber:ReadFile(istream & in) /從文件把數(shù)據(jù)讀入到程序in>>name>>phoneNumber>>mobileNumber>>em

18、ail;void TeleNumber:input() /信息輸入 cout<<"請(qǐng)輸入姓名"<<endl;cin>>name;cout<<"請(qǐng)輸入固定電話號(hào)碼"<<endl;cin>>phoneNumber;cout<<"請(qǐng)輸入移動(dòng)電話號(hào)碼"<<endl;cin>>mobileNumber;cout<<"請(qǐng)輸入電子郵箱"<<endl;cin>>email;s=j+;voi

19、d TeleNumber:display() /信息輸出cout<<"姓名:"<<name<<'t'<<"固定號(hào)碼:"<<phoneNumber<<'t'<<"移動(dòng)電話號(hào)碼:"<<mobileNumber<<'t'<<"電子郵箱:"<<email<<endl;class TeleMessage /功能類public: Tele

20、Message(); /構(gòu)造數(shù)據(jù)結(jié)構(gòu) TeleMessage(); /釋放單鏈表void Save(); /數(shù)據(jù)保存到文件TeleNumber * Search(char *); /信息查找void Insert(); /插入void Remove(); /刪除void Change(); /更改void Show(); /顯示private:TeleNumber * End,* Head;ifstream in; /定義讀,寫文件對(duì)象ofstream out; TeleMessage:TeleMessage()Head=new TeleNumber; /頭插法建立單鏈表Head->Ne

21、xt=new TeleNumber;End=Head->Next;in.open("TeleNumber.text"); /打開(kāi)外存文件,看是否有數(shù)據(jù)存在if(!in)cout<<"電話系統(tǒng)中沒(méi)有任何號(hào)碼,請(qǐng)輸入號(hào)碼"<<endl;elsein.close();cout<<"讀取電話號(hào)碼系統(tǒng)成功!"<<endl;cout<<"輸入任意字母繼續(xù)"<<endl; cin>>a; TeleMessage:TeleMessage()

22、/釋放單鏈表0TeleNumber * temp;while(Head->Next!=End)temp=Head->Next;Head=Head->Next;delete temp; delete Head,End; /刪除頭尾指針void TeleMessage:Save() /保存文件 out.open("TeleNumber.txt"); /建立外存文件TeleNumber.txt for(TeleNumber *p=Head->Next;p!=End;p=p->Next)out<<p->name<<&quo

23、t;t"<<p->phoneNumber<<"t"<<p->mobileNumber<<"t"<<p->email<<endl;/將數(shù)據(jù)存到外存文件里out.close();cout<<"保存成功!"<<endl;void TeleMessage:Insert() /插入End->input(); /從單鏈表尾部插入End->Next=new TeleNumber;End=End->Next;c

24、out<<endl<<"插入成功"<<endl;void TeleMessage:Remove() /刪除char name20;TeleNumber * p=new TeleNumber,*temp=NULL; cout<<"請(qǐng)輸入要?jiǎng)h除人的姓名:"<<endl;cin>>name;p->Next=Search(name); /先進(jìn)行查找,找到所要?jiǎng)h除的結(jié)點(diǎn)if(Search(name) temp=p->Next;p->Next=p->Next->Ne

25、xt; /摘鏈delete temp;cout<<"刪除成功!"<<endl;elsecout<<"沒(méi)有找到!"<<endl;TeleNumber * TeleMessage:Search(char * name)for(TeleNumber *p=Head->Next;p!=End;p=p->Next)if(!strcmp(p->name,name) if(x=4)p->display();return p;elsereturn p;if(x=4)cout<<"

26、;查無(wú)此人"<<endl;return 0;void TeleMessage:Change() /修改信息char name20;cout<<"請(qǐng)輸入要修改的人的姓名:"cin>>name;if(Search(name)cout<<"已找到個(gè)人的信息,請(qǐng)輸入新的信息!"<<endl; Search(name)->input();cout<<"修改成功!"<<endl; else cout<<"沒(méi)有找到!"<<endl; void TeleMessage:Show()for(TeleNumber * p=Head->Next;p!=End;p=p->Next)p->display(); int main()bool flag=true;TeleMessage tele;char name20;while(flag)system("cls");cout<<"簡(jiǎn)單個(gè)人電話號(hào)碼查詢系統(tǒng)"<<endl<

溫馨提示

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