5.00 / 1 oy

Java'da para üstü hesaplayan program (Banknot ve kuruş hesabı)

Bir kasa görevlisi olduğumuzu farz edelim. Her gün onlarca nakit ödeme alıyoruz ve ürün fiyatı ile müşterinin verdiği nakit para arasındaki farkı çok hızlı hesaplayarak para üstü vermemiz gerekiyor. Neyse ki Java öğrenmişiz de bu işi kafadan çözmek yerine bir program yazmaya karar verdik. Programın çalışma mantığı şu şekilde olacak:

- Ürünün fiyatını ve müşterinin verdiği para miktarını input olarak alacak

- Eğer müşterinin verdiği para miktarı, ürünün fiyatından düşükse bakiye yetersiz uyarısı verecek

- Eğer müşterinin verdiği para miktarı, ürünün fiyatı ile aynıysa para üstü olmadığını söyleyecek

- Eğer müşterinin verdiği para miktarı, ürünün fiyatından fazlaysa iki tutar arasındaki farkı hesaplayarak mümkün olan en büyük banknotları kullanmaya özen göstererek para üstünü kaç tane hangi banknottan vermemizi sağlayacak.

- Piyasada bugün bulunan 200 TL, 100 TL, 50 TL, 20 TL, 10 TL, 5 TL, 1 TL, 50 kuruş, 25 kuruş, 10 kuruş, 5 kuruş ve 1 kuruş banknotlarını kullanacak. 

 

Kodlar:

Scanner girdi = new Scanner(System.in);
 
double fiyat;
double odeme;
double paraustu;

System.out.print("Ürün fiyatını yazın: ");
fiyat = girdi.nextDouble();

System.out.print("Müşteriden alınan para miktarını yazın: ");
odeme = girdi.nextDouble();

if (odeme > fiyat) {
    
    paraustu = odeme - fiyat;
    System.out.println("Para üstü: " +paraustu+" TL");
    int ikiyuzluk = (int)(paraustu/200);
    
    if (ikiyuzluk > 0) { // if the change is less than $20 this will be a 0
    	paraustu = paraustu % 200;
        System.out.println(ikiyuzluk + " adet 200 TL banknot");
    }
    
    int yuzluk = (int)(paraustu/100);
    if (yuzluk > 0) {
    	paraustu = paraustu % 100;
        System.out.println(yuzluk + " adet 100 TL banknot");
    }
    
    int ellilik = (int)(paraustu/50);
    if (ellilik > 0) {
    	paraustu = paraustu % 50;
        System.out.println(ellilik + " adet 50 TL banknot");
    }
    
    int yirmilik = (int)(paraustu/20);
    if (yirmilik > 0) {
    	paraustu = paraustu % 20;
        System.out.println(yirmilik + " adet 20 TL banknot");
    }
    
    int onluk = (int)(paraustu/10);
    if (onluk > 0) {
    	paraustu = paraustu % 10;
        System.out.println(onluk + " adet 10 TL banknot");
    }
    
    int beslik = (int)(paraustu/5);
    if (beslik > 0) {
    	paraustu = paraustu % 5;
        System.out.println(beslik + " adet 5 TL banknot");
    }
    
    int birlik = (int)(paraustu/1);
    if (birlik > 0) {
    	paraustu = paraustu % 1;
        System.out.println(birlik + " adet 1 TL banknot");
    }
    
    int ellikurus = (int)(paraustu/0.5);
    if (ellikurus > 0) {
    	paraustu = paraustu % 0.5;
        System.out.println(ellikurus + " adet elli kuruş");
    }
    
    int yirmibeskurus = (int)(paraustu/0.25);
    if (yirmibeskurus > 0) {
    	paraustu = paraustu % 0.25;
        System.out.println(yirmibeskurus + " adet yirmi beş kuruş");
    }
    
    int onkurus = (int)(paraustu/0.1);
    if (onkurus > 0) {
    	paraustu = paraustu % 0.1;
        System.out.println(onkurus + " adet on kuruş");
    }
    
    int beskurus = (int)(paraustu/0.05);
    if (beskurus > 0) {
    	paraustu = paraustu % 1;
        System.out.println(beskurus + " adet beş kuruş");
    }
    
    int birkurus = (int)(paraustu/0.01);
    if (birkurus  > 0) {
    	paraustu = paraustu % 1;
        System.out.println(birkurus  + " adet bir kuruş");
    }
}

else if (odeme < fiyat) 
    System.out.print("Yetersiz bakiye");
 
else 
    System.out.print("Para üzeri yok");

 

Çıktı:

Ürün fiyatını yazın: 
> 0,01
Müşteriden alınan para miktarını yazın: 
> 2000
Para üstü: 1999.99 TL
9 adet 200 TL banknot
1 adet 100 TL banknot
1 adet 50 TL banknot
2 adet 20 TL banknot
1 adet 5 TL banknot
4 adet 1 TL banknot
1 adet elli kuruş
1 adet yirmi beş kuruş
2 adet on kuruş
4 adet bir kuruş

 

 

utku33

07.02.2020 00:41

Bu soru henüz yanıtlanmamış.

Bu soruya sadece kayıtlı kullanıcılar yanıt yazabilirler. Yanıt yazmak için lütfen giriş yapınız.

Reitix
Java'da para üstü hesaplayan program (Banknot ve kuruş hesabı)

İnternet sitemizdeki deneyiminizi iyileştirmek için çerezler kullanıyoruz. Bu siteye giriş yaparak çerez kullanımını kabul etmiş sayılıyorsunuz. Daha fazla bilgi.