所以我需要程序来执行满足条件的if语句之一。我使用的输入是70,15和30,000.It应该进入第二个if语句。这是代码。
#include <iostream>
#include <fstream>
using namespace std;
int information1(int hourR);
int information2(int conTime);
int information3(int income1);
int hourR,conTime,income1;
ofstream outfile;
int information1(int hourR)
{
cout<<"Enter hourly rate.";
cin>>hourR;
return hourR;
}
int information2(int conTime)
{
cout<<"Enter total consulting time in minutes.";
cin>>conTime;
return conTime;
}
int information3(int income1)
{
cout<<"Enter income.";
cin>>income1;
return income1;
}
int main()
{
int hours,consultTime,income,fortyPercent,seventyPercent;
outfile.open("Billing amount.txt");
hours=information1(hourR);
consultTime=information2(conTime);
income=information3(income1);
if(income<=25000) {
if(consultTime<=30) {
outfile<<"No service charge.";
}
else {
fortyPercent=hours*.4*45/60;
outfile<<fortyPercent;
}
}
else
{
if(consultTime<=20){
outfile<<"No service charge.";
}
else
{
seventyPercent=hours*.7*45/60;
outfile<<seventyPercent;
}
}
outfile.close();
return 0;
}
也可以告诉我,我是否正在进行正确的计算?因为这让我很困惑,这就是问题所在。
在税收季节,每个星期五,J&amp; J会计师事务所都会提供帮助 给那些准备自己纳税申报表的人。他们的指控如下:
一个。如果一个人收入低(<= 25,000)并且咨询时间较短 超过或等于30分钟,没有收费;否则,服务 收费是30分钟内正常小时费率的40%。
湾对于其他人,如果咨询时间小于或等于20分钟,那么 没有服务费;否则,服务费是常规的70% 每小时超过20分钟的时间。
(例如,假设一个人收入低,花了1小时15分钟, 而每小时的费用是70.00美元。然后结算金额为70.00 * 0.40 *(45/60)= $ 21,00。)
答案 0 :(得分:2)
您目前拥有的结构如下:
if(someCondition) {
//doStuff
} else {
//do something else
}
if(someOtherCondition) {
//do stuff
} else {
//do something else
}
代码将执行FIRST if
对的else
或if else
以及SECOND对的if
或else
我能想到的最简单的解决方案如下:
if(income<=25000) {
if(consultTime<=30) {
//do stuff
} else { //this else is paired with if(consultTime<30) and within the if(income<=30)
//do stuff when income<=25000 and consultTime>30
}
} else /*income>250000*/ { //this else is paired with if(income<=25000)
if(consultTime<=20) {
//do stuff
} else { //this else is paired with if(consultTime<=20) and within the else paired with if(income<=30)
//do stuff when income>25000 and consultTime>20
}
}