#include<>#definelist"%d....%c...%.....%dleft\n",goods[i].number,goods[i].name,goods[i].price,goods[i].quantityfloatM;//M作为钱intA=1,B=1;//A为数量标记,B为金钱标记,1表示有,0表示没有structgoods//定义出物品清单{intnumber;charname;floatprice;intquantity;}goods[4]={{1,'A',,5},{2,'B',4,5},{3,'C',11,5},{4,'D',2,5}};structmoney//定义出钱,数量用于记录补钱的某值张数{floatmoney;intmount;}money[8]={{100,0},{50,0},{20,0},{10,0},{5,0},{1,0},{,0},{,0}};voidmain(){voidchange(floatm);//声明找钱模块intsell(intn,floatm,inta,intb);//声明出售模块inti,n;//i用于循环显示商品列表,n用于记录输入的货号floatm1;//m1用于加钱for(i=0;i<4;i++)printf(list);printf("inputmoneyfirst!\n");scanf("%f",&M);loop1:printf("youhave%.1f\nnowyoucanchoosethegoodsnumber,youcanuse0toleave\n",M);scanf("%d",&n);if(n==0)change(M);else//确认用户是选择高开还是买东西{loop2:sell(n,M,1,1);if(A==0)//货没有了怎么办{printf("thereisnogoods%dleft\nyouhave%.1f\ninputgoodsnumber,youcanuse0forleave\n",n,M);scanf("%d",&n);if(n==0)change(M);else{A=1;B=1;//要将标记归位gotoloop2;}}elseif(B==0)//没钱了怎么办{printf("youcanaddmoneyoradd0toleft\n");scanf("%f",&m1);if(m1==0)change(M);else{M=M+m1;A=1;B=1;//标记要归位gotoloop1;}}else//有钱又有货,继续选gotoloop1;}system("pause");}intsell(intn,floatm,inta,intb){inti=0;while(n!=goods[i].number)i++;if(m>=goods[i].price){if(goods[i].quantity>0){goods[i].quantity--;M=m-goods[i
自动售货机c语言程序 来自淘豆网m.daumloan.com转载请标明出处.