定义一个Cirle类,包括数据成员Radius(半径)和计算周长、面积的成员函数,并构造Cirle的对象进行测试。键盘输入半径,输出周长和面积值,中间用1个空格分隔,数据类型均为double,圆周率Pi=3.14。
输入:5
输出:周长31.4 面积78.5
#include <iostream>
using namespace std;
class Cirle {
private:
double Pi;
double Radius;
public:
Cirle(double R);
double cacC();
double cacS();
void print();
};
Cirle::Cirle(double R)
{
Radius = R;
Pi=3.14;
}
double Cirle::cacC()
{
return (2 * Pi*Radius);
}
double Cirle::cacS()
{
return (Pi*Radius*Radius);
}void Cirle::print()
{
cout << "周长" << cacC() << " " << "面积" << cacS() << endl;
}
int main()
{
double R;
cin >> R;
Cirle y(R);
y.print();
return 0;
}
定义一个矩形类,长和宽是它的属性,可以求出矩形的面积。定义一个比较函数,比较两个矩形的面积,把面积大的矩形对象作为引用来返回。主函数中定义两个矩形,它们的长、宽已知,分别为矩形1:长5.2、宽4.3,矩形2:长100、宽20。再由键盘输入一个矩形的长、宽。调用比较函数进行比较,找出面积大的矩形,输出其面积。
输入:10 8
输出:2000
#include <iostream>
using namespace std;
class Rec {
private:
double L;
double W;
public:
Rec(double L,double W);
double cacS();
};
Rec::Rec(double Long,double Width)
{
L = Long;
W = Width;
}
double Rec::cacS()
{
return (L*W);
}
Rec compare(Rec A,Rec B)
{
if ((A.cacS()) >= (B.cacS()))
return A;
else return B;
}
int main()
{
double RL1, RW1, RL2, RW2;
RL1 = 5.2;
RW1 = 4.3;
RL2 = 100;
RW2 = 20;
Rec R1(RL1, RW1), R2(RL2, RW2);
double RL, RW;
cin >> RL >> RW;
Rec R(RL, RW);
cout << compare(compare(R1, R2), R).cacS() << endl;
return 0;
}
1525
定义一个Triangle三角形类,包括数据成员三边边长(int类型)、判断三角形形状的成员函数。键盘输入三角形三边边长,判断此三角形形状(其中,等腰直角三角形归为等腰三角形类)。
构成等边三角形,输出“A equileteral triangle”;
构成等腰三角形,输出“A isosceles triangle”;
构成直角三角形,输出“A right triangle”;
构成三角形,但不是以上三种,则输出“A triangle”;
不构成,输出“Not a triangle”。
输入:3 4 5
输出:A right triangle
#include <iostream>
using namespace std;
class Tri
{
private:
int a;
int b;
int c;
public:
Tri(int l, int w, int h);
void judge();
};
Tri::Tri(int l, int w, int h)
{
a = l; b = w; c = h;
}
void Tri::judge()
{
if ((a+b>c)&&(a+c>b)&&(b+c>a))
{
if (a == b && b == c) cout << "A equileteral triangle" << endl;
else if (a == b | b == c |a==c) cout << "A isosceles triangle" << endl;
else if ((a * a + b * b == c * c )|( a * a + c * c == b * b) | (c * c + b * b == a * a)) cout << "A right triangle" << endl;
else cout << "A triangle" << endl;
}
else cout << "Not a triangle" << endl;
}
int main()
{
int a[3];
cin >> a[0] >> a[1] >> a[2];
for(int i=0;i<3;i++){
if(a[i]<=0)
{cout<<"Input Error!"<<endl;
return 0;}
}
Tri san(a[0],a[1],a[2]);
san.judge();
return 0;
}
定义一个时间类,数据成员包括年、月、日,它的函数成员分别可以设置时间、显示时间,其中显示时间的函数,使用重载函数定义,遇到整型数值,则返回2017-5-30的格式,遇到浮点型数值,则输出2017年5月30日的格式。
输入:2017 5 30 1.1
输出:2017年5月30日
#include <iostream>
using namespace std;
class Time
{
private:
int year;
int month;
int day;
public:
void settime(int a,int b,int c){year =a;month=b;day=c;};
void showtime(bool judge);
};
void Time :: showtime(bool isint)
{
if (isint)
cout << year << "-" << month << "-" << day;
else
cout << year << "年" << month << "月" << day << "日";
}
int main()
{
int a,b,c,i;
char str[15];
bool isint;
Time t1;
cin >> a >> b >> c>> str;
t1.settime(a,b,c);
for (i=0;str[i];i++)
{
if(str[i]=='.')
break;
}
if(str[i])
isint=false;
else
isint=true;
t1.showtime(isint);
}
设计雇员Employee类,包含雇员的情况,工号、姓名、工资等级(每月工资数,整型数值)、受雇时间(年、月、日)。编写程序测试Employee类。要求输入任意员工工号,及当前日期(年、月,此日期应晚于受雇时间),输出该员工姓名接应得到的工资总额,中间用空格隔开。
已知当前所有员工信息如下:
1,"wang",5000,2000,10,23
2,"liu",4500,2008,1,20
3,"huo",3800,2003,7,3
4,"ma",5300,2015,4,10
5,"meng",6000,2016,3,16
输入:5 2016 5
输出:meng 12000
#include <iostream>
#include <math.h>
using namespace std;
class Employee
{
public:
int id;
char name[30];
int income;
int year, month, day;
};
void search(Employee e[5], int a, int y, int m)
{
int i=-1;
for (i; i < 5; ++i)
{
if (e[i].id == a) break;
}
if (y < e[i].year) cout << "Input Error!" << endl;
else if ((y == e[i].year) && (m < e[i].month)) cout << "Input Error!" << endl;
int temp = ((y - e[i].year) * 12 + (m - e[i].month));
cout << e[i].name << " " << temp*e[i].income << endl;
}
int main()
{
Employee ee[5] = { { 1,"wang",5000,2000,10,23 } ,
{ 2,"liu",4500,2008,1,20 },
{ 3,"huo",3800,2003,7,3},
{ 4,"ma",5300,2015,4,10 },
{ 5,"meng",6000,2016,3,16 } };
int a, y, m;
cin >> a >> y >> m;
search(ee, a, y, m);
return 0;
}