简单收银系统的实现(数组操作)

该博客介绍了水果销售管理系统的功能,包括建立水果销售目录清单、基本价格,修改当天销售价格,收银结账,查询销售量排行榜,营业结束时输出销售总量、金额和总营业金额等,代码为小白水平,欢迎纠错改善。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.具有建立水果销售目录清单的功能

(水果编号.水果名称,如“1.苹果”);

2.具有建立各类水果销售基本价格的功能

(水果编号,销售价格,当天销销售价格,优惠折扣,销售量,销售金额(设计一个二维数组保存)) ;

3.具有修改各类水果的当天销售价格的功能,可进行当天销售价格的修改;
4.具有收银结账功能,提供一个菜单,显示各类水果及价格,收银员选择水果编号,输入重量,进行计价结账

(一个客户一次可能购买多种水果,要根据水果编号进行单价查找。);

5.具有查询销售量排行榜的功能;
6.当营业结束时,输出当天的各类水果的销售总量,销售金额和总的营业金额。
#include <stdio.h>

void t_menu()
{
	printf("---------------------------------------------\n");
	printf("***1.输入水果           2.建立基本销售价格***\n");
	printf("***3.修改当天水果价格   4.收银结账        ***\n");
	printf("***5.查询销售量榜单     6.结束营业        ***\n");
	printf("---------------------------------------------\n");
	return 0;
}
void m1(int i,int n,int j,char menu[], float sale[][30])
{
	printf("请输入水果编号,销售价格,当天销售价格,优惠折扣(例:9折=0.9)(数字间用回车键):\n");
	for (i = 0; i < n; i++)
		for (j = 0; j < 4; j++)
			scanf("%f", &sale[i][j]);
	void m2(n,i,j,menu,sale);
	void m3(n,sale,sum);
	system("Cls");
	t_menu();
	return 0;
}
void m2(int n,int i,int j,char menu[][30], float sale[][30])
{
	printf("请按照序号修改当天售价:\n");
	for (i = 0; i < n; i++)
		scanf("%f", &sale[i][2]);
	system("Cls");
	for (i = 0; i < n; i++)
	{
		for (j = 0; j < 9; j++)
			printf("%c", menu[i][j]);
		printf("\n");
	}
	printf("水果对应的编号,销售价格,当天销售价格,优惠折扣(例:9折=0.9)如下:\n");
	for (i = 0; i < n; i++)
	{
		for (j = 0; j < 4; j++)
			printf("%.2f ", sale[i][j]);
		printf("\n");
	}
	void m3(n, sale, sum);
	t_menu();
	return 0;
}
void m3(int n, float sale[][30],float sum[])
{
	int a = 0, b = 0;
	float c = 0;
	printf("--------------------------\n");
	printf("***1.输入水果编号后回车输入重量   ***\n");
	printf("***2.计价记账          3.退出     ***\n");
	printf("--------------------------\n");
	do
	{
	here:
		if(a==3)
			break;
		printf("请选择功能:");
		scanf("%d", &a);
		switch (a)
		{
		case 1:
			printf("水果编号:");
			scanf("%d", &b);
			if (b > n)
			{
				printf("输入错误,请重新输入!\n");
				break;
			}
			printf("水果重量:");
			scanf("%f", &c);
			break;
		case 2:
			if (c == 0 || b == 0)
			{
				printf("请输入正确的编号和重量!\n");
				break;
			}
			sale[b - 1][4] = c;
			sale[b - 1][5] += sale[b - 1][2] * sale[b - 1][4] * sale[b - 1][3];
			printf("这种水果总需支付:%.2f\n", sale[b - 1][5]);
			sum[b - 1] += sale[b - 1][4];
			break;
		case 3:
			goto here;
			break;
		default:
			printf("输入错误!\n");
			break;
		}
	} while (a != 3);
	system("Cls");
	t_menu();
	return 0;
}
int main()
{
	int n = 0, i = 0, t = 0, j = 0;
	float k = 0;
	char menu[30][30] = { 0 };
	float sale[30][30] = { 0 };
	float sum[30] = { 0 };
	t_menu();
	do
	{
		printf("请输入功能的序号:");
		scanf("%d", &t);
		switch (t)
		{
		case 1:
			printf("请输入有多少种水果:\n");
			scanf("%d", &n);
			printf("输入序号和水果名(例:1.苹果)\n");
			for (i = 0; i < n; i++)
				scanf("%s", &menu[i]);
			system("Cls");
			t_menu();
			break;
		case 2:
			m1(i, n, j, menu, sale);
			break;
		case 3:
			m2(n, i, j, menu, sale);
			break;
		case 4:
			m3(n, sale,sum);
			break;
		case 5:
			for (i = 0; i < n - 1; i++)
						if (sale[i][4] < sale[i + 1][4])
						{
							int tmp1 = sale[i][4];
							sale[i][4] = sale[i + 1][4];
							sale[i + 1][4] = tmp1;
							int tmp2 = *menu[i];
							*menu[i] = *menu[i + 1];
							*menu[i + 1] = tmp2;
						}
			printf("水果编号 名称 销售量\n");
					for (i = 0; i < n; i++)
						printf("%s %.2f\n", menu[i],sum[i]);
			break;
		case 6:
			system("Cls");
			t_menu();
			printf("水果编号,销售价格,当天销售价格,优惠折扣,销售量,销售金额\n");
			for (i = 0; i < n; i++)
			{
				for (j = 0; j < 6; j++)
				{
				    sale[i][4] = sum[i];
					printf("%.2f ", sale[i][j]);
				}
				k += sale[i][5];
				printf("\n");
			}
			printf("总营业额:%.2f\n", k);

			exit(0);
			break;
		default:
			printf("输入错误,请重新输入!\n");
		}
	} while (t != 6);
	
	return 0;
}

小白代码,如有纠错或改善,欢迎评论!

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值