C Primer Plus6 第216页 练习11:
ABC 邮购杂货店出售的洋蓟售价为 2.05 美元/磅,甜菜售价为 1.15 美元/磅,胡萝卜售价为 1.09美元/磅。在添加运费之前,100美元的订单有5%的打折优惠。少于或等于5磅的订单收取6.5美元的运费和包装费,5磅~20磅的订单收取14美元的运费和包装费,超过20磅的订单在14美元的基础上每续重1磅增加0.5美元。编写一个程序,在循环中用switch语句实现用户输入不同的字母时有不同的响应,即输入a的响应是让用户输入洋蓟的磅数,b是甜菜的磅数,c是胡萝卜的磅数,q 是退出订购。程序要记录累计的重量。即,如果用户输入 4 磅的甜菜,然后输入 5磅的甜菜,程序应报告9磅的甜菜。然后,该程序要计算货物总价、折扣(如果有的话)、运费和包装费。随后,程序应显示所有的购买信息:物品售价、订购的重量(单位:磅)、订购的蔬菜费用、订单的总费用、折扣(如果有的话)、运费和包装费,以及所有的费用总额。
简单地练习了一下 switch 语句:
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
#include<windows.h>
#include <math.h>
void Ex11()
{
//定义单价
const float artichoke = 2.05f; //洋蓟
const float beet = 1.15f; //甜菜
const float carrot = 1.09f; //萝卜
//品种小计总价
float price_artichoke = 0; //洋蓟
float price_beet = 0; //甜菜
float price_carrot = 0; //萝卜
//品种小计重量
float weight_artichoke = 0; //洋蓟
float weight_beet = 0; //甜菜
float weight_carrot = 0; //萝卜
//购买的重量
float amount;
//产生