用C++编写关于退休的程序

来源:百度知道 编辑:UC知道 时间:2024/05/18 10:21:36
以下4种情况都符合退休的要求
1. 工作经验大于/等于30年
2. 年龄大于/等于65岁
3. 大于60岁并有20年的工作经验
4. 大于55岁并有25年的工作经验

要求:
输入年龄和工作经验。然后判断是否符合以上4种退休的规定。
如果符合,就输出:可以退休。
否则,输出还要多少年才可以退休。
(例如:一个21岁的人,有1年工作经验,还需要29年才可以退休:《规定1》)

#include <iostream>
using namespace std;

#define AGE 18 //最早工作年龄,法定。

void main()
{
int age,expri;
bool flag[4];
int years[4];
cout<<"请输入年龄和工作经验年数(年龄-经验>=18,130>年龄>=18):"<<endl;

while (true)
{
cin>>age>>expri;

//如果输入符合条件,终止当前循环体。
if (cin.good() && (age>=18 && age<130) && expri>=0 && (age-expri)>=AGE)
break;

//否则清空输入流,重新输入。
cout<<"输入数据有误,请重新输入:"<<endl;
cin.clear();
cin.sync();
}
if (expri >= 30)
flag[0] = true;
else
years[0]=30-expri;

if (age >= 65)
flag[1] = true;
else
years[1] = 65-age;

if (age >= 60 && expri >= 20)
flag[2] = true;
else
years[2] = ((60-age)>(20-expri))?(60-age):(20-expri);

if (age >= 55 && expri >= 25)
f