vending machine-自动贩售机:每次提示输入money,直到money足够,再退回多余的money.
//vending machine-自动贩售机
#include<iostream>
const double APPLY_MONEY = 3.5;
double total_money;
double accept_money();
double compute_change(double total_money);
int main()
{
using namespace std;
double money_back;
total_money = accept_money();
money_back = compute_change(total_money);
cout<<"Enjoy you drink,and money back "<<money_back<<endl;
return 0;
}
double accept_money()
{
using namespace std;
char ans;
total_money = 0;
do
{
cout<<"Enter the money:(D-dollar(1),q-quarter(0.25),d-dime(0.10),n-nickel(0.05))\n";
cout<<"The apply money is 3.5,the inserted money is "<<total_money<<endl;
cin>>ans;
switch(ans)
{
case 'D':
total_money += 1;
break;
case 'q':
total_money += 0.25;
break;
case 'd':
total_money += 0.10;
break;
case 'n':
total_money += 0.05;
break;
default:
cout<<"ERROR INPUT!"<<endl;
}
}while(total_money < APPLY_MONEY);
return total_money;
}
double compute_change(double total_money)
{
return (total_money - APPLY_MONEY);
}
结果:
Enter the money:(D-dollar(1),q-quarter(0.25),d-dime(0.10),n-nickel(0.05))
The apply money is 3.5,the inserted money is 0
D
Enter the money:(D-dollar(1),q-quarter(0.25),d-dime(0.10),n-nickel(0.05))
The apply money is 3.5,the inserted money is 1
d
Enter the money:(D-dollar(1),q-quarter(0.25),d-dime(0.10),n-nickel(0.05))
The apply money is 3.5,the inserted money is 1.1
q
Enter the money:(D-dollar(1),q-quarter(0.25),d-dime(0.10),n-nickel(0.05))
The apply money is 3.5,the inserted money is 1.35
q
Enter the money:(D-dollar(1),q-quarter(0.25),d-dime(0.10),n-nickel(0.05))
The apply money is 3.5,the inserted money is 1.6
D
Enter the money:(D-dollar(1),q-quarter(0.25),d-dime(0.10),n-nickel(0.05))
The apply money is 3.5,the inserted money is 2.6
D
Enjoy you drink,and money back 0.1