C语言:商品购物案例功能(购物管理系统部)编程实现:用户输入商品编号购买(商品表里面的水果),用户购买玩后(提示询问)用户是否继续购买,这里“9”表示继续购买 ,“0”表示不在购买。

(2023\5-25)2023年5月25日22:36:25
#include <stdlib.h>
#include <Windows.h>
#include <time.h>
#include <math.h>
#include <stdio.h>

/*
	编程实现:用户输入商品编号购买(商品表里面的水果),用户购买玩后(提示询问)用户是否继续购买,这里“9”表示继续购买 ,“0”表示不在购买(不限制用户购买次数)。
*/
int main(void)
{

	//商品价格表:
	for (int i = 1; i <= 120; i++)
	{
		printf("*");
	}
	printf("\n");


	printf("\t\t\t\t商品编号|\t\t商品名称|\t\t商品价格|\t\n");
	printf("\t\t\t\t1\t|\t\t香蕉\t|\t\t10.0\t|\n");
	printf("\t\t\t\t2\t|\t\t苹果\t|\t\t20.0\t|\n");
	printf("\t\t\t\t3\t|\t\t火龙果\t|\t\t30.0\t|\n");
	printf("\t\t\t\t4\t|\t\t哈密瓜\t|\t\t40.0\t|\n");
	printf("\t\t\t\t5\t|\t\t榴莲\t|\t\t50.0\t|\n");

	printf("\n");

	for (int i = 1; i <= 120; i++)
	{
		printf("*");
	}
	printf("\n");





	//功能实现		(在执行操作的时候,遇到小数 直接将和他操作的是定义为double)
	int x;
	printf("请输入您需要购买的商品编号:\n");
	scanf_s("%d,\n",&x);
	int number;//购买的数量
	float s = 0.0;
	switch (x)
	{
	case 1:
		printf("请输入您需要购买的数量:\n");
		scanf_s("%d,\n",&number);
		s = number * 10.0;
		break;
	case 2:
		printf("请输入您需要购买的数量:\n");
		scanf_s("%d,\n",&number);
		s = number * 20.0;
		break;
	case 3:
		printf("请输入您需要购买的数量:\n");
		scanf_s("%d,\n",&number);
		s = number * 30.0;
		break;
	case 4:
		printf("请输入您需要购买的数量:\n");
		scanf_s("%d,\n",&number);
		s = number * 40, 0;
		break;
	case 5:
		printf("请输入您需要购买的数量:\n");
		scanf_s("%d,\n",&number);
		s = number * 50.0;
		break;
	}
	//询问用户是否购买
	printf("\n");
	printf("您是否继续购买(是 请按“9”,否 请按“0”)\n");
	int m;
	int q = 0;//while入口
	scanf_s("%d,\n",&m);
	if (m == 9)
	{
		q = 1;
	}
	else if (m == 0)
	{
		q = 0;
	}
	//循环购买入口
	float Y = 0.0;		//统计循环中的购买累加金额
	int bianhao;		//商品编号
	int  shuliang;		//购买数量
	while (q)
	{
		printf("请输入您购买的商品编号:\n");
		scanf_s("%d,\n",&bianhao);
		switch (bianhao)
		{
		case 1:
			printf("请输入您需要购买的数量:\n");
			scanf_s("%d,\n",&shuliang);
			Y += shuliang * 10.0;
			break;		//跳出Switch
		case 2:
			printf("请输入您需要购买的数量:\n");
			scanf_s("%d,\n",&shuliang);
			Y += shuliang * 20.0;
			break;
		case 3:
			printf("请输入您需要购买的数量:\n");
			scanf_s("%d,\n",&shuliang);
			Y += shuliang * 30.0;
			break;
		case 4:
			printf("请输入您需要购买的数量:\n");
			scanf_s("%d,\n",&shuliang);
			Y += shuliang * 40.0;
			break;
		case 5:
			printf("请输入您需要购买的数量:\n");
			scanf_s("%d,\n",&shuliang);
			Y += shuliang * 50.0;
			break;

		}
		int F;
		printf("您是否继续购买商品(是 请按“9” 否 请按“0”)\n");
		scanf_s("%d,\n", &F);
		if (F == 9)
		{
			q = 1;
		}
		else if (F == 0)
		{
			q = 0;
		}
	}
	float sum = 0.0;
	sum = Y + s;
	printf("您好!本次您购买总共消费了:%-4.2lf元\t(谢谢光顾,欢迎下次光顾!",sum);

	return 0;
}


运行结果如下:

 这道题目最主要的两个地方:
1、数据类型的定义以及嵌套问题;

2、就是难点(如何循环询问)用户,且做到结果功能的实现!

分析好,理解后写起来就非常容易哦!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

脱发使我稳重

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值