




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、. 課程設計報告學生姓名: 學 號: 專業(yè)班級: 課程名稱: 數(shù) 據(jù) 結 構 學年學期: 2 0132 014學年第 2 學期 指導教師: 2 0 14年 6 月課程設計成績評定表學生姓名學 號成績專業(yè)班級起止時間2014.6.16-2014.6.22設計題目電話號碼查詢系統(tǒng)指導教師評語指導教師: 年 月 日一、數(shù)據(jù)結構課程設計目標數(shù)據(jù)結構是計算機專業(yè)一門重要的專業(yè)技術基礎課程,是一門關鍵性核心課程。數(shù)據(jù)結構課程的目標是使學生學會分析研究計算機加工對象的特性,選擇合適的數(shù)據(jù)結構和存儲表示,以及編制相應的實現(xiàn)算法,培養(yǎng)和提高學生程序設計的能力。數(shù)據(jù)結構課程也是一門實踐性較強的課程,設置實踐環(huán)節(jié)是
2、十分重要的。本課程設計的目標就是要達到理論與實際應用相結合,提高學生組織數(shù)據(jù)及編寫大型程序的能力,并培養(yǎng)基本的、良好的程序設計技能以及合作能力。二、問題描述人們在日常生活中經(jīng)常需要查找某個人或某個單位的電話號碼,本實驗將實現(xiàn)一個簡單的個人電話號碼查詢系統(tǒng),根據(jù)用戶輸入的信息(例如姓名等)進行快速查詢。三、需求分析1程序的功能能夠完成通訊鏈表的建立、通訊者的插入、通訊者的查詢、顯示所有通訊者的信息、通訊錄的修改除名字外的其他信息以及保存通訊錄、退出程序等功能。2輸入輸出要求程序完成后,給出7個菜單項的內(nèi)容和輸入提示:增加信息顯示信息查找號碼刪除信息修改信息保存信息退出系統(tǒng)四、概要設計五、詳細設計
3、定義結構體#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; /固定電話號碼 int mobileNumber; /移動電話號碼 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<<"請輸入姓名"<<endl;cin>>name;cout<<"請輸入固定電話號碼"<<endl;cin>>phoneNumber;cout<
5、<"請輸入移動電話號碼"<<endl;cin>>mobileNumber;cout<<"請輸入電子郵箱"<<endl;cin>>email;s=j+;信息輸出void TeleNumber:display() /信息輸出cout<<"姓名:"<<name<<'t'<<"固定號碼:"<<phoneNumber<<'t'<<"移動
6、電話號碼:"<<mobileNumber<<'t'<<"電子郵箱:"<<email<<endl;class TeleMessage /功能類public: TeleMessage(); /構造數(shù)據(jù)結構 TeleMessage(); /釋放單鏈表void Save(); /數(shù)據(jù)保存到文件TeleNumber * Search(char *); /信息查找void Insert(); /插入void Remove(); /刪除void Change(); /更改void Show(); /顯示
7、private:TeleNumber * End,* Head;ifstream in; /定義讀,寫文件對象ofstream out;建立單鏈表TeleMessage:TeleMessage()Head=new TeleNumber; /頭插法建立單鏈表Head->Next=new TeleNumber;End=Head->Next;in.open("TeleNumber.text"); /打開外存文件,看是否有數(shù)據(jù)存在if(!in)cout<<"電話系統(tǒng)中沒有任何號碼,請輸入號碼"<<endl;elsein.clo
8、se();cout<<"讀取電話號碼系統(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; /刪除頭尾指針保存號碼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;插入號碼void TeleMessage:Insert() /插入End->input(); /從單鏈表尾部插入End->Next=new TeleNumber;End=End->Next;cout<<endl<<"插入成功"<<endl;刪除號碼void TeleMessage:Remove() /刪除char name20;TeleNumber * p=new TeleNumber,*temp=NULL; cout<<&q
11、uot;請輸入要刪除人的姓名:"<<endl;cin>>name;p->Next=Search(name); /先進行查找,找到所要刪除的結點if(Search(name) temp=p->Next;p->Next=p->Next->Next; /摘鏈delete temp;cout<<"刪除成功!"<<endl;elsecout<<"沒有找到!"<<endl;查找號碼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<<"查無此人"<<endl;return 0;修改信息void TeleMessage:Change() /修改信息char name20;cout<<"請輸入要修改的人的姓名:"cin>>name;if(Search(nam
13、e)cout<<"已找到個人的信息,請輸入新的信息!"<<endl; Search(name)->input();cout<<"修改成功!"<<endl; else cout<<"沒有找到!"<<endl; 主函數(shù)int main()bool flag=true;TeleMessage tele;char name20;while(flag)system("cls");cout<<"簡單個人電話號碼查詢系統(tǒng)"
14、;<<endl<<endl;cout<<"1.增加信息"<<endl;cout<<"2.顯示信息"<<endl;cout<<"3.查找號碼"<<endl;cout<<"4.刪除信息"<<endl;cout<<"5.修改信息"<<endl;cout<<"6.保存信息"<<endl;cout<<&quo
15、t;0.退出系統(tǒng)"<<endl<<endl;cout<<"請選擇:"cin>>x;switch(x)case 0:flag=false;break;case 1:tele.Insert();break;case 2:tele.Show();break;case 3:cout<<"請輸入姓名"<<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;六、軟件說明書通過軟件的調(diào)試與測試可以跟數(shù)據(jù)程序上的對號碼薄進行簡單的增刪改操作,在使用時應注意程序上的一些提示操作,要按照提示上的來操作源程序代碼#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; /固定電話號碼 int mobileNumber; /移動電話號碼 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<<"請輸入姓名"<<endl;cin>>name;cout<<"請輸入固定電話號碼"<<endl;cin>>phoneNumber;cout<<"請輸入移動電話號碼"<<endl;cin>>mobileNumber;cout<<"請輸入電子郵箱"<<endl;cin>>email;s=j+;voi
19、d TeleNumber:display() /信息輸出cout<<"姓名:"<<name<<'t'<<"固定號碼:"<<phoneNumber<<'t'<<"移動電話號碼:"<<mobileNumber<<'t'<<"電子郵箱:"<<email<<endl;class TeleMessage /功能類public: Tele
20、Message(); /構造數(shù)據(jù)結構 TeleMessage(); /釋放單鏈表void Save(); /數(shù)據(jù)保存到文件TeleNumber * Search(char *); /信息查找void Insert(); /插入void Remove(); /刪除void Change(); /更改void Show(); /顯示private:TeleNumber * End,* Head;ifstream in; /定義讀,寫文件對象ofstream out; TeleMessage:TeleMessage()Head=new TeleNumber; /頭插法建立單鏈表Head->Ne
21、xt=new TeleNumber;End=Head->Next;in.open("TeleNumber.text"); /打開外存文件,看是否有數(shù)據(jù)存在if(!in)cout<<"電話系統(tǒng)中沒有任何號碼,請輸入號碼"<<endl;elsein.close();cout<<"讀取電話號碼系統(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<<"請輸入要刪除人的姓名:"<<endl;cin>>name;p->Next=Search(name); /先進行查找,找到所要刪除的結點if(Search(name) temp=p->Next;p->Next=p->Next->Ne
25、xt; /摘鏈delete temp;cout<<"刪除成功!"<<endl;elsecout<<"沒有找到!"<<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、;查無此人"<<endl;return 0;void TeleMessage:Change() /修改信息char name20;cout<<"請輸入要修改的人的姓名:"cin>>name;if(Search(name)cout<<"已找到個人的信息,請輸入新的信息!"<<endl; Search(name)->input();cout<<"修改成功!"<<endl; else cout<<"沒有找到!"<<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<<"簡單個人電話號碼查詢系統(tǒng)"<<endl<
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025至2030年中國不粘油涂裝行業(yè)發(fā)展研究報告
- 2025至2030年中國三黃雞種苗行業(yè)發(fā)展研究報告
- 2025至2030年中國三聚氰胺浸漬平衡紙行業(yè)發(fā)展研究報告
- 國際投資形式及其風險試題及答案
- 室內(nèi)裝修項目部工作流程教材
- 福建西部計劃考試要點強化及答案
- 2025至2030年中國三層鍋行業(yè)投資前景及策略咨詢報告
- 2025至2030年中國三唑磷原油市場分析及競爭策略研究報告
- 2025至2030年中國三功能折疊跑步機行業(yè)投資前景及策略咨詢研究報告
- 水溶肥料項目實施方案
- 骨轉(zhuǎn)移瘤課件
- 三下語文作業(yè)樣例(第三單元)
- 護士注冊健康體檢表下載【可直接打印版本】
- 地源熱泵空調(diào)技術應用介紹
- 雙星與多星問題
- 五年級下冊音樂教案-1編花籃-湘教版
- ESS嗜睡量表評分標準(Epworth 嗜睡量表(ESS))
- 住建部《建筑業(yè)10項新技術(2017版)》解讀培訓課件
- 合作社組織架構圖
- 《你知道嗎?》羅鳴亮
- 彩色簡約魚骨圖PPT圖表模板
評論
0/150
提交評論