Goal: Simulate a drink vending machines that will serve the users at least 3 dif
ID: 3837852 • Letter: G
Question
Goal: Simulate a drink vending machines that will serve the users at least 3 different drinks. Requirements: Max of 2 students per group The user will push a button to hear a simple set of instruction being played through a tape recorder or computer's speaker. The instructions will tell user how each switch corresponds to a different type of drink. For example: "For Coffee, press button no. 1, for Coke press button no. 2, ellipses" The vending machine should not get activated if it's running out of supplies. For example, if there is no Coke available, then pressing the 'coke button' should not do anything. There should be an emergency button that when pressed will halt all activity and safely return the robot to its home position regardless of current position of the robot. Serving the drink means, grabbing it from the stock position and pouring it inside a cup. Users will have access to two different type of cups. These cups vary in their diameter size. Before each serving the robot should measure the diameter of the cup that's sitting in the "pouring spot. If the cup is the small sized cup, the robot should pour the drink for only 2 seconds. Otherwise if the cup is the bigger one, then it should pour it for 3.5 seconds. During the pouring operation, either a beeping sound or a flashing light should get activated to indicate that pouring is in progress. Should be done using scorbase robotic software (the tape recoder is not needed)Explanation / Answer
import.java.util.scanner;
public class VendingMachine
{
public static void main (String args[])
{
int[4] coin = {5,5,5,5};//create an array to hold coin values
int[4] drink = {5,5,5,5}; //create an array to hold drink values
int choice;
char cont;
//String input1, input2, input3;
double price = 1.2, balance = 0, coinInsert = 0, sumCoininsert = 0;
showmenu(coin, drink);
sumCoininsert = inputcoin(coinInsert);
showdrinks(choice);
showbalace(sumCoininsert, price);
contmethod(cont);
}
/*****************showmenu method*****************/
public static int showmenu (int coin, int drink)
{
int coin;
int drink;
System.out.println("[Coins available : RM 1 [" + coin[0] + "] RM0.50 [ " + coin[1] + "] RM 0.20 [ " + coin[2] + "] RM0.10 [" +coin[3] "] ]");
System.out.println("[Drinks available : Pepsi [" + drink[0] + "] Coke [" + drink[1] + "] Mirinda Orange [" + drink[2] + "] 7up [" + drink[3] + "] ]");
}
/********************showmenu method*****************/
/**************inputcoin method *******************/
public static double inputcoin (double coinInsert)
{
double coinInsert = 0, sumCoininsert = 0;
Scanner sc = new Scanner(System.in);
System.out.println("Insert Coin==>");
double coinInsert = sc.nextDouble();
while (coinInsert == '1' || coinInsert == '0.5' || coinInsert == '0.2' || coinInsert == '0.1')
{
coinInc(coinInsert);
sumCoininsert = sumCoininsert + coinInsert;
while (sumCoinInsert < 1.20)
{
System.out.println("Insert Coin==>");
double coinInsert = sc.nextDouble();
}
}
System.out.println (" Total :" +sumCoinInsert);
}
/********************inputcoin method*******************/
/***************coinInc method************************/
public static double coinInc(int coinInsert)
{
double coinInsert;
Scanner sc = new Scanner(System.in);
switch (coinInsert) {
case coinInsert == '1':
coin[0]++;
break;
case coinInsert == '0.5':
coin[1]++;
break;
case coinInsert == '0.2':
coin[2]++;
break;
case coinInsert == '0.1':
coin[3]++;
break;
default:
System.out.println("Invalid coin");
sumCoininsert = 0;
System.out.println("Insert Coin==>");
double coinInsert = sc.nextDouble();
break;
}
}
/******************coinInc method*********************/
/*****************showdrinks method **************/
public static int showdrinks (int choice)
{
int choice;
System.out.println("Drinks [RM1.20]");
System.out.println("1.Pepsi" " 2.Coke" " 3.Mirinda Orange" " 4.7up");
Scanner sc = new Scanner(System.in);
System.out.println("Choice==>");
int choice = sc.nextInt();
while (choice == '1' || choice == '2' || choice == '3' || choice == '4')
{
if (choice =='1')
{
drink[0]--;
}else if (choice=='2')
{
drink[1]--;
}else if (choice =='3')
{
drink[2]--;
}else (choice == '4')
{
drink[3]--;
}
}
System.out.println("Invalid choice");
System.out.println("Choice==>");
int choice = sc.nextInt();
}
/*****************showdrinks method **************/
/****************showbalance method*******************/
public static double showbalance(double sumCoininsert, double price)
{
double price = 1.2, balance = 0, sumCoininsert;
balance = sumCoininsert - price;
if (balance != 0.00)
{
countbalance (balance);
System.out.println(" Your balance is :" +balance)
System.out.println(" :" +fifty+ "x50" " " +twenty+ "x20" " " +tenth+ "x10" );
}else //if (balance == 0.00)
{
System.out.println("Your balance is :" +balance);
}
}
/****************showbalance method*******************/
/****************countbalance method******************/
public static double countbalance(double balance)
{
double balance;
int ibalance = (int)(balance);
int fifty = ibalance/50;
int cfifty = ibalance%50;
int twenty = cfifty/20;
int ctwenty = cfifty%20;
int tenth = ctwenty/10;
int ctenth = ctwenty%10;
if ( fifty != 0)
{
coin[1]--;
}
if (twenty != 0)
{
coin[2]--;
}
if (tenth != 0)
{
coin[3]--;
}
}
/*************countbalance method*********************/
/************************contmethod*****************************/
public static String contmethod (char cont)
{
char cont;
Scanner sc = new Scanner(System.in);
System.out.println ("Do you want to continue? y/n :");
//input3 = in.readline();
cont = sc.charAt(0);
while (cont == 'y' || cont == 'Y')
{
continue ;
}
System.out.println("Thank You, Please come again.");
System.exit(0);
}
}
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.