/*
某个自动加油站有 ‘a’,‘b’,‘c’三种汽油品种,单价分别为 6.92,7.37,7.64(元/公升),也提供了“自己加”或“协助加”两个服务等级,这样用户可以得到5%或10%的优惠,请编程序针对用户输入加油量x,汽油品种y和服务类型z(‘f’—自动加,‘m’—自己加,‘e’—协助加),(注:‘f’—自动加无优惠),计算应付款pay。(请用多分支选择switch语句)。
*/
#include <stdio.h>
int main(int argc, const char * argv[]) {
//定义两个整型变量
int no1,no2;
//定义两个float类型变量
float pay,litre;
//提示用户输入加入油量
printf("请输入加入油量:\n");
//接收用户输入油量
scanf("%f",&litre);
//校验用户输入油量是否合法
if (litre<=0) {
printf("您输入的油量不合法!\n");
return 0;
}
printf("你输入的油量是:%.2f升\n",litre);
//三种汽油 'a' 'b' 'c' 定义一个变量来接收它们
// 6.92 7.37 7.64
//提示用户选择一种汽油:1.'a'种 2.'b'种 3.'c'种
printf("请选择一种汽油:1.'a'类 2.'b'类 3.'c'类\n");
//接收用户输入的整型变量
scanf("%d",&no1);
if (no1<1 || no1>3) {
printf("您选择的种类本店尚未开发!\n");
return 0;
}
float money=0;
switch (no1) {
case 1:
money = litre *6.92;
printf("您选择的类型是'a'类!\n");
break;
case 2:
money = litre *7.37;
printf("您选择的类型是'b'类!\n");
break;
case 3:
money = litre *7.64;
printf("您选择的类型是'c'类!\n");
break;
}
//服务 自动加 自己加 协助加 定义一个变量来接收它们
//优惠 无优惠 %5 %10
//提示用户输入一种服务类型: 1.自动加(无优惠)-2.自己加(%5优惠)-3.协助加(%10优惠)
printf("请输入一种服务:\n1.自动加(无优惠)\t2.自己加(%%5优惠)\t3.协助加(%%10优惠)\n");
scanf("%d",&no2);
//校验服务是否合法
if (no2<1 || no2 > 3) {
printf("您选择的服务还未开放!\n");
return 0;
}
switch (no2) {
case 1:
pay=money;
printf("您选择的服务是'自动加(无优惠)'\n");
printf("您应付款为:%.2f元\n优惠金额:%.2f元\n",pay,money*0);
break;
case 2:
pay=money-money*0.05;
printf("您选择的服务是'自己加(%%5优惠)'\n");
printf("您应付款为:%.2f元\n优惠金额:%.2f元\n",pay,money*0.05);
break;
case 3:
pay=money-money*0.1;
printf("您选择的服务是'协助加(%%10优惠)'\n");
printf("您应付款为:%.2f元\n优惠金额:%.2f元\n",pay,money*0.1);
break;
}
return 0;
}
|
|