C语言编程 运费问题,ABC邮寄杂货店问题,小白求教

已结贴√

问题点数:20 回复次数:5

ca56232b3bbedf9a539d07f37fffb99a.gif

3144d8b7615c79d9f638db40d5689d26.gif

a218af6549b45ee526caf607ebff1358.gif

0f8df0e29816ae721419de940fb833d1.gif

ABC邮寄杂货店问题,小白求教

/*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磅的甜菜。然后程序

应显示所有的购买信息:物品售价、订购的重量(单位磅),订购蔬菜的费用、订单的总费用、折扣(如果有的话)、运费和包装费,以及所有的费用

总额。

#include

#define DJYJ 2.05     //洋蓟单价

#define DJTC 1.15     //甜菜单价

#define DJHLB 1.09    //胡萝卜单价

#define YHJG 100      //优惠价格

#define YHBZ 5        //优惠标准

int main(void)

{

char ch;

double zlyj_sum = 0.0;    //洋蓟价格

double zltc_sum = 0.0;    //甜菜价格

double zlhlb_sum = 0.0;   //胡萝卜价格

double jgyj_sum = 0.0;    //洋蓟价格合计

double jgtc_sum = 0.0;    //甜菜价格合计

double jghlb_sum = 0.0;   //胡萝卜价格合计

double zl_sum = 0.0;      //重量合计

double jg_sum = 0.0;      //价格合计

double jg_sum_dz = 0.0;   //价格合计打折

double jg = 0.0;          //最终价格

double dbfy = 0.0;        //打包费用

int yhcs = 0;          //优惠次数

/**/

printf("请输入蔬菜代码:n");

printf("a:洋蓟 b:甜菜 c:胡萝卜");

while (((ch = getchar()) != "q"))

{

double zlyj_dc = 0.0;

double zltc_dc = 0.0;

double zlhlb_dc = 0.0;

double jgyj_dc = 0.0;

double jgtc_dc = 0.0;

double jghlb_dc = 0.0;

/*循环开始前所有单次重量和价格为0*/

switch (ch)

{

case 'a':

printf("请输洋蓟重量。n");

scanf_s("%lf",&zlyj_dc);

zlyj_sum = zlyj_sum + zlyj_dc;

jgyj_dc = zlyj_dc * DJYJ;

printf("洋蓟%f磅,价格%f元。n", zlyj_dc, jgyj_dc);

jgyj_sum = jgyj_sum + jgyj_dc;

break;

case'b':

printf("请输入甜菜重量。n");

scanf_s("%lf",&zltc_dc);

zltc_sum = zltc_sum + zltc_dc;

jgtc_dc = zltc_dc * DJTC;

printf("甜菜%f磅,价格%f元。n", zltc_dc, jgtc_dc);

jgtc_sum = jgtc_sum + jgtc_dc;

break;

case'c':

printf("请输入胡萝卜重量。n");

scanf_s("%lf",&zlhlb_dc);

zlhlb_sum = zlhlb_sum + zlhlb_dc;

jghlb_dc = zlhlb_dc * DJHLB;

printf("胡萝卜%f磅,价格%f元。n", zlhlb_dc, jghlb_dc);

jghlb_sum = jghlb_sum + jghlb_dc;

break;

default:

printf("输入错误,重新输入!");

break;

}

}

jg_sum = jgyj_sum + jgtc_sum + jghlb_sum;

zl_sum = zlyj_sum + zltc_sum + zlhlb_sum;

if (jg_sum >= YHJG)

{

yhcs = jg_sum / YHJG;                       //优惠次数=价格总数/优惠标准

jg_sum_dz = jg_sum - yhcs * YHBZ;           //最终价格=总价格-优惠次数*优惠标准

}

else

jg_sum_dz = jg_sum;

const float ZLBZA = 5;

const float ZLBZB = 20;

const float DBJGA = 6.5;

const float DBJGB = 14;

const float DBJGC = 0.5;

if (zl_sum <= ZLBZA)

{

jg = jg_sum_dz + DBJGA;

}

else if (zl_sum <= ZLBZB)

{

jg = jg_sum_dz + DBJGB;

}

else if (zl_sum > ZLBZB)

{

jg = jg_sum_dz + DBJGB + (zl_sum - ZLBZB) / 1 * DBJGC;

}

printf("总费用%f元。n", jg);

printf("总重量%f磅。n", zl_sum);

printf("原总价格%f元。n", jg_sum_dz);

printf("洋蓟总重%f磅,价格合计%f元。n", zlyj_sum, jgyj_sum);

printf("甜菜总重%f磅,价格合计%f元。n", zltc_sum, jgtc_sum);

printf("洋胡萝卜总重%f磅,价格合计%f元。n", zlhlb_sum, jghlb_sum);

return 0;

}

严重性    代码    说明    项目    文件    行    禁止显示状态

错误    LNK2019    无法解析的外部符号 _WinMain@16,函数 "int __cdecl invoke_main(void)" (?invoke_main@@YAHXZ) 中引用了该符号    Project1    D:VSProject1MSVCRTD.lib(exe_winmain.obj)    1

严重性    代码    说明    项目    文件    行    禁止显示状态

错误    LNK1120    1 个无法解析的外部命令    Project1    D:VSProject1DebugProject1.exe    1

严重性    代码    说明    项目    文件    行    禁止显示状态

警告    C4244    “=”: 从“double”转换到“int”,可能丢失数据    Project1    D:VSProject1超市小票.c    74

严重性    代码    说明    项目    文件    行    禁止显示状态

警告    C4047    “!=”:“int”与“char [2]”的间接级别不同    Project1    D:VSProject1超市小票.c    27

严重性    代码    说明    项目    文件    行    禁止显示状态

警告    C26451    算术溢出: 使用 4 字节值上的运算符 * ,然后将结果转换到 8 字节值。在调用运算符 * 之前将值强制转换为宽类型可避免溢出(io.2)。    Project1    D:VSProject1超市小票.c    75

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值