用C++编写关于退休的程序
来源:百度知道 编辑:UC知道 时间:2024/05/18 10:21:36
以下4种情况都符合退休的要求
1. 工作经验大于/等于30年
2. 年龄大于/等于65岁
3. 大于60岁并有20年的工作经验
4. 大于55岁并有25年的工作经验
要求:
输入年龄和工作经验。然后判断是否符合以上4种退休的规定。
如果符合,就输出:可以退休。
否则,输出还要多少年才可以退休。
(例如:一个21岁的人,有1年工作经验,还需要29年才可以退休:《规定1》)
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