目录
云顶超市老板
#include <stdio.h>
#include <string.h>
void add(char goods[100][10],float arr[100],int *A)
{
*A=10;
printf("enter over to break\n");//输入over返回
while(1)
{
printf("please enter the name:");
fgets(goods[*A],sizeof(goods[*A]),stdin);//向原数组添加新商品
goods[*A][strcspn(goods[*A],"\n")]='\0';
if(strcmp(goods[*A],"over")==0)
{
break;
}
printf("please enter the money:");
scanf("%f",&arr[*A]);//输入添加商品的单价
getchar();
(*A)++;
}
}
int main()
{
char goods[100][10]={"牛奶","面包","方便面","矿泉水","火腿肠","溜溜梅","薄荷糖","豆腐干","辣条","纸巾"};
float arr[100]={3,2,5,1,1.5,5,10,1,0.5,1};
printf("please enter what you want to buy and the amount(enter over to break)\nif you want to add food,please enter root\n");
char name[10][10];//定义输入的字符数组
int i=0,j=0,b=0,count=0;
float sum=0;//总价
int A;
while(1)
{
fgets(name[i],sizeof(name[i]),stdin);
name[i][strcspn(name[i],"\n")]='\0';
if(strcmp(name[i],"over")==0)//输入over就退出程序
{
break;
}
else if(strcmp(name[i],"root")==0)//输入root添加商品
{
add(goods,arr,&A);
continue;
}
printf("please enter the num:");
scanf("%d",&num[i]);
getchar();
for(j=0;j<A;j++)
{
if(strcmp(name[i],goods[j])==0)//遍历商品,看是哪一件,对应的是下标j
{
price[i]=arr[j];
strcpy(buys[b],name[i]);//复制
b++;
break;
}
}
printf("单价:%.2f\n",price[i]);
sum+=(price[i]*num[i]);
count++;
i++;
}
printf("商品名\t单价\t数量\n");
for(j=0;j<count;j++)
{
printf("%s\t%.2f\t%d\n",buys[j],price[j],num[j]);
}
printf("总价\t%.2f\n",sum);
return 0;
}