Senin, 17 September 2018

Tugas Kelas 3 PBO A (17 September 2018)

Program Ticket Machine 

Haiii
Pada kesempatan kali ini, saya akan post program Ticket Machine
Source Code nya terdiri dari 2 bagian, yaitu Fungsi Ticket Machine dan Main nya.

Main

public class TicketMachine{   
 private int price;  
 private int balance;  
 /*
  * Program Ticket Machine
  * Author: Yemima Sutanto
  * Date : 17 September 2018
  * 
  */
 
 private int total;
 public TicketMachine(int ticketCost){  
  price = ticketCost;  
  balance = 0;  
  total = 0;  
 }
 
 /**  
 * Return the price of a ticket.  
 */
 public int getPrice(){  
  return price;  
 }
 
 /**  
 * Return the amount of money already inserted for the  
 * next ticket.  
 */
 public int getBalance(){
   return balance;
 }
 
 /**  
 * Receive an amount of money in cents from a customer.  
 */  
 public void insertMoney(int amount){  
   if(amount>0){
   balance = balance + amount;
    }
   else{
       System.out.println("Use a positive amount rather than: "+ amount);
   }
 }
 
 /**  
 * Print a ticket.  
 * Update the total collected and  
 * reduce the balance to zero.  
 */
 public void printTicket(){  
   if(balance>=price){
   // Simulate the printing of a ticket.  
   System.out.println("##################");  
   System.out.println("# The BlueJ Line");  
   System.out.println("# Ticket");  
   System.out.println("# RP" + price + ".");  
   System.out.println("##################");  
   System.out.println();  
   // Update the total collected with the price.  
   total = total + price;  
   // Reduce the balance by the price. 
   int refund = balance - price;
   System.out.println("Your Change is RP"+ refund);
    }
   else{
       System.out.println("You must insert at least: RP " + (price-balance)+ "more.");
   }
   System.out.println("Terima Kasih! Selamat menikmati perjalanan anda :)");
 }
}

Function

import java.util.Scanner;
 
 public class IntMain{  
 public static void main(String args[]){  
  Scanner scan= new Scanner(System.in);  
  int cost,menu,balance; 
  boolean entry;
  System.out.print("Selamat Datang di KRT Machine\n");
  System.out.println("Masukkan harga tiket: ");  
  cost=scan.nextInt();  
  
  TicketMachine ticket=new TicketMachine(cost);
  entry= true;
  
  while(entry){
  System.out.println("1. Get Price");  
  System.out.println("2. Insert Money");  
  System.out.println("3. Get Balance");  
  System.out.println("4. Print Ticket"); 
  System.out.println("5. Exit");
  menu=scan.nextInt();  
  switch(menu){  
   case 1: cost=ticket.getPrice();  
   System.out.println("Harga tiket anda: RP" + cost);
   break;  
   case 2: int money=scan.nextInt();  
   ticket.insertMoney(money);
   break;  
   case 3: ticket.getBalance(); 
   break;  
   case 4: ticket.printTicket();  
   break;
   case 5: entry = false;
   break;
     }  
  }  
 }
}

Menu yang dapat dipakai user ada 5:
1. Get Price : menampilkan harga tiket
2. Insert money : input harga tiket
3. Get Balance : menampung uang yang telah diinput
    Jika uang yang diinput user tidak memenuhi, maka user tidak bisa mencetak tiket.
4. Print Ticket : cetak tiket dan menampilkan kembalian (jika ada)
5. Exit : Keluar dari program (menu)

Untuk hasil compile source code, berikut screenshotnya.
 Sekian dan terima kasih!:)

Tidak ada komentar:

Posting Komentar