主题:[讨论]大家帮我看看我写的这个程序
关于一个WIN32控制台下的通讯录程序,连接时提示无错误,当选择1进入录入名字时,输入后便出错,无法继续执行,我用的是VC6.0编译环境。
#include "person.h"
#include "iostream.h"
int wait()
{
char comm;
cout<<"请选择功能:"<<endl<<"1-录入"<<endl<<"2-按姓名查询"<<endl<<"3-显示全部"<<endl<<"4退出程序"<<endl;
cin>>comm;
if(comm=='1'||comm=='2'||comm=='3'||comm=='4')
return comm;
else
return 0;
}
void main()
{
const int number=10;
int count,Return,sumone=0;
char Check[10];
cout<<"欢迎使用WIN32控制台通讯录"<<endl;
Return=wait();
person *pPeo[number];
while(Return!='4')
{
if(Return=='1')
{
if(sumone==10)
cout<<"程序录入最大人数已满!"<<endl;
else
{
pPeo[sumone]->setperson();
sumone++;
}
Return=wait();
}
else if(Return=='2')
{
cout<<"请输入要查找的姓名"<<endl;
cin>>Check;
for(count=0;count<=sumone;count++)
pPeo[count]->checkname(Check);
Return=wait();
}
else if(Return=='3')
{
for(count=0;count<=sumone;count++)
pPeo[count]->printperson();
Return=wait();
}
else
{
cout<<"非法输入!请重新输入"<<endl;
Return=wait();
}
if(Return=='4')
{
cout<<"程序退出"<<endl;
}
}
}
person类的定义(.h内)
private:
char m_Name[100];
char m_Address[100];
char m_Phone[100];
public:
person();
setperson();
printperson();
checkname(char* name);
virtual ~person();
person::person()
{
}
.cpp内:
person::~person()
{
}
person::setperson()
{
cout<<"请依次输入姓名、地址、电话号码"<<endl;
cin>>m_Name>>m_Address>>m_Phone;
}
person::printperson()
{
cout<<"姓名"<<m_Name<<"地址"<<m_Address<<"电话号码"<<m_Phone<<endl;
}
person::checkname(char* name)
{
if(m_Name==name)
{
cout<<"姓名"<<m_Name<<"地址"<<m_Address<<"电话号码"<<m_Phone<<endl;
}
}
#include "person.h"
#include "iostream.h"
int wait()
{
char comm;
cout<<"请选择功能:"<<endl<<"1-录入"<<endl<<"2-按姓名查询"<<endl<<"3-显示全部"<<endl<<"4退出程序"<<endl;
cin>>comm;
if(comm=='1'||comm=='2'||comm=='3'||comm=='4')
return comm;
else
return 0;
}
void main()
{
const int number=10;
int count,Return,sumone=0;
char Check[10];
cout<<"欢迎使用WIN32控制台通讯录"<<endl;
Return=wait();
person *pPeo[number];
while(Return!='4')
{
if(Return=='1')
{
if(sumone==10)
cout<<"程序录入最大人数已满!"<<endl;
else
{
pPeo[sumone]->setperson();
sumone++;
}
Return=wait();
}
else if(Return=='2')
{
cout<<"请输入要查找的姓名"<<endl;
cin>>Check;
for(count=0;count<=sumone;count++)
pPeo[count]->checkname(Check);
Return=wait();
}
else if(Return=='3')
{
for(count=0;count<=sumone;count++)
pPeo[count]->printperson();
Return=wait();
}
else
{
cout<<"非法输入!请重新输入"<<endl;
Return=wait();
}
if(Return=='4')
{
cout<<"程序退出"<<endl;
}
}
}
person类的定义(.h内)
private:
char m_Name[100];
char m_Address[100];
char m_Phone[100];
public:
person();
setperson();
printperson();
checkname(char* name);
virtual ~person();
person::person()
{
}
.cpp内:
person::~person()
{
}
person::setperson()
{
cout<<"请依次输入姓名、地址、电话号码"<<endl;
cin>>m_Name>>m_Address>>m_Phone;
}
person::printperson()
{
cout<<"姓名"<<m_Name<<"地址"<<m_Address<<"电话号码"<<m_Phone<<endl;
}
person::checkname(char* name)
{
if(m_Name==name)
{
cout<<"姓名"<<m_Name<<"地址"<<m_Address<<"电话号码"<<m_Phone<<endl;
}
}