设计一个学校在册人员类(Person)。数据成员包括:身份证号(IdPerson),姓 名

如题所述

以下程序经VS2010编译通过

华中科技大学 C++ 实验十 类与对象的基本概念 第三题 

#include<iostream>

#include<cstring>

#include<iomanip>

using namespace std;

class Person{

private:

    char IdPerson[19];

char Name[20];

char Sex[10];

int Birthday;

char HomeAddress[50];

public:

Person();

void CinIdPerson();

void CinName();

void CinSex();

void CinBirthday();

void CinHomeAddress();

void Show();

Person(Person&cop)//拷贝构造函数

{

strcpy(IdPerson,cop.IdPerson);

strcpy(Name,cop.Name);

strcpy(Sex,cop.Sex);

Birthday=cop.Birthday;

strcpy(HomeAddress,cop.HomeAddress);

}

};

Person::Person()//构造函数

{

IdPerson[0]='\0';Name[0]='\0';Sex[0]='\0';Birthday=0;HomeAddress[0]='\0';

}

void Person::CinIdPerson()

{

cout<<"请输入身份证号"<<endl;

cin>>IdPerson;

}

void Person::CinName()

{

cout<<"请输入姓名"<<endl;

cin>>Name;

}

void Person::CinSex()

{

cout<<"请输入性别"<<endl;

cin>>Sex;

}

void Person::CinBirthday()

{

cout<<"请输入生日"<<endl;

cin>>Birthday;

}

void Person::CinHomeAddress()

{

cout<<"请输入家庭地址"<<endl;

cin>>HomeAddress;

}

void Person::Show()//显示数据

{

cout<<"======================================="<<endl;

cout<<"身份证号:"<<IdPerson<<endl<<"姓名:"<<Name<<endl<<"性别:"<<Sex<<endl<<"生日:"<<Birthday<<endl<<"家庭住址:"<<HomeAddress<<endl;

    cout<<"======================================="<<endl;

}

void main()

{

int i=0,j,k;

    Person Id[100];

cout<<"本程序最多支持记录100人"<<endl;

do{

cout<<"请输入学生编号"<<endl;

cin>>i;

Id[i].Show();

cout<<"修改请按 1,不改请按 0"<<endl;

cin>>j;

for(;j;)

{

        Id[i].CinIdPerson();

        Id[i].CinName();

        Id[i].CinSex();

        Id[i].CinBirthday();

        Id[i].CinHomeAddress();

        Id[i].Show();

j=0;

         }

 cout<<"继续编辑请按 1,返回选择请按 0"<<endl;

 cin>>k;

}while(k=1);

}

温馨提示:内容为网友见解,仅供参考
第1个回答  2011-05-06
HUST的学子 上辈子都是折翅的天使!!!!!!!!
第2个回答  2012-05-21
#include <iostream>
#include <string>
using namespace std;

class Person
{
public:
Person(){} //缺省构造函数
Person(string i,string n,string s,string b,string h):
idperson(i),name(n),sex(s),birthday(b),homeaddress(h){} //含参数的构造函数
Person(Person & p) //复制构造函数
{
idperson=p.idperson;
name=p.name;
sex=p.sex;
birthday=p.birthday;
homeaddress=p.homeaddress;
}
void set_info(); //信息录入
void dis_info(); //信息显示
private:
string idperson;
string name;
string sex;
string birthday;
string homeaddress;
};

void Person::set_info()
{
cout<<"依次输入身份证号,姓名,性别,生日和家庭住址:"<<endl;
cin>>idperson>>name>>sex>>birthday>>homeaddress;
}

void Person::dis_info()
{
cout<<idperson<<" "<<name<<" "<<sex<<" "<<birthday<<" "<<homeaddress<<endl;
}
我也华科的
第3个回答  推荐于2017-09-10
  class person{
  private:
  char id;
  char name;
  char sex;
  char birthday;
  char address;
  public:
  void setperson(char[ ],char[ ],char[ ],char[ ],char[ ]);
  void getid(char[ ]);
  void getname(char[ ]);
  void getsex(char[ ]);
  void getbirthday(char[ ]);
  void getaddress(char[ ]);
  };
  void person:: void setperson(char Id[ ],char Name[ ],char Sex[ ],char Birthday[ ],char Address[ ]){
  strcpy(id,Id);
  strcpy(name,Name);
  strcpy(sex,Sex);
  strcpy(birthday,Birthday);
  strcpy(address,Address);
  }
  void getid(char Id[ ]){
  strcpy(Id,id);
  }
  void getname(char Name[ ]){
  strcpy(Name,name);
  }
  void getsex(char Sex[ ]){
  strcpy(Sex,sex);
  }
  void getbirthday(char Birthday[ ]){
  strcpy(Birthday,birthday);
  }
  void getaddress(char Address[ ]){
  strcpy(Address,address);
  }本回答被网友采纳
第4个回答  2011-05-13
同求!下边那个程序错误太多了哇!

...在册人员类(Person)。数据成员包括:身份证号(IdPerson),姓名...
Id[i].CinIdPerson();Id[i].CinName();

undeclared identifier 求解答
undeclared identifier 的意思是标示符没有定义。你仔细检查下提示所在的行,看看引用的标示符是否在前面定义,是否写错。

相似回答