饮料自动售货机售“啤酒”和“橙汁”,每份5角钱。自动售货机只能接受5角或一元硬币。投入5角钱硬币,并按下相应饮料的按钮,则相应饮料就送出来。投入1元硬币并按下相应饮料的按钮,如果售货机没有零钱可找(显示无零钱的指示灯),则不送饮料,退回1元硬币,如果售货机有零钱找(指示灯不亮),则送出饮料并退回5角钱。
#include <iostream>
#include <string>
#include<bits/stdc++.h>
using namespace std;
static string tmoney;
static int money;
static string tgoods;
static int goods;
static string sdata1="【无零钱】灯亮";
static string sdata2="【无零钱】灯灭";
static int total5;
void pentagon(){
if (goods==1){
cout <<"恭喜您购买成功,您选择了橙汁。"<<endl;
cout<<"当前可找5角硬币数量:"<<++total5<<endl;
}
else if (goods==2){
cout <<"恭喜您购买成功,你选择了啤酒。"<<endl;
cout<<"当前可找5角硬币数量:"<<++total5<<endl;
}
else{
cout <<"对不起,该柜台无此资源。"<<endl;
}
}
//【无零钱】灯灭,此时可以投币1元
void unlight(){
cout <<"请投币5角硬币或1元硬币(输入5或者1): ";
cout <<"请选择橙汁(1)还是啤酒(2):"<<endl;
cin >> tmoney;
money=atoi(tmoney.c_str());
cin>>tgoods;
goods=atoi(tgoods.c_str());
if (money==5){
pentagon();
}
else if (money==1){
if (goods==1){
cout <<"恭喜您购买成功,您选择了橙汁,给您找零钱5角钱。"<<endl;
cout<<"当前可找5角硬币数量:"<<--total5<<endl;
}
else if (goods==2){
cout <<"恭喜您购买成功,你选择了啤酒,给您找零钱5角钱。"<<endl;
cout<<"当前可找5角硬币数量:"<<--total5<<endl;
}
else{
cout <<"对不起,该柜台无此资源。"<<endl;
}
}
else{
cout <<"投币错误!"<<endl;
}
}
//【无零钱】灯亮,此时不可以投币1元
void light(){
cout <<"请投币5角硬币或1元硬币(输入5或者1): ";
cout <<"请选择橙汁(1)还是啤酒(2):"<<endl;
cin >> tmoney;
money=atoi(tmoney.c_str());
cin>>tgoods;
goods=atoi(tgoods.c_str());
if (money==5){
pentagon();
}
else if (money==1){
cout <<"对不起!零钱已经找完,1元退还给您。"<<endl;
}
else{
cout <<"投币错误。"<<endl;
}
}
int main()
{
// e="【无零钱】灯灭";
total5=0;
while (1)
{
cout <<"当前柜台状态:";
if (total5==0){
cout <<sdata1<<endl;
light();
}
else{
cout <<sdata2<<endl;
unlight();
}
int exit;
cout<<"是否退出,输入0退出,输入其他数字键继续购买:";
cin>>exit;
if(exit==0) break;
cout<<endl;
}
return 0;
}