#include <stdio.h>
#define N 6
int main()
{
int i; //循环变量
int inputId; //顾客要购买的商品编号
int inputAm; //顾客要购买该商品的数量
float count; //顾客需支付的金额
char judge = 'y'; //判断字符
int quilty = 5;
//使用字符数组定义一个货物仓库
char goods[N][50] = {"可口可乐","北京鸡脖","百事薯片","卫龙辣条","老北京方便面"};
//商品价格
float prices[N] = {3.0, 1.5, 2.0, 2.0, 1.2,-1};
//商品编号
int ids[N] = {01, 02, 03, 04, 05, -1};
//库存数量
int amounts[N] = {10, 10, 15, 19, 14, -1};
//向用户展示商品信息
printf("商品信息:\n");
printf("***********************************************************************************************\n");
printf("商品编号:");
for(i = 0;i < quilty;i++)
{
printf("\t%5d\t",ids[i]); //商品编号信息
}
printf("\n");
printf("***********************************************************************************************\n");
printf("商品名称:\t");
for(i = 0;i < quilty;i++)
{
printf("%s\t",goods[i]); //商品名称信息
}
printf("\n");
printf("***********************************************************************************************\n");
printf("商品价格:\t");
for(i = 0;i < quilty;i++)
{
printf(" %.1f元\t\t",prices[i]); //商品价格信息
}
printf("\n");
printf("***********************************************************************************************\n");
printf("商品库存:");
for(i = 0;i < quilty;i++)
{
printf("\t%5d\t",amounts[i]);
}
printf("\n");
printf("***********************************************************************************************\n");
//用户输入选择购买的商品以及数量
printf("\n");
printf("千疮百孔自助售卖机,欢迎您!\n");
printf("以上是目前的商品信息。\n");
printf("请输入您要购买的商品编号:");
scanf("%d",&inputId);
//查找用户要购买的商品
for(i = 0;i < quilty;i++)
{
if(ids[i] == inputId)
{
while(judge == 'y')
{
judge = ' ';
printf("请输入您要购买%s商品的数量是:",goods[ids[i]]);
scanf("%d",&inputAm);
if(inputAm <= amounts[i])
{
count = inputAm * prices[i]; //顾客需支付的金额
printf("您需要支付%.1f元!",count);
amounts[i] = amounts[i] - inputAm; //计算当前商品的库存
printf("商品库存:");
for(i = 0;i < quilty;i++)
{
printf("\t%5d\t",amounts[i]);
}
printf("\n");
break;
}
else
{
printf("库存不足!目前库存只有%d。\n",amounts[i]);
printf("是否还需要购买?(y/n)");
fflush(stdin);
scanf("%c",&judge);
}
}
// printf("%d",prices[0]);
}
if(inputId > quilty || inputId <= 0)
{
printf("非常抱歉!没有您需要的这件商品!\n");
break;
}
}
/*
//测试代码
printf("\n");
for(i = 0;i < quilty;i++)
{
printf("%d\t",amounts[i]);
}*/
return 0;
}
实现效果