版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、. 课程设计报告学生姓名: 学 号: 专业班级: 课程名称: 数 据 结 构 学年学期: 2 0132 014学年第 2 学期 指导教师: 2 0 14年 6 月课程设计成绩评定表学生姓名学 号成绩专业班级起止时间2014.6.16-2014.6.22设计题目电话号码查询系统指导教师评语指导教师: 年 月 日一、数据结构课程设计目标数据结构是计算机专业一门重要的专业技术基础课程,是一门关键性核心课程。数据结构课程的目标是使学生学会分析研究计算机加工对象的特性,选择合适的数据结构和存储表示,以及编制相应的实现算法,培养和提高学生程序设计的能力。数据结构课程也是一门实践性较强的课程,设置实践环节是
2、十分重要的。本课程设计的目标就是要达到理论与实际应用相结合,提高学生组织数据及编写大型程序的能力,并培养基本的、良好的程序设计技能以及合作能力。二、问题描述人们在日常生活中经常需要查找某个人或某个单位的电话号码,本实验将实现一个简单的个人电话号码查询系统,根据用户输入的信息(例如姓名等)进行快速查询。三、需求分析1程序的功能能够完成通讯链表的建立、通讯者的插入、通讯者的查询、显示所有通讯者的信息、通讯录的修改除名字外的其他信息以及保存通讯录、退出程序等功能。2输入输出要求程序完成后,给出7个菜单项的内容和输入提示:增加信息显示信息查找号码删除信息修改信息保存信息退出系统四、概要设计五、详细设计
3、定义结构体#include<iostream>#include<fstream>#include<string>using namespace std;int x=0;char a;int j=1;struct TeleNumber /数据类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) /从文件把数据读入到程序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(); /构造数据结构 TeleMessage(); /释放单链表void Save(); /数据保存到文件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"); /打开外存文件,看是否有数据存在if(!in)cout<<"电话系统中没有任何号码,请输入号码"<<endl;elsein.clo
8、se();cout<<"读取电话号码系统成功!"<<endl;cout<<"输入任意字母继续"<<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;/将数据存到外存文件里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; 主函数int main()bool flag=true;TeleMessage tele;char name20;while(flag)system("cls");cout<<"简单个人电话号码查询系统"
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.退出系统"<<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;六、软件说明书通过软件的调试与测试可以跟数据程序上的对号码薄进行简单的增删改操作,在使用时应注意程序上的一些提示操作,要按照提示上的来操作源程序代码#include<iostream>#include<fstream>#include<string>using namespace std;int x=0;char a;int j=1;struct TeleNum
17、ber /数据类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) /从文件把数据读入到程序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(); /构造数据结构 TeleMessage(); /释放单链表void Save(); /数据保存到文件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"); /打开外存文件,看是否有数据存在if(!in)cout<<"电话系统中没有任何号码,请输入号码"<<endl;elsein.close();cout<<"读取电话号码系统成功!"<<endl;cout<<"输入任意字母继续"<<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;/将数据存到外存文件里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<<"简单个人电话号码查询系统"<<endl<
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年09月2024中国建设银行四川省分行校园招聘853人笔试历年参考题库附带答案详解
- 2024年08月邯郸银行石家庄保定秦皇岛邢台分行定向招考笔试历年参考题库附带答案详解
- 2024年08月浙江泰隆商业股份有限公司综合支持岗(温州分行)招聘1人笔试历年参考题库附带答案详解
- 2024年08月成都农村商业银行股份有限公司市场化选聘1名执行层人员笔试历年参考题库附带答案详解
- 2024年08月嘉兴银行湖州分行招聘(3+)笔试历年参考题库附带答案详解
- 2024年08月光大银行宜春分行招贤纳士笔试历年参考题库附带答案详解
- 2024年08月中国光大银行杭州分行对公风险经理招聘笔试历年参考题库附带答案详解
- 2024年08月福建浦发银行福州分行社会招考(812)笔试历年参考题库附带答案详解
- 2024至2030年中国避雷器电阻片数据监测研究报告
- 2025至2031年中国纳米载银抗菌粉行业投资前景及策略咨询研究报告
- 主题班会《我爱爸爸妈妈》
- 新中小企业促进法宣讲暨十条的措施解读课件
- 机器学习与大数据技术PPT完整全套教学课件
- 班主任如何与家长进行有效沟通交流讲座PPT课件讲义
- 国际疾病分类ICD11编码库
- WORD版A4横版密封条打印模板(可编辑)
- 2023年北京广播电视台招聘140人(共500题含答案解析)笔试必备资料历年高频考点试题摘选
- 植树造林项目协调组织措施
- 一元一次方程的应用-行程问题说课课件
- 《舆论学原理与应用》考试复习题库(含答案)
- 食堂管理员年终个人工作总结5篇
评论
0/150
提交评论