公司折扣问题
某公司折扣政策:年交易额在10万元以下的,无折扣;在10万元以上的并且近三个 月无欠款的,折扣率10%;在10万元以上,虽然近三个月有欠款,但是与公司交易在 10年以上的,折扣率8%;在10万元以上,近三个月有欠款,且交易在10年以下的 折扣5%;
主要代码
程序设计采用结构化和面向对象的程序设计思想
代码如下:
#include <iostream>
using namespace std;
class DisCount
{
public:
DisCount(float a, bool l, int c)
{
annualTurnover = a;
loan = l;
cooperationTime = c;
}
float getRatio()
{
if (annualTurnover < 10.0f)//年交易额在10万元以下的,无折扣
{
ratio = 0.0f;
}
else if(!loan)//在10万元以上的并且近三个 月无欠款的,折扣率10%
{
ratio = 0.1f;
}
else if (cooperationTime >= 10)//在10万元以上,虽然近三个月有欠款,但是与公司交易在 10年以上的,折扣率8%
{
ratio = 0.08f;
}
else //在10万元以上,近三个月有欠款,且交易在10年以下的 折扣5%
{
ratio = 0.05f;
}
return ratio;
}
private:
float annualTurnover;//年交易额
bool loan;//近三个月是否有欠款
int cooperationTime;//交易年头
float ratio; //折扣率
};
int main()
{
float a;
bool l;
int c;
float totalMoney;
cout << "请输入年交易额" << endl;
cin >> a;
cout << "是否有欠款(有输入1,没有输入0)" << endl;
cin >> l;
cout << "请输入交易年头" << endl;
cin >> c;
cout << "请输入当次发生的交易额" << endl;
cin >> totalMoney;
DisCount test(a, l, c);
//计算最终应付费用
totalMoney = totalMoney - totalMoney * test.getRatio();
cout << "最终应付费为" << totalMoney << endl;
}
时间关系,没有完全测试,不保证计算结果完全正确,但整体思路是可行的。
测试结果如下:
用心回答每个问题,如果有帮助,请采纳答案好吗,谢谢~~~
这就是一个if else if的问题,你列出所得可能,相应的计算公式,应该有三个变量,每年交易,与公司交易及三个月内是否欠款2个变量,这2个你可以用布尔值真假表示。。。
import java.io.*;
class test
{
int money;
int year;
boolean noqiankuan = true;
public void calculate(){
if(money>=100000){
noqiankuan=true;
System.out.printf("折扣率10%");
}
if(money System.out.printf("折扣率0%");
}
if(money>+100000&&year>8){
noqiankuan=false;
System.out.printf("折扣率8%");
}
if(money>100000&&year<8){
noqiankuan=false;
System.out.printf("折扣率5%");
}
}
public static void main (String[] args) throws java.lang.Exception
{
}
}
那个大神看看哪错了
为了这50分也是拼了
class Company{
public:
int GetDiscount(int TradeVol/*交易额*/,bool bDebt/*是否贷款*/,int TradeYear/*交易年限*/)//获取折扣
{
if(TradeVol<=10)
return 0;
else if(TradeVol>10&&!bDebt)
return 10;
else if(TradeVol>10&&bDebt&&TradeYear>10)
return 8;
else if(TradeVol>10&&!bDebt&&TradeYear<=10)
return 5;
}
};
void main(int argc,char *argv[])
{
Company cmpny;
int Get=cmpny.GetDiscount(20,false,27);
printf("%d",Get);
}