当前位置:文档之家› 班级通讯录c语言编程

班级通讯录c语言编程

#include
#include
#include
using namespace std;
class addrm{
private:
string name,addr,teli,post,mail;
public:
addrm():name(""),addr(""),teli(""),post(""),mail(""){}; //构造函数
string shn(){return name;}
string sha(){return addr;}
string sht(){return teli;}
string shp(){return post;}
string shm(){return mail;}
void show(){cout<<"姓名:"<void setn(){cout<<"姓名:";cin>>name;}
void seta(){cout<<"地址:";cin>>addr;}
void sett(){cout<<"电话:";cin>>teli;}
void setp(){cout<<"邮编:";cin>>post;}
void setm(){cout<<"mail:";cin>>mail;}
void setal(){setn();seta();sett();setp();setm();}
void readal(string a,string b,string c,string d,string e)
{name=a;addr=b;teli=c;post=d;mail=e;}
};

class addlist{
private:
int size;
addrm student[30];
public:
addlist(){size=0;}
void add(){student[size].setal();size++;}
void set()
{ string s;char c;
cout<<"输入要修改的姓名:";cin>>s;
for(int i=0;iif(student[i].shn().find(s,0)!=string::npos)//string库内函数,结构为a.find(b,c),即在字符串a中下标为c的位置开始寻找是否有字符串b的存在,若没有则输出string::npos。
{ student[i].show();
cout<<"输入要修改的项:"<cout<<"1.姓名 2.地址 3.电话 4.邮编 5.mail 6.取消:";cin>>c;
switch(c)
{ case '1':student[i].setn();cout<<"修改结果:"<case '2':student[i].seta();cout<<"修改结果:"<case '3':student[i].sett();cout<<"修改结果:"<case '4':student[i].setp();cout<<"修改结果:"<case '5':student[i].setm();cout<<"修改结果:"<case '6':break;
}
}
}
void del()
{ string s;char c;
cout<<"输入要删除的姓名:";cin>>s;
for(int i=0;iif(student[i].shn().find(s,0)!=string::npos)//可直接理解为字符串s是否在student[i]的姓名中任意位置出现过,若是则if条件成立
{ student[i].show();
cout<<"是否删除?(y/n):";cin>>c;
if(c=='y')
{ for(int t=i;t<=size;t++)
student[t]=student[t+1];
size--;
break;
}
else
continue;
}
}

void sea()
{ char c;string s;
cout<<"请输入要查找的项:"<cout<<"1.姓名 2.地址 3.电话 4.邮编 5.mail:";cin>>c;
cout<<"请输入要查找的关键字:";cin>>s;
switch(c)
{ case '1':{for(int i=0;icase '2':{for(int i=0;icase '3':{for(int i=0;icase '4':{for(int i=0;i

dent[i].shp().find(s,0)!=string::npos) student[i].show();break;}
case '5':{for(int i=0;i}
}
void sort()
{ char c;addrm tmp;
cout<<"请输入排序的基准:"<cout<<"1.姓名 2.地址 3.电话 4.邮编 5.mail:";cin>>c;
switch(c)
{ case '1':{for(int i=0;istudent[t].shn()) {tmp=student[i];student[i]=student[t];student[t]=tmp;}break;}
case '2':{for(int i=0;istudent[t].sha()) {tmp=student[i];student[i]=student[t];student[t]=tmp;}break;}
case '3':{for(int i=0;istudent[t].sht()) {tmp=student[i];student[i]=student[t];student[t]=tmp;}break;}
case '4':{for(int i=0;istudent[t].shp()) {tmp=student[i];student[i]=student[t];student[t]=tmp;}break;}
case '5':{for(int i=0;istudent[t].shm()) {tmp=student[i];student[i]=student[t];student[t]=tmp;}break;}
}
cout<<"排序结束,输出结果:"<for(int i=0;istudent[i].show();
}

void read()
{ string a,b,c,d,e;//a是姓名....
size=0;
fstream ioFile;//创建流对象
ioFile.open("addressbook.txt",ios::in);//out是从文件读入到cpu
ioFile>>a;
while(!ioFile.eof())
{ ioFile>>b>>c>>d>>e;
student[size].readal(a,b,c,d,e);
size++;
ioFile>>a;
}
ioFile.close();
cout<<"读取完毕"<}
void write()
{ fstream ioFile;
ioFile.open("addressbook.txt",ios::out);//从cpu取出到屏幕
for(int i=0;iioFile<ioFile.close();
cout<<"保存完毕"<}

};
void main(){
addlist a;
char c=' ';
while(c!='0')
{ cout<<"请输入功能:"<cout<<"1.通讯录添加 2.通讯录编辑 3.通讯录删除 4.按项查询 5.按项排序\ns.保存通讯录 r.读取通讯录 0.退出:";cin>>c;
switch(c)
{ case '1':a.add();break;
case '2':a.set();break;
case '3':a.del();break;
case '4':a.sea();break;
case '5':a.sort();break;
case 's':a.write();break;
case 'r':a.read();break;
}
}
}

相关主题
文本预览
相关文档 最新文档