*.h:文件
#include
#include
#include
#include
using namespace std;
#define Z 100
#include"conio.h"
#include
class Friend
{ string attr;//属性
string name;
string sex;
string age;
string befine;
string addr;
string Company;//登录账号
string BM;//登录密码
//char Fliename[15];
public:
Friend();
Friend(string ar,string n,string s,string a,string b,string add);
Friend(string C,string CK);
void getinfo();
void Displayinfo();
void Zisplayinfo();
void Writeinfo(ofstream& saccount);
void DWriteinfo(ofstream& saccount);//保存注册信息
void RWriteinfo(ofstream& saccount);//通过这个函数调用修改的信息
void Readinfo(ifstream& saccount);
void DReadinfo(ifstream& saccount);//读取注册信息
void Enrolinfo();
string gettime();
char Fliename[15];
//{return Fliename[15];}
string R_Company()
{return Company;}
string R_BM()
{return BM;}
string R_name()
{return name;}
string R_sex()
{return sex;}
string R_age()
{return age;}
string R_befine()
{return befine;}
string R_addr()
{return addr;}
string R_attr()
{return attr;}
Lattr(string Xattr)
{attr=Xattr;}
Lname(string Xname)
{name=Xname;}
Lsex(string Xsex)
{sex=Xsex;}
Lage(string Xage)
{age=Xage;}
Lbefine(string Xbefine)
{befine=Xbefine;}
Laddr(string Xaddr)
{addr=Xaddr;}
};
*.cpp文件:
#include"head.h"
#include
#include
Friend::Friend()
{
attr="";
name="";
sex="";
age="";
befine="";
addr="";
Company="";
BM="";
}
Friend::Friend(string C,string CK)
{
Company=C;
BM=CK;
}
Friend::Friend(string ar,string n,string s,string a,string b,string add)
{
attr=ar;
name=n;
sex=s;
age=a;
befine=b;
addr=add;
}
void Friend::getinfo()
{
cout<<"类别(亲人、朋友、同学):";cin>>attr;
cout<
cout<
cout<
cout<
cout<
cout<
//用户登录界面
void Friend::Enrolinfo()
{
int d=0;
char D[10];
cout<<"账号:";cin>>Company;
cout<
{
D[d]=getch();
if(D[d]=='\b')
{
putchar('\b');
cout<<" ";
putchar('\b');
d--;
}
else if(D[d]!='\r')
{cout<<"*";
d++;
}
}
D[d]='\0';
BM=D;
cout<
}
void Friend::Zisplayinfo()
{
cout<<'\t'<<'\t'<<'\t'<<"账号:"<
void Friend::Displayinfo()
{
cout<<'\t'<<"类别:"<
//保存注册账号的信息
void Friend::DWriteinfo(ofstream& saccount)
{
saccount<
void Friend::Writeinfo(ofstream& saccount)
{
saccount<
//调用修改的信息
void Friend::RWriteinfo(ofstream& saccount)
{
saccount<
//调用系统时间
string Friend::gettime()
{
long timer;
time(&timer);
return ctime(&timer);
}
//输出显示信息
void Friend::Readinfo(ifstream& saccount)
{
saccount>>attr;
saccount>>name;
saccount>>sex;
saccount>>age;
saccount>>befine;
saccount>>addr;
}
//输出账号注册信息
void Friend::DReadinfo(ifstream& saccount)
{
saccount>>Company;
saccount>>BM;
saccount>>Fliename;
}
int main()
{ string ZH;//登录账号
string Key;//密码
string LAattr;
string LAname;
string LAsex;
string LAage;
string LAbefine;
string LAaddr;
short i=0,XZ,number=0,p=1,CM,cut=1;//cut是控制登录成功后的for循环
string Cname;
string Csex;
vector
for(;1;)
{
cout<<" "<<"*******************************通讯录系统***************************"<<'\t'<<'\t'<<'\t'<
cin>>CM;
switch(CM)
{
case 1:{
system("cls");
int d=0;
int Dl=1;
char D[10];
i=0;
ifstream output("enrol.txt",ios::in);
while(1)
{
people[i].DReadinfo(output);
if(!output)break;
i++;
}
output.close();
number=i;
cout<<"★★★★★★★★★★★欢迎使用本通讯录系统,请登录你的信息★★★★★★★★★★★"<
cin>>ZH;
cout<<'\t'<<'\t'<<"密码:";
while(D[d]!='\r')
{
D[d]=getch();
if(D[d]=='\b')
{
putchar('\b');
cout<<" ";
putchar('\b');
d--;
}
else if(D[d]!='\r')
{cout<<"*";
d++;
}
}
D[d]='\0';
Key=D;
for(i=0;i
{system("cls");
cout<
for(;cut;)
{
cout<<'\t'<<" "<<"*************************通讯录*************************"<<'\t'<<'\t'<<'\t'<
cin>>XZ;
char filename[15];//取文件名
strcmp(filename,people[i].Fliename);
filename[15]='\0';
switch(XZ)
{
case 1:{system("cls");
ofstream input(filename,ios::out|ios::app);
cout<<"********************请根据一下提示,正确的填写所要添加的信息*********************"<
people[i].Writeinfo(input);
i++;
input.close();
cout<<"此信息输入完毕(请从键盘随意输入一个字符,退出选择你的操作)!"<
case 2:{system("cls");
ifstream output(filename,ios::in);
{
people[i].Readinfo(output);
if(!output)break;
i++;
}
output.close();
number=i;
cout<<"***************************请正确填写你要修改的信息****************************"<
cout<<"性别:";cin>>Csex;
for(i=0;i
{system("cls");
cout<<"******************************请再次认真填写信息******************************"<
cin>>LAattr;
people[i].Lattr(LAattr);
cout<<"姓名:";
cin>>LAname;
people[i].Lname(LAname);
cout<<"性别:";
cin>>LAsex;
people[i].Lsex(LAsex);
cout<<"年龄:";
cin>>LAage;
people[i].Lage(LAage);
cout<<"电话:";
cin>>LAbefine;
people[i].Lbefine(LAbefine);
cout<<"地址:";
cin>>LAaddr;
people[i].Laddr(LAaddr);
p=0;
cout<<"此信息修改完毕(请从键盘随意输入一个字符,退出选择你的操作)!"<
if(p) {cout<<"你所要修改的信息不存在,请核对后重新输入!"<
ofstream input(filename,ios::out);
for(i=0;i
people[i].RWriteinfo(input);
}
input.close();
}getch();system("cls");break;
case 3:{system("cls");
string Pas="";
ifstream output(filename,ios::in);
{
people[i].Readinfo(output);
if(!output)break;
i++;
}
output.close();
number=i;
cout<<"***************************请正确填写你要修改的信息****************************"<
cout<<"性别:";cin>>Csex;
for(i=0;i
{system("cls");
//people[i].Lattr(people[number-1].R_Lattr());
//people[i].Lname(people[number-1].R_Lname());
// people[i].Lsex(people[number-1].R_Lsex());
// people[i].Lage(people[number-1].R_Lage());
// people[i].Lbefine(people[number-1].R_Lbefine());
// people[i].Laddr(people[number-1].R_Laddr());
people[number-1].Lattr(Pas);
people[number-1].Lname(Pas);
people[number-1].Lsex(Pas);
people[number-1].Lage(Pas);
people[number-1].Lbefine(Pas);
people[number-1].Laddr(Pas);
p=0;
cout<
if(p) {cout<<"你所要修改的信息不存在,请核对后重新输入!"<
ofstream input(filename,ios::out);
for(i=0;i
people[i].RWriteinfo(input);
}
input.close();
}getch();system("cls");break;
case 4:{system("cls");
ifstream output(filename,ios::in);
i=0;
while(1)
{
people[i].Readinfo(output);
if(!output)break;
i++;
}
output.close();
number=i;
cout<<"***************************请正确填写你要查询的信息****************************"<
cout<<"性别:";cin>>Csex;
for(i=0;i
if((Cname==people[i].R_name())&&(Csex==people[i].R_sex()))
{ system("cls");
cout<<"******************************你所查询的通讯信息为******************************"<
}
if(p) {cout<<"你所要查询的信息不存在,请核对后重新输入!"<
}getch();system("cls");break;
case 5:{system("cls");
int C;
ifstream output(filename,ios::in);
while(1)
{
people[i].Readinfo(output);
if(!output)break;
i++;
}
output.close();
number=i;
cout<<"************************系统为你查询到已有信息的总人数有"<
if(C==1)
{system("cls");
for(i=0;i
if(people[i].R_attr()=="亲人")
{
cout<<"-------------------------------为你查询到的信息为-------------------------------"<
}
}
else if(C==2)
{system("cls");
for(i=0;i
}
else if(C==3)
{system("cls");
for(i=0;i
{
cout<<"-------------------------------为你查询到的信息为-------------------------------"<
}
}
else if(C==4)
{system("cls");
for(i=0;i
cout<<"--------------------------------第"<<(i+1)<<"个个人信息为---------------------------------"<
}
}
}getch();system("cls");break;
case 6:{system("cls");
cout<
case 7:{system("cls");
cout<
default:{system("cls");cout<<"----------------你的输入错误,请你再次正确输入你选择的操作!----------------"<
}
Dl=0;}
if(Dl) {system("cls");cout<<"☆☆☆☆☆☆☆☆☆☆你所登录的用户不存在,请核对后重新登录!☆☆☆☆☆☆☆☆☆☆☆"<
case 2:{
system("cls");
i=0;
ofstream input("enrol.txt",ios::out|ios::app);
cout<<"********************请根据一下提示,正确的填写注册信息*************************"<
people[i].DWriteinfo(input);
i++;
input.close();
cout<
}break;
case 3:{
system("cls");
ifstream output("enrol.txt",ios::in);
while(1)
{
people[i].DReadinfo(output);
if(!output)break;
cout<<"*************************系统为你查询到的第"< people[i].Zisplayinfo();
i++;
}
output.close();
}system("pause");system("cls");break;
case 4:{
system("cls");
cout<<"**************************欢迎你再次使用本通讯录系统!***************************"<
}system("pause");break;
default :{system("cls");cout<<"----------------你的输入错误,请你再次正确输入你选择的操作!----------------"<
}
}
return 0;
}
//system("pause");
VC知识库上有源码
要有界面么,就是可以用鼠标的那种,还是命令行模式.