?? person.h
字號:
#ifndef PERSON_CLASS
#define PERSON_CLASS
#include<iostream>
#include<iomanip>
#include<conio.h>
using namespace std;
extern int isInt(char s[]);
class Person
{
public:
char name[20];
char addr[100];
char marriage;
char alive;
char sex;
char deathdate[10];
int parentID;
int generation;
int year;
int month;
int day;
Person();
void setbirthdate();
void setdeathdate();
void outputPerson();
};
void Person::outputPerson()
{
//setiosflags(ios::left)輸出數據左對齊;setw(n)設置域寬
cout<<setiosflags(ios::right)<<setw(4)<<year<<"."<<setw(2)<<month<<".";
cout<<resetiosflags(ios::right);//終止設置的輸入格式
cout<<setiosflags(ios::left)<<setw(7)<<day<<setw(10)<<name<<setw(10)<<generation
<<setw(10)<<sex<<setw(10)<<alive<<setw(7)<<marriage<<setw(10)<<deathdate<<addr<<endl;
}
Person::Person()
{
memset(name,' ',20);
memset(addr,' ',100);
marriage='Y';
alive='N';
sex='M';
year=month=day=-1;
strcpy(deathdate,"不詳");
parentID=-2;//默認為-2
generation=-1;
}
void Person::setbirthdate()
{
cout<<"是否輸入出生日期(y/n):";
char t;
bool flag=true;
while(flag)
{
t=getch();
cout<<t<<endl;
if(t=='y')
{
flag=false;
char s[50];
cout<<"請輸入出生年份:";
bool t=true;
while(t)
{
cin>>s;
if(isInt(s)!=-1)
{
year=isInt(s);
t=false;
}
else
cout<<"輸入錯誤!!!\n請請重新輸入:";
}
cout<<"請輸入出生月份:";
t=true;
while(t)
{
cin>>s;
if(isInt(s)!=-1)
{
month=isInt(s);
t=false;
}
else
cout<<"輸入錯誤!!!\n請請重新輸入:";
}
cout<<"請輸入出生日子:";
t=true;
while(t)
{
cin>>s;
if(isInt(s)!=-1)
{
day=isInt(s);
t=false;
}
else
cout<<"輸入錯誤!!!\n請請重新輸入:";
}
}
else if(t=='n')
flag=false;
else
{
cout<<"輸入錯誤!!!"<<endl;
cout<<"請重新輸入:";
}
}
}
void Person::setdeathdate()
{
bool flag=true;
if(alive!='Y')
{
while(flag)
{
cout<<"是否輸入死亡日期(y/n)";
char t;
t=getch();
if(t=='y')
{
cin>>deathdate;
flag=false;
}
else if(t!='n')
cout<<"輸入錯誤!!!\n請請重新輸入:";
}
}
}
#endif
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -