qizhang

定义一个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的格式,遇到浮点型数值,则输出2017530日的格式。
输入:2017 5 30 1.1
输出:2017530#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;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值