电话簿维护程序

来源:互联网 发布:西安软件开发平均工资 编辑:程序博客网 时间:2024/05/21 06:00

电话簿维护程序(C++文件操作)


我的代码:

#include<iostream>#include<string>#include<map>#include<fstream>using namespace std;struct directory{string name,tel,add;}d;int main(){map<string,directory>p;map<string,directory>::iterator it;fstream f;f.open("c:\\in.txt",ios::in | ios::out);while(f>>d.name>>d.tel>>d.add) p[d.name]=d;string x;int choice;cout<<"********************电话簿维护*********************"<<endl;cout<<"1.增   2.删   3.改   4.查   5.显示     0.保存并结束"<<endl;cout<<"***************************************************"<<endl;while(cin>>choice){switch(choice){case 1:cout<<"可输入多条新记录:姓名,地址,电话(输入end结束)"<<endl;while(cin>>d.name) {if(d.name=="end") break;cin>>d.tel>>d.add;p[d.name]=d;}cout<<"增加新记录完毕!"<<endl;break;case 2:cout<<"可删除多条记录(输入end结束)"<<endl;while(cin>>x,x!="end"){it=p.find(x);if(it!=p.end()) p.erase(it);else cout<<x<<"--->"<<"no find"<<endl;}break;case 3:cout<<"可改多条记录(输入end结束)"<<endl;while(cin>>x,x!="end"){cin>>d.tel>>d.add;it=p.find(x);if(it!=p.end()) p[x]=d;else cout<<x<<"--->"<<"no find"<<endl;}break;case 4:cout<<"可查找多条记录(输入end结束)"<<endl;while(cin>>x,x!="end"){it=p.find(x);if(it!=p.end()) cout<<"姓名:"<<it->first<<"--->"<<"电话:"<<it->second.tel<<" "<<"地址:"<<it->second.add<<endl;else cout<<x<<"--->"<<"no find"<<endl;}break;case 5:for(it=p.begin();it!=p.end();it++) cout<<"姓名:"<<it->first<<"--->"<<"电话:"<<it->second.tel<<" "<<"地址:"<<it->second.add<<endl;break;case 0:cout<<"结束"<<endl;f.seekg(0);for(it=p.begin();it!=p.end();it++)cout<<"姓名:"<<it->first<<"--->"<<"电话:"<<it->second.tel<<" "<<"地址:"<<it->second.add<<endl;f.close();return 0;}cout<<"********************电话簿维护*********************"<<endl;    cout<<"1.增   2.删   3.改   4.查   5.显示     0.保存并结束"<<endl;    cout<<"***************************************************"<<endl;}return 0;}

原创粉丝点击