Public feed
#726179
//////////////////////////////////////////////////////////////////////////////////
// ICS 3M1 - Mrs. Shanks
// Patrick Paskaris
// September 21, 2007
// Invoice
//
// This program will take as input a name, full street address, city and province
// postal code, # of CDs, and # of DVDs from a file. It will then calculate the
// subtotal of CDs, subtotal of DVDs, subtotal of CDs and DVDs, GST, PST and the
// final total and will output an invoice displaying the company name, shipping
// information, subtotal of CDs and DVDs, the amount ordered and their individual
// costs, their subtotal before taxes, the tax amount, and the final total.
//////////////////////////////////////////////////////////////////////////////////
// Variables Used:
// amountGST - GST of subTotal
// amountPST - PST of subTotal
// br - File input
// BRAKDOWN_SP - Output spaces for breakdown
// CD_COST - Cost of CDs
// cdSubTotal - Total price of CDs
// city - City
// COST_SP - Output spaces for cost
// CURRENY - Currency symbol ($)
// DVD_COST - Cost of DVDs
// dvdSubTotal - Total price of DVDs
// fr - File Reader
// GST - GST percentage
// MULT_STR - " x "
// name - Name
// numberOfCDs - Amount of CDs the user is buying
// numberOfDVDs - Amount of DVDs the user is buying
// postalCode - Postal code
// PRODUCT_SP - Output spaces for product
// PRODUCT1 - Name of the first product being sold
// PRODUCT2 - Name of the second product being sold
// province - Province
// PST - PST percentage
// STORE_NAME - Name of the store
// streetAddress - Address
// subTotal - Total cost before taxes of order
// SUBTOTAL_SP - Output spaces for subtotal
// SUBTOTAL_STR - "SUBTOTAL"
// TAX_SP - Output spaces for taxes
// TAX1 - Name of the first tax
// TAX2 - Name of the second tax
// temp - Temporary value for input
// TITLE_SP - Output spaces for title
// TOTAL_SP - Output spaces for total
// TOTAL_STR - "TOTAL"
// totalFinal - Total cost after taxes
// UNDERLINE_SP - Output spaces for underline
// UNDERLINE_STR - "________"
//////////////////////////////////////////////////////////////////////////////////
import java.io.*;
class Invoice {
public static void main ( String args[] ) throws java.io.IOException {
FileReader fr = new FileReader( "in.txt" );
BufferedReader br = new BufferedReader( fr );
// Variables
String name = "", streetAddress = "", city = "", province = "",
postalCode = "", temp = "";
int numberOfCDs = 0, numberOfDVDs = 0;
double cdSubTotal = 0, dvdSubTotal = 0, subTotal = 0, amountGST = 0,
amountPST = 0, totalFinal = 0;
final double CD_COST = 16.99, DVD_COST = 24.99, GST = .06, PST = .08;
final String STORE_NAME = "ABC MUSIC STORE", PRODUCT1 = "CDs",
PRODUCT2 = "DVDs", TAX1 = "GST", TAX2 = "PST", TITLE_SP = "\t\t\t",
PRODUCT_SP = "\t\t\t\t", BREAKDOWN_SP = "\t\t\t\t", COST_SP = "\t\t",
UNDERLINE_SP = "\t\t\t\t\t\t", TAX_SP = "\t\t\t\t", SUBTOTAL_SP = "\t\t\t\t",
TOTAL_SP = "\t\t\t\t", CURRENY = "$", TOTAL_STR = "TOTAL",
SUBTOTAL_STR = "SUBTOTAL", UNDERLINE_STR = "________", MULT_STR = " x ";
// Get information
name = br.readLine( );
streetAddress = br.readLine( );
city = br.readLine( );
province = br.readLine( );
postalCode = br.readLine( );
temp = br.readLine( );
numberOfCDs = Integer.parseInt( temp );
temp = br.readLine( );
numberOfDVDs = Integer.parseInt( temp );
temp = null; // Release
fr.close( );
// Calculate
cdSubTotal = CD_COST * numberOfCDs;
dvdSubTotal = DVD_COST * numberOfDVDs;
subTotal = cdSubTotal + dvdSubTotal;
amountGST = subTotal * GST;
amountPST = subTotal * PST;
totalFinal = subTotal + amountGST + amountPST;
// Round it for output
cdSubTotal = Math.round( cdSubTotal * 100 );
cdSubTotal /= 100;
dvdSubTotal = Math.round( dvdSubTotal * 100 );
dvdSubTotal /= 100;
subTotal = Math.round( subTotal * 100 );
subTotal /= 100;
amountGST = Math.round( amountGST * 100 );
amountGST /= 100;
amountPST = Math.round( amountPST * 100 );
amountPST /= 100;
totalFinal = Math.round( totalFinal * 100 );
totalFinal /= 100;
// Output invoice
System.out.println( "\n\n" + TITLE_SP + STORE_NAME + "\n" );
System.out.println( name );
System.out.println( streetAddress );
System.out.println( city + ", " + province );
System.out.println( postalCode );
System.out.println( "\n" + PRODUCT_SP + PRODUCT1 );
System.out.println( BREAKDOWN_SP + numberOfCDs + MULT_STR + CD_COST + COST_SP +
CURRENY + " " + cdSubTotal );
System.out.println( "\n" + PRODUCT_SP + PRODUCT2 );
System.out.println( BREAKDOWN_SP + numberOfDVDs + MULT_STR + DVD_COST +
COST_SP + CURRENY + " " + dvdSubTotal );
System.out.println( UNDERLINE_SP + UNDERLINE_STR );
System.out.println( "\n" + SUBTOTAL_SP + SUBTOTAL_STR + COST_SP + CURRENY +
" " + subTotal );
System.out.println( TAX_SP + TAX1 + COST_SP + CURRENY + " " + amountGST );
System.out.println( TAX_SP + TAX2 + COST_SP + CURRENY + " " + amountPST );
System.out.println( UNDERLINE_SP + UNDERLINE_STR );
System.out.println( "\n" + TOTAL_SP + TOTAL_STR + COST_SP + CURRENY + " " +
totalFinal );
}
}