Soru: Arkadaşlar ben c'de bir atm programı yazıyorum.Belli banknot sayıları var.Onluk beşlik yirmilik ellilik ve yuzluk şeklinde. Mesela 10 tane 100'luk banknot var.Para çek diyip 1000 tl ustu para çektigimde 100luk banknotlardan çekmeye devam ediyor.Böylelikle de 100' luk banknot sayısı eksi degerlere dusuyor.Acaba 100'luk banknotlardan degil de 50'lik banknotlardan devam edecek şekilde nasıl yapailirim.Yardımcı olursanız sevinirim.Yarın teslim etmem gerekiyor.

Cevaplar 1

Cevap:

#include <stdio.h>

int main()

{

   // 100'lük -> 10 tane, 50'lik -> 5 tane, 20'lik -> 5 tane, 10'luk -> 3 tane, 5'lik 1 tane.

   int banknotlar[5] = {10, 5, 5, 3, 1};

   int degerler[5] = {100, 50, 20, 10, 5};

   int miktar;

   int limit;

   

   printf("Çekmek istediğiniz para miktarını giriniz: ");

   scanf("%d", &miktar);

   

   for (int banknot = 0; banknot < 5; banknot++){

       limit = banknotlar[banknot];

       for (int i = 0; i < limit; i++){

           if (miktar >= degerler[banknot]){

               miktar -= degerler[banknot];

               banknotlar[banknot] -= 1;

           }

       }

       printf("%d banknotundan %d tane kaldı.\n", degerler[banknot], banknotlar[banknot]);

   }      

   if (miktar != 0){

       printf("Şu kadar para çekilemedi: %d\n", miktar);      

   }

   return 0;

}

Yukarıdakine benzer bir algoritma geliştirebilirsiniz.

Cevabı biliyor musunuz? Buraya ekleyin!

Cevabı bulamıyor musunuz?

Google ile giriş yap

veya

Şifrenizi mi unuttunuz?

Hesabım yok ve şunu yapmak istiyorum: Kayıt ol

Bir dil veya bölge seçin
How much to ban the user?
1 hour 1 day 100 years