c++电话薄
来源:互联网 发布:华为p9 plus优化 编辑:程序博客网 时间:2024/05/20 01:33
转载源奉上,百度知道,不过有点坑,累死我了
#include<iostream> #include<string> #include<stdio.h> #include<windows.h> #include<iomanip> using namespace std; class InfNode //构建结点 { friend class people; //将people类定义为友元类 string name; string job; string telnum; string Email; int num; InfNode *next; }; class people //定义的类 { public: people() //构造函数,初始化一个空链表 { first=new InfNode; first->next=NULL; } void see(); //成员函数,实现查找功能 void input(); //成员函数,实现添加功能 void printf(); //成员函数,实现输出功能 void change(); //成员函数,实现修改功能 void Delete(); void print(); private: InfNode *ptr,*first; //头指针 }; void people::input() { //input函数的实现,实现添加功能 ptr=first; int i=1; char k='y'; InfNode *p=new InfNode; cout<<"第"<<i<<"个结点;"<<endl; cout<<setw(18)<<"请输入姓名:"; cin>>p->name; cout<<setw(18)<<"请输入所属类别:"; cin>>p->job; cout<<setw(18)<<"请输入电话号码:"; cin>>p->telnum; cout<<setw(18)<<"请输入邮箱:"; cin>>p->Email; cout<<endl<<endl;p->num=1; cout<<"是否继续录入信息?【y/n】"; cin>>k; cout<<endl; p->next=first->next; first->next=p; while(k=='y'&&i<15) //要求录入数据少于15个 { int j=0; InfNode *q=first->next; p=new InfNode; cout<<"第"<<i+1<<"个结点;"<<endl; cout<<setw(18)<<"请输入姓名:"; cin>>p->name; while(q!=NULL) { if((q->name)==(p->name)) j=1; q=q->next; } if(j==1) { cout<<setw(18)<<"请输入所属类别:"; cin>>p->job; cout<<setw(18)<<"请输入电话号码:"; cin>>p->telnum; cout<<setw(18)<<"请输入邮箱:"; cin>>p->Email; cout<<endl<<endl; i++; p->num=i; } else cout<<"录入失败!(禁止重复录入!)"<<endl; cout<<"是否继续录入信息?【y/n】"; cin>>k; p->next=first->next; first->next=p; } if(i>=15) cout<<"已达到信息录入的上线"<<endl; } void people::see() // see函数的实现, 实现查找功能 { InfNode *p; p=ptr; string s; cout<<endl<<endl<<"开始按类别查询! 请输入查询类别:"<<endl<<endl; cout<<"officer(办公类)"<<" "<<"personal(个人类)"<<" "<<"business(商务类)"<<endl; cin>>s; cout<<"查找结果如下:"<<endl; while(p!=NULL) { if((p->job)==s) { cout<<setw(12)<<"姓名:"<<p->name<<setw(12)<<"电话号码:"<<":"<<p->telnum<<endl; } p=p->next; } } void people::change() //change的实现,实现信息修改功能 { cout<<endl<<endl<<"请输入想修改的人的姓名"<<endl; string s1; cin>>s1; InfNode *p=ptr; while(p!=NULL) { if(p->name==s1) { cout<<"请输入新的所属类别:"<<endl; cin>>p->job; cout<<"请输入新的电话号码:"<<endl; cin>>p->telnum; cout<<"请输入新的邮箱:"<<endl; cin>>p->Email; cout<<"修改后的结果:"<<endl; cout<<setw(12)<<"姓名:"<<p->name<<setw(12)<<"类别:"<<p->job<<setw(12)<<"电话号码:"<<":"<<p->telnum<<"邮箱:"<<":"<<p->Email<<endl; } p=p->next; } } void people::Delete() { //Delete函数的实现 ,实现删除功能 cout<<endl<<"请输入想删除人的姓名"<<endl; string s1; cin>>s1; InfNode *p=ptr; while(p!=NULL) { if(p->name==s1) { InfNode *q; q=p; p=q->next; delete q; cout<<"结点删除成功!"<<endl; return; } else p=p->next; } } void people::print() { InfNode *p=ptr; string ns; cout<<"请输入要拨号的姓名:"<<endl; cin>>ns; while(p!=NULL) { if(ns==p->name) { string s1=p->telnum; int n=s1.size(),i=0; char ch[100]; strcpy(ch,s1.c_str()); while(i<n) { Beep(1000,200); cout<<ch[i]; Sleep(500); i++; } cout<<"成功拨号!"<<endl; } p=p->next; } } int main() { //测试函数 people a1; //调用各个成员函数 a1.input(); a1.see(); a1.print(); a1.change(); a1.Delete(); system("pause"); return 0;
看花眼了吧
#include<iostream>#include<string> #include<stdio.h> #include<windows.h> #include<iomanip>using namespace std;class InfNode //构建结点 { friend class people; //将people类定义为友元类 string name; string job; string telnum; string Email; int num; InfNode *next; }; class people //定义的类 {public: people() //构造函数,初始化一个空链表 { first=new InfNode; first->next=NULL; }void see(); //成员函数,实现查找功能 void input(); //成员函数,实现添加功能 void printf(); //成员函数,实现输出功能 void change(); //成员函数,实现修改功能 void Delete(); void print(); private: InfNode *ptr,*first; //头指针 };void people::input(){ //input函数的实现,实现添加功能 ptr=first; int i=1; char k='y'; InfNode *p=new InfNode; cout<<"第"<<i<<"个结点;"<<endl; cout<<setw(18)<<"请输入姓名:"; cin>>p->name; cout<<setw(18)<<"请输入所属类别:"; cin>>p->job; cout<<setw(18)<<"请输入电话号码:"; cin>>p->telnum; cout<<setw(18)<<"请输入邮箱:"; cin>>p->Email; cout<<endl<<endl;p->num=1; cout<<"是否继续录入信息?【y/n】"; cin>>k; cout<<endl; p->next=first->next; first->next=p;while(k=='y'&&i<15) //要求录入数据少于15个 { int j=0; InfNode *q=first->next; p=new InfNode; cout<<"第"<<i+1<<"个结点;"<<endl; cout<<setw(18)<<"请输入姓名:"; cin>>p->name; while(q!=NULL) { if((q->name)==(p->name)) j=1; q=q->next; } if(j==1) { cout<<setw(18)<<"请输入所属类别:"; cin>>p->job; cout<<setw(18)<<"请输入电话号码:"; cin>>p->telnum; cout<<setw(18)<<"请输入邮箱:"; cin>>p->Email; cout<<endl<<endl; i++; p->num=i; } else cout<<"录入失败!(禁止重复录入!)"<<endl; cout<<"是否继续录入信息?【y/n】"; cin>>k; p->next=first->next; first->next=p; } if(i>=15) cout<<"已达到信息录入的上线"<<endl; } void people::see() // see函数的实现, 实现查找功能 { InfNode *p; p=ptr; string s; cout<<endl<<endl<<"开始按类别查询! 请输入查询类别:"<<endl<<endl; cout<<"officer(办公类)"<<" "<<"personal(个人类)"<<" "<<"business(商务类)"<<endl; cin>>s; cout<<"查找结果如下:"<<endl; while(p!=NULL) { if((p->job)==s) { cout<<setw(12)<<"姓名:"<<p->name<<setw(12)<<"电话号码:"<<":"<<p->telnum<<endl; } p=p->next; } } void people::change() //change的实现,实现信息修改功能 { cout<<endl<<endl<<"请输入想修改的人的姓名"<<endl; string s1; cin>>s1; InfNode *p=ptr; while(p!=NULL) { if(p->name==s1) { cout<<"请输入新的所属类别:"<<endl; cin>>p->job; cout<<"请输入新的电话号码:"<<endl; cin>>p->telnum; cout<<"请输入新的邮箱:"<<endl; cin>>p->Email; cout<<"修改后的结果:"<<endl; cout<<setw(12)<<"姓名:"<<p->name<<setw(12)<<"类别:"<<p->job<<setw(12)<<"电话号码:"<<":"<<p->telnum<<"邮箱:"<<":"<<p->Email<<endl; } p=p->next; } } void people::Delete() { //Delete函数的实现 ,实现删除功能 cout<<endl<<"请输入想删除人的姓名"<<endl; string s1; cin>>s1; InfNode *p=ptr; while(p!=NULL) { if(p->name==s1) { InfNode *q; q=p; p=q->next; delete q; cout<<"结点删除成功!"<<endl; return; } else p=p->next; } } void people::print() { InfNode *p=ptr; string ns; cout<<"请输入要拨号的姓名:"<<endl; cin>>ns; while(p!=NULL) { if(ns==p->name) { string s1=p->telnum; int n=s1.size(),i=0; char ch[100]; strcpy(ch,s1.c_str()); while(i<n) { Beep(1000,200); cout<<ch[i]; Sleep(500); i++; } cout<<"成功拨号!"<<endl; } p=p->next; } } int main() { //测试函数 people a1; //调用各个成员函数 a1.input(); a1.see(); a1.print(); a1.change(); a1.Delete(); system("pause"); return 0; }
阅读全文
0 0
- c++_电话薄
- 电话薄
- c语言之电话薄程序
- C语言程序设计案例精编----电话薄管理系统
- c++电话薄
- Linux下C语言双向链表电话薄,能读写文件,连接mysql
- 电话薄程序的雏型
- ASIMA电话薄管理系统
- 简易电话薄的项目
- 电话薄详细设计书
- 开发电话薄系统心得
- 电话薄----文件读写
- Android获取电话薄联系人
- 项目实践:电话薄程序
- java简易电话薄
- Java 写 电话薄
- 调用电话薄打电话
- Linux C编程 简单电话薄(从文件中读取记录,支持插入、删除和保存操作)
- Android中RadioGroup的多行多列,以及互斥监听
- 028_实战EXE和SYS通信-28课(缓冲模式)_exe_控制台
- 图像处理基本算法 车牌识别与定位
- javascript——移动端input,textarea输入框获得焦点页面上移
- POJ 1083(水题)
- c++电话薄
- QT学习笔记(1)
- 名企笔试:2016网易笔试题(奖学金)2017-05-12 算法爱好者
- springboot 添加静态页面
- 激光雷达学习笔记(一)数据采集
- 通过jQuery动态提交表单,解决一些避免get方式传值问题
- Redis源码剖析和注释(二十二)--- Redis 复制(replicate)源码详细解析
- Android对返回键进行处理的方式
- Oracle SQL笛卡尔连接 求解许先生的妻子是谁?