题目内容:
设计一个Person类,包含name、age、sex属性以及对这些属性操作的方法。实现并测试这个类。
根据类的封装性要求,把name、age、sex声明为私有的数据成员,声明公有的成员函数Register()、ShowMe()来访问这些属性,在Register()函数中对数据成员进行初始化。person1通过cin来得到信息,person2通过Register(“Zhang3”, 19, ‘m’) 来得到信息。
输入格式:
person1的信息
输出格式:
person1和person2的信息
输入样例:
Li4 18 f
输出样例:
Li4 18 f
Zhang3 19 m
#include<iostream>
using namespace std;
class person
{
private:
string name;
int age;
char sex;
public:
void Register(string n,int a,char s);
void ShowMe()
{
name=n;
age=a;
sex=s;
}
};
int main()
{
person person1;
person person2;
string CINname;
int CINage;
char CINsex;
person1.Register(CINname,CINage,CINsex);
person1.ShowMe();
person2.Register("Zhang3",19,'m');
person2.ShowMe();
return 0;
}
题目内容:
设计一个Dog类,包含name、age、sex和weight等属性以及对这些属性操作的方法。实现并测试这个类。
根据类的封装性要求,把name、age、sex和weight声明为私有的数据成员,编写公有成员函数setdata()对数据进行初始化,GetName()、GetAge()、GetSex()和GetWeight()获取相应属性。初始化数据由用户输入。
输入格式:
Dog类对象的初始化数据
输出格式:
根据Dog类对象的初始化数据输出一句话,请严格按照格式输出,句末有点号。
输入样例:
ahuang 3 m 2.4
输出样例:
It is my dog.
Its name is ahuang.
It is 3 years old.
It is male.
It is 2.4 kg.
#include<iostream>
using namespace std;
class Dog
{
private:
string name;
int age;
char sex;
double weight;
public:
void setdata(string n,int a,char s,double w);
void GetName();
void GetAge();
void GetSex();
void GetWeight();
};
void Dog::setdata(string n,int a,char s,double w)
{
name=n;
age=a;
sex=s;
weight=w;
if(s=='m')
sex='male';
else
sex='female';
}
void Dog::GetName()
{
cout<<"Its name is"<<name<<'.'<<endl;
}
void Dog::GetAge()
{
cout<<"It is"<<age<<"years old"<<'.'<<endl;
}
void Dog::GetSex()
{
cout<<"It is"<<sex<<'.'<<endl;
}
void Dog::GetWeight()
{
cout<<"It is"<<weight<<"kg"<<'.'<<endl;
}
int main()
{
Dog dog1;
string CinName;
int CinAge;
char CinSex;
double CinWeight;
cin>>CinName>>CinAge>>CinSex>>CinWeight;
dog1.setdata(CinName,CinAge,CinSex,CinWeight);
cout<<"It is my dog.";
dog1.GetName();
dog1.GetAge();
dog1.GetSex();
dog1.GetWeight();
return 0;
}
题目内容:
设计并测试一个名为Trapezium的梯形类,其属性为梯形的四个顶点的坐标。该梯形上边和下边均和x轴平行。
根据类的封装性要求,在类的声明中用8个私有的整型变量表示4个点的坐标值,声明成员函数initial(int,int,int,int,int,int,int,int)初始化数据成员,函数GetPosition(int&,int&,int&,int&,int&,int&,int&,int&)读取坐标值,函数Area()计算面积。
输入格式:
梯形四个顶点的坐标,
输出格式:
梯形的面积,依次为左上(x1,y1)、右上(x2,y2)、左下(x3,y3)和右下(x4,y4)角的顶点。
输入样例:
3 2 5 2 1 -4 7 -4
输出样例:
24
#include<iostream>
using namespace std;
class Trapezium
{
private:
int x1;
int y1;
int x2;
int y2;
int x3;
int y3;
int x4;
int y4;
public:
void initial(int Trapeziumx1,int Trapeziumy1,int Trapeziumx2,int Trapeziumy2,int Trapeziumx3,int Trapeziumy3,int Trapeziumx4,int Trapeziumy4);
int Area();
};
void Trapezium::initial(int Trapeziumx1,int Trapeziumy1,int Trapeziumx2,int Trapeziumy2,int Trapeziumx3,int Trapeziumy3,int Trapeziumx4,int Trapeziumy4)
{
x1=Trapeziumx1;
y1=Trapeziumy1;
x2=Trapeziumx2;
y2=Trapeziumy2;
x3=Trapeziumx3;
y3=Trapeziumy3;
x4=Trapeziumx4;
y4=Trapeziumy4;
}
int Trapezium::Area()
{
int s;
s=(x2-x1+x4-x3)*(y2-y4)/2;
cout<<s<<endl;
}
int main()
{
int x1;
int y1;
int x2;
int y2;
int x3;
int y3;
int x4;
int y4;
cin>>x1>>y1>>x2>>y2>>x3>>y3>>x4>>y4;
Trapezium t;
t.initial(x1, y1, x2, y2, x3, y3, x4, y4);
t.Area();
return 0;
}
题目内容:
设计一个MyTime类,成员函数SetTime()设置时间,print_12()以12(0-11)小时制显示时间(AM上午,PM下午),print_24()以24(0-23)小时制显示时间。
输入格式:
所需设置时间的时、分、秒
输出格式:
按照12小时制和24小时制依次显示时间,注意时间格式中的冒号是英文冒号,时分秒都是两位,AM,PM前有一个空格,晚上12:00是00:00:00 AM,中午十二点是00:00:00 PM。
输入样例:
13 23 34
输出样例:
01:23:34 PM
13:23:34
#include<iostream>
using namespace std;
class MyTime
{
private:
int hour;
int minute;
int second;
public:
void SetTime(int h,int m,int s);
void print_12();
void print_24();
};
void MyTime::SetTime(int h,int m,int s)
{
hour=h;
minute=m;
second=s;
}
void MyTime::print_12()
{
int Hour;
hour>=12?Hour=hour-12:Hour=hour;
if(Hour<10)
{
cout<<'0';
}
cout<<Hour<<':';
if(minute<10)
{
cout<<'0';
}
cout<<minute<<':';
cout<<minute<<':';
if(second<10){
cout<<'0';
}
cout<<second;
if(hour>12||((hour==12)&&((minute>0)||(second>0)))){
cout<<" "<<"PM"<<endl;
}else{
cout<<" "<<"AM"<<endl;
}
}
void MyTime::print_24()
{
if(hour<10){
cout<<'0';
}
cout<<hour<<':';
if(minute<10){
cout<<'0';
}
cout<<minute<<':';
if(second<10){
cout<<'0';
}
cout<<second<<endl;
}
int main()
{
int h,m,s;
cin>>h>>m>>s;
MyTime mt;
mt.SetTime(h, m, s);
mt.print_12();
mt.print_24();
return 0;
}
题目内容:
设计一个Weekday类,成员函数SetDay()设置星期几,IncDay()前进一天,NowDay()打印当前是星期几。
输入格式:
用户输入一个数字,0表示星期日,1表示星期一,类推,6表示星期六,用该数字初始化Weekday类
输出格式:
使用中文打印出从当日起连续3天是星期几(不够三天时,循环)
输入样例:
0
输出样例:
星期日
星期一
星期二
#include<iostream>
using namespace std;
class WeekDay
{
private:
int day;
string s[7];
public:
WeekDay()
{
s[0]="星期日";
s[1]="星期一";
s[2]="星期二";
s[3]="星期三";
s[4]="星期四";
s[5]="星期五";
s[6]="星期六";
}
void SetDay(int d)
{
day=d;
}
void IncDay()
{
day=day+1;
}
void NowDay()
{
cout<<s[day%7]<<endl;
}
};
int main()
{
int n;
cin>>n;
WeekDay w;
w.SetDay(n);
w.NowDay();
w.IncDay();
w.NowDay();
w.IncDay();
w.NowDay();//只在nowday输出
}