Thursday, September 27, 2012

Cash Register Simulation

Language: Java & C

Purpose:

A comparison between Java and C. The Simulation takes an amount that the customer paid and calculates the change that the customer is owed.


Cash Register Simulation in Java:

 import java.util.Scanner;

   public class CashRegister
   {
      public static void main(String[] args)
      { 
      
      // Declare variables.
      
         int amountOwed = 0;
         int amountPaid = 0;
         int totalChange = 0;
         int dollars = 0;
         int quarters = 0;
         int dimes = 0;
         int nickels = 0;
         int pennies = 0;
         int remainingChange = 0;
      

      //Get input from user and calculate total change
      

         System.out.println("What is the amount owed?");
         Scanner keyboard = new Scanner(System.in);
         amountOwed =  keyboard.nextInt();         
         System.out.println("What is the amount paid?");
         amountPaid =  keyboard.nextInt();
         totalChange = amountPaid - amountOwed;
      

      // Calculate values
      

         dollars = totalChange / 100;
         remainingChange = totalChange - (dollars*100);
         quarters = remainingChange / 25;
         remainingChange = remainingChange - (quarters*25);
         dimes =  remainingChange / 10;
         remainingChange = remainingChange - (dimes*10);
         nickels =  remainingChange / 5;
         remainingChange = remainingChange - (nickels*5);
         pennies = remainingChange;
         

      

      // Display my variables.
      

         System.out.println("Amount owed: " + amountOwed);
         System.out.println("Amount paid: " + amountPaid);
         System.out.println("Total change is " + totalChange);
         System.out.println(dollars + " dollars, "+ quarters + " quarters, " + dimes + " dimes, " + nickels + " nickels, and " + pennies + " pennies ");
       
      }
   }




Cash Register Simulation in C:

#include <stdio.h>;

void main(void){

    //local variables
         int amountOwed = 0;
         int amountPaid = 0;
         int totalChange = 0;
         int dollars = 0;
         int quarters = 0;
         int dimes = 0;
         int nickels = 0;
         int pennies = 0;
         int remainingChange = 0;

    //Ask for Amount Paid and what is owed

         printf("Enter the amount the customer paid: ");
         scanf("%d",&amountPaid);
         printf("\nEnter the amount the customer owed: ");
         scanf("%d",&amountOwed);
         totalChange = amountPaid - amountOwed;

    //Calculate values

         dollars = totalChange / 100;
        // remainingChange = totalChange - (dollars*100);
         quarters = (totalChange % 100) / 25;
        // quarters = remainingChange / 25;
         remainingChange = remainingChange - (quarters*25);
         dimes = ((totalChange % 100) %25) / 10;
       //  remainingChange = remainingChange - (dimes*10);
         nickels =  (((totalChange % 100) %25) % 10) / 5;
         //remainingChange = remainingChange - (nickels*5);
         pennies = ((((totalChange % 100) %25) % 10) % 5)/ 1;

          printf("\nTheir change is %d", totalChange);
          printf("\n%d Dollars, ", dollars);
          printf("%d Quarters, ", quarters);
          printf("%d Dimes, ", dimes);
          printf("%d Nickels, ", nickels);
          printf("and %d pennies ", pennies);


}

Note: I used modulous in the Program in C but I comment out the exact same code that was from the Java source Code.

No comments:

Post a Comment