Ketu e ke kodin e plote per llogaritesen.
Shkarko skedarin e bashkengjitur per formatin e sakte.
Here tjeter perktheje kerkesen ne shqip qe te kuptojne edhe ata qe kane deshire te te ndihmojne ose mesojne por nuk dine mire gjuhen angleze.
Per ata qe nuk kuptojne anglisht, kerkesa e programit ishte per nje regjister parash qe mund ta perdoresh ne nje dyqan per te llogaritur numrin e sakte te kusurit sipas monedhave te ndryshme. Ne kete rast, programi perdor monedhat Amerikane.
1 cent = 1/100 e dollarit
1 knickel = 5 cent
1 dime = 10 cent
1 quarter = 25 cent
Nqs cmimi i mallrave eshte $1,65 dhe pagesa eshte $2,00, programi do llogarisë kusurin $0,35 dhe do ti tregoje shitesit qe te ktheje mbrapsh nje 25-ce (quarter) dhe nje 10-ce (dime).
-------------------------------------------------------------------------------
Te gjitha variablat jane int, pervec totChange qe eshte float.
Nuk ka ndonje gje te veshtire per tu kuptuar.
Per aq kohe sa personi nuk shtyp (-1) per te dale nga programi {
- Kerkojme cmimin (amtSale) nga perdoruesi deri sa marrim nje shume te pakten 1 cent ose personi shtyp -1 per te mbyllur programin. Nqs shkruan -1 e falenderojme qe perdori programin dhe dalim nga perseritja (loop).
- Kerkojme pagesen (amtTender) nga perdoruesi deri sa shuma te jete me e madhe se shuma e shitjes (amthSale).
- Qe te dyja shumat i shumezojme me 100 dhe i kthejme ne int qe te kemi numrin e centeve. Nuk perdora int se kompjuteri nuk ka saktesi te plote ne llogarite me numra me presje.
- Marrim numrin e centeve per kusurin duke zbritur pagesen nga cmimi.
- Shfaqim kusurin e plote duke e pjestuar numrin e centeve me 100.
- Pastaj vazhdojme me llogaritjen e dollareve, 25-ceve (quarters), 10-ceve (dimes), 5-ceve (nickels), 1-eve (cents)
- Shfaqim gjithcka ne ekran
//vazhdojme perseri ne krye, ose mbyllim programin
}
Per shkak te limiteve te variablave int, programi nuk eshte 100% i sakte per pagesat me te medha se 2 milione e 400 mije. Ne realitet asnjeri nuk paguan 2.400.000 por nqs te duhet saktesi per pagesa me te medha, variablat int duhet ti kthesh ne long.
Kodi:
import java.util.Scanner;
public class Project3{
public static void main (String [] args){
Scanner scan = new Scanner(System.in);
float totChange = 0;
int amtSale = 0, amtTendered = 0;
int pennies = 0, dollars = 0, quarters = 0, dimes = 0, nickels = 0;
boolean quit = false;
while( !quit){
amtSale = 0;
amtTendered = 0;
while( amtSale < 1 && amtSale != -100){
System.out.print ("Enter amount of sale (-1 to quit): ");
amtSale = (int) (scan.nextFloat() * 100);
}
if( amtSale == -100){
System.out.println ("Thank you for using my program.");
quit = true;
}
else{
while( amtTendered < amtSale ){
System.out.print ("Enter amount tendered: ");
amtTendered = (int) (scan.nextFloat() * 100);
}
pennies = amtTendered - amtSale;
totChange = (float) pennies / 100;
System.out.println ("TOTAL CHANGE = " + totChange );
dollars = (int) ( pennies / 100 );
pennies = pennies - ( dollars * 100 );
quarters = (int) ( pennies / 25 );
pennies = pennies - ( quarters * 25 );
dimes = (int) ( pennies / 10 );
pennies = pennies - ( dimes * 10 );
nickels = (int) ( pennies / 5 );
pennies = pennies - ( nickels * 5 );
System.out.println ("DOLLARS = " + dollars);
System.out.println ("QUARTERS = " + quarters);
System.out.println ("DIMES = " + dimes);
System.out.println ("NICKELS = " + nickels);
System.out.println ("CENTS = " + pennies);
}
}
}
}
Krijoni Kontakt