(这个是我们c++作业)
此电话本可完成以下功能:
(1) 实现简单电话本功能,用姓名来搜索电话号码;
(2) 用户输入姓名,程序查找并输出结果;
(3) 用户可以通过输入,添加姓名和电话号码;
(4) 用户可以删除姓名和电话号码;
(5) 电话本可以保存在指定文件中;
(6) 电话可被从指定文件中读入到内存。
class Phonebook{
public:
map<string,string> phonebook;
void Init1();
void Insert1();
void Find1();
void Delete1();
void Init2();
void Insert2();
void Find2();
void Delete2();
};
void Phonebook::Init1(){
myFile4.open("file4.txt");
string str1,str2;
while(myFile4>>str1>>str2){
phonebook.insert(pair<string,string>(str1,str2));
myFile1<<str1<<" "<<str2<<endl;
}
}
void Phonebook::Insert1(){
string str1,str2;
cin>>str1>>str2;
map<string,string>::iterator it;
it = phonebook.find(str1);
if(it!=phonebook.end()){
cout<<"This person"<<"("<<str1<<")"<<"doesn't exist"<<endl;
}
else{
phonebook.insert(pair<string,string>(str1,str2));
myFile1<<str1<<" "<<str2<<endl;
}
}
void Phonebook::Find1(){
string str;
cin>>str;
map<string,string>::iterator it;
it = phonebook.find(str);
if(it==phonebook.end()){
cout<<"This person"<<"("<<str<<")"<<"doesn't exist"<<endl;
}
else{
cout<<it->second<<endl;
}
}
void Phonebook::Delete1(){
string str;
cin>>str;
map<string,string>::iterator it;
it = phonebook.find(str);
if(it==phonebook.end()){
cout<<"This person"<<("<<str<<")<<"doesn't exist"<<endl;
}
else{
phonebook.erase(it);
myFile1.close();
myFile1.open("file1.txt");
map<string,string>::iterator its;
for(its=phonebook.begin();its!=phonebook.end();its++){
myFile1<<its->first<<" "<<its->second<<endl;
}
cout<<str<<" "<<"已被删除"<<endl;
}
}
void Phonebook::Init2(){
myFile4.open("file4.txt");
string str1,str2;
while(myFile4>>str1>>str2){
phonebook.insert(pair<string,string>(str1,str2));
myFile2<<str1<<" "<<str2<<endl;
}
}
void Phonebook::Insert2(){
string str1,str2;
myFile3>>str1>>str2;
map<string,string>::iterator it;
it = phonebook.find(str1);
if(it!=phonebook.end()){
cout<<"This person"<<"("<<str1<<")"<<"doesn't exist"<<endl;
}
else{
phonebook.insert(pair<string,string>(str1,str2));
myFile2<<str1<<" "<<str2<<endl;
}
}
void Phonebook::Find2(){
string str;
myFile3>>str;
map<string,string>::iterator it;
it = phonebook.find(str);
if(it==phonebook.end()){
cout<<"This person"<<"("<<str<<")"<<"doesn't exist"<<endl;
}
else{
cout<<it->second<<endl;
}
}
void Phonebook::Delete2(){
string str;
myFile3>>str;
map<string,string>::iterator it;
it = phonebook.find(str);
if(it==phonebook.end()){
cout<<"This person"<<("<<str<<")<<"doesn't exist"<<endl;
}
else{
phonebook.erase(it);
myFile2.close();
myFile2.open("file2.txt");
map<string,string>::iterator its;
for(its=phonebook.begin();its!=phonebook.end();its++){
myFile2<<its->first<<" "<<its->second<<endl;
}
cout<<str<<" "<<"已被删除"<<endl;
}
}
int main(){
Phonebook book;
string str;
cin>>str;
if(str[0]=='K'){
myFile1.open("file1.txt");
book.Init1();
while(cin>>str){
if(str[0]=='I'){
book.Insert1();
}
else if(str[0]=='Q'){
book.Find1();
}
else if(str[0]=='D'){
book.Delete1();
}
}
}
else if(str[0]=='F'){
myFile3.open("file3.txt");
myFile2.open("file2.txt");
book.Init2();
while(myFile3>>str){
if(str[0]=='I'){
book.Insert2();
}
else if(str[0]=='Q'){
book.Find2();
}
else if(str[0]=='D'){
book.Delete2();
}
}
}
return 0;
}
原文链接: https://www.cnblogs.com/c-source/archive/2011/12/18/2565083.html
欢迎关注
微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍
原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/38809
非原创文章文中已经注明原地址,如有侵权,联系删除
关注公众号【高性能架构探索】,第一时间获取最新文章
转载文章受原作者版权保护。转载请注明原作者出处!