第1个回答 2008-10-14
在VC6.0上调是通过,程序没有加入如果输错了该怎么处理,我想这个东西应该由你自己完成了,帮到这里了!!!呵呵,不过你可以参考楼上的哦!!
#include <stdio.h>
#include <string.h>
#include <iostream.h>
#define PRICEA 5000
#define PRICEB 6000
#define PRICEC 7000
#define PRICEd 8000
float CaculateA(int num)
{
float total;
total = num * PRICEA;
return total;
};
float CaculateB(int num)
{
float total;
total = num * PRICEA;
return total;
};
float CaculateC(int num)
{
float total;
total = num * PRICEA;
return total;
};
float CaculateD(int num)
{
float total;
total = num * PRICEA;
return total;
};
float CaculateTotal(int a, int b, int c, int d) //计算不打折的总钱数
{
return CaculateA(a) + CaculateB(b) + CaculateC(c) + CaculateD(d);
};
float Discount(int a, int b, int c, int d) //计算折扣
{
int totalNum = 0;
float discount;
totalNum = a + b + c + d;
if (totalNum >= 10 && totalNum < 30)
{
discount = CaculateTotal(a, b, c, d) * 0.1;
}
else if (totalNum >= 30 && totalNum < 50)
{
discount = CaculateTotal(a, b, c, d) * 0.15;
}
else if (totalNum >= 50)
{
discount = CaculateTotal(a, b, c, d) * 0.2;
}
return discount;
};
float Pay(int a, int b, int c, int d) //计算最后应该付的钱
{
return CaculateTotal(a, b, c, d) - Discount(a, b, c, d);
};
void main()
{
int numA = 0;
int numB = 0;
int numC = 0;
int numD = 0;
int temp = 0;
int type;
int contiune;
do
{
printf("请输入想要购买的文具种类和数量\n");
printf("购买的文具种类 : ");
cin >> type;
printf("购买的数量 : ");
scanf("%d", &temp);
switch (type)
{
case 'a':
case 'A':
numA += temp;
break;
case 'b':
case 'B':
numB += temp;
break;
case 'c':
case 'C':
numC += temp;
break;
case 'd':
case 'D':
numD += temp;
break;
default:
break;
}
printf("想要选择购买其他种类的文具吗 : ");
cin >> contiune;
}while(contiune == 'y' || contiune == 'Y');
printf("\nA type 文具购买数量 : ");
printf("%d\n", numA);
printf("B type 文具购买数量 : ");
printf("%d\n", numB);
printf("C type 文具购买数量 : ");
printf("%d\n", numC);
printf("D type 文具购买数量 : ");
printf("%d\n\n", numD);
printf("购买文具总数 : ");
printf("%d\n\n", numA + numB + numC + numD);
printf("打折前所需金额 : ");
printf("%.2f\n\n", CaculateTotal(numA, numB, numC, numD));
printf("打折金额 : ");
printf("%.2f\n\n", Discount(numA, numB, numC, numD));
printf("结算金额 : ");
printf("%.2f\n\n", Pay(numA, numB, numC, numD));
}