資源簡介
以本班同學的具體數(shù)據(jù)為背景,設計一個本班同學通訊錄
實現(xiàn)以下功能:
1) 通訊錄編輯(添加、刪除);
2) 按不同的項進行查找;
3) 對已存在的通訊錄按不同的項排序;
4) 將通訊錄寫入文件;
5) 從文件讀入通訊錄。
備注:通訊錄至少應該有以下數(shù)據(jù)項:姓名,地址,電話,郵編,E-mail
代碼片段和文件信息
/*
1.?以本班同學的具體數(shù)據(jù)為背景,設計一個本班同學通訊錄
實現(xiàn)以下功能:?
1)?通訊錄編輯(添加、刪除);?
2)?按不同的項進行查找;?
3)?對已存在的通訊錄按不同的項排序;?
4)?將通訊錄寫入文件;?
5)?從文件讀入通訊錄。?
備注:通訊錄至少應該有以下數(shù)據(jù)項:姓名,地址,電話,郵編,E-mail。?
*/?
#include
#include
#include
#include
#include
#include
#include
#include
using?namespace?std;
/*void?addphone(string?nphone?*ptrint?len);
??void?deletephone(string?nphone?*ptrint?len);
??phone*searchphone(string?nphone*ptrint?len);*/
??
??
class?phone?????//定義一個phone的類?
{
private:
string?name;??????//定義姓名?
string?number;?????//定義電話號碼?
string?address;?????//定義地址?
string?email;?????//定義email?
string?zip_code;?????//定義郵編?
public:
phone(){};
string?getname(){return?name;}
string?getnumber(){return?number;}
string?getaddress(){return?address;}
string?getemail(){return?email;}
string?getzip_code(){return?zip_code;}
void?setname(string?n1){name=n1;}
void?setnumber(string?n2){number=n2;}
void?setaddress(string?n3){address=n3;}
void?setemail(string?n4){email=n4;}
void?setzip_code(string?n5){zip_code=n5;}
};
int?input(phone?ptr[])?????//從文件讀入通訊錄?
{
int?i=0aa1;
string?n1n2n3n4n5;
char?name[40];
cin>>name;?
ifstream?fin(name);
/*while?(fin==NULL)
{
cout<<“********未找到該文件請重新輸入:“< }*/
while(!fin.eof())
{
getline(finn1‘;‘);?????//分別讀取姓名,電話,email,地址,郵編?
getline(finn2‘;‘);
getline(finn3‘;‘);
getline(finn4‘;‘);
getline(finn5‘\n‘);
ptr[i].setname(n1);
ptr[i].setnumber(n2);
ptr[i].setemail(n3);
ptr[i].setaddress(n5);
ptr[i].setzip_code(n4);
i++;
}
return?i;
}
void?output(phone?ptr[]int?len)?????//文件輸出?
{
ofstream?fout(“phone.txt“);
//cout<<“輸出測試“< for(int?i=0;i ??{
??fout< ??fout< ??fout< ??fout< ??fout< ??}//fout< }
void?coutput(phone?ptr[]int?len)?????//屏幕輸出?
{
??for(int?i=0;i ??{
??cout<<“姓名:?“< ??cout<<“電話:?“< ??cout<<“E-mail:“< ??cout<<“郵箱:“< ??cout<<“地址:“< ??//cout< }}
phone*?searchphone(string?nphone*ptrint?len)?????//查找?
{
??????for(int?i=0;i ??????if(n==(ptr+i)->getname()||n==(ptr+i)->getnumber()||n==(ptr+i)->getemail()||n==(ptr+i)->getaddress()||n==(ptr+i)->getzip_code())
??//cout<<“the?number?of“<getnumber>>endl;
??????????{
??return?(ptr+i);
??break;
??????????}
????return?NULL;
????}
void?addphone(string?nphone*ptrint?len)?????//添加?
{
string?a1a2a3a4;
char?back;
cin>>back;
/*if(back==“q“)
{
goto?backto;
}?*/
ptr[len].setname(a1);
c
- 上一篇:mfc的ftp客戶端源碼
- 下一篇:opengl實現(xiàn)對地球紋理貼圖
評論
共有 條評論