Şimdi Ara

C Programlama Dili İle ATM Örneği

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir (1 Mobil) - 1 Masaüstü1 Mobil
5 sn
8
Cevap
0
Favori
441
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • Arkadaşlar aşağıda ATM örneği adı altında C programlama dili ile yazmış olduğum kodu paylaşıyorum. Case 2,3 ve 4 'de sorun yok.


    Fakat Case 1'in program çıktısında :


    Mevcut Bakiyem=1000TL yazıyor.

    Çekmek istediğim tutar kısmına 1000TL yazıyorum.

    Yeni Bakiyemi 0 TL olarak gösteriyor.


    İlk Çıktımı Doğru veriyor. Fakat tekrardan param olmamasına rağmen,

    tutar çekmek istediğim zaman - (eksi) bakiyeye iniyor.


    Programın Çıktısını Resim Olarak Da paylaşıyorum. Yardımcı olur musunuz?




    Kod

    Yığını:
    #include <stdio.h> int main() {   int bakiye = 1000;   int islem=1,tutar;   printf("Bakiyeniz: %d", bakiye);   printf("\n\n**** ISLEMLER ****\n");   printf("1. Para Cekme\n");   printf("2. Para Yatirma\n");   printf("3. Para Bakiye Sorgulama\n");   printf("4. Kart Iade\n");   while(islem != 4) {     printf("\n\nIsleminizi giriniz: ");     scanf("%d", &islem);     switch (islem) {     case 1:       printf("Bakiyeniz : %d\n", bakiye);       printf("Cekmek istediginiz tutari giriniz : ");       scanf("%d", &tutar);       if (tutar > 1000) {         printf("Yetersiz bakiye tekrar giriniz !!: ");         scanf("%d", &tutar);       }         bakiye -= tutar;         printf("Yeni Bakiyeniz : %d", bakiye);       break;     case 2:       printf("Bakiyeniz : %d\n", bakiye);       printf("Yatirmak istediginiz tutari giriniz : ");       scanf("%d", &tutar);       bakiye += tutar;       printf("Yeni Bakiyeniz : %d", bakiye);       break;     case 3:       printf("Bakiyeniz : %d\n", bakiye);       break;     }   }   printf("Iyi gunler...");   return 0; }






    < Bu mesaj bu kişi tarafından değiştirildi MasterYodaTR -- 11 Haziran 2023; 12:6:27 >







  • C Programlama Dili İle ATM Örneği
  • Kod

    Yığını:
    if (tutar > 1000) {         printf("Yetersiz bakiye tekrar giriniz !!: ");         scanf("%d", &tutar);       }


    tutar değil bakiyeyi kontrol et.

    adamdan tutarı al, sonra çıkarma işlemini yap. adamın bakiyesi eksiye düşüyorsa işleme izin verme.



    kolay gelsin.

  • scapegoat111 kullanıcısına yanıt

    Sizin dediğiniz şekilde yapıyorum fakat olmuyor.

    Ayrıca tutar yazmamda ki amaç, olmayan bir parayı çekmek istememem.

    örneğin:

    1000 TL'm var iken 5000TL çekimine izin vermiyorum.Kod Çalışıyor fakat,


    2.Kez döngüye girdiğim zaman, 5000TL 'yi çekiyor ve eksi bakiyeye düşüyorum.

  • MasterYodaTR kullanıcısına yanıt

    #include <stdio.h>

    int main()

    {

     int bakiye = 1000;

     int islem=1,tutar;



     printf("Bakiyeniz: %d", bakiye);

     printf("\n\n**** ISLEMLER ****\n");

     printf("1. Para Cekme\n");

     printf("2. Para Yatirma\n");

     printf("3. Para Bakiye Sorgulama\n");

     printf("4. Kart Iade\n");


     while(islem != 4) {


      printf("\n\nIsleminizi giriniz: ");

      scanf("%d", &islem);


      switch (islem) {


      case 1:


       printf("Bakiyeniz : %d\n", bakiye);

       printf("Cekmek istediginiz tutari giriniz : ");

       scanf("%d", &tutar);

       if (bakiye-tutar<0) {


        printf("Yetersiz bakiye yeni islem giriniz !!: ");

        break;

       }

        bakiye -= tutar;

        printf("Yeni Bakiyeniz : %d", bakiye);

       break;


      case 2:


       printf("Bakiyeniz : %d\n", bakiye);

       printf("Yatirmak istediginiz tutari giriniz : ");

       scanf("%d", &tutar);

       bakiye += tutar;

       printf("Yeni Bakiyeniz : %d", bakiye);

       break;


      case 3:


       printf("Bakiyeniz : %d\n", bakiye);

       break;

      }


     }

     printf("Iyi gunler...");

     return 0;


    }


    düzelttim, bir bakın para çekmeye bidaha


    düzenleme: çekmek istediğin para hesabında yoksa o case'den çıkmalısın. yeni bir işlem talebi alınmalı. o yüzden de -'ye düşme durumunu gördüğünde case'den çıkıyorsun.




    < Bu mesaj bu kişi tarafından değiştirildi scapegoat111 -- 11 Haziran 2023; 13:23:3 >




  • Ben C bilmiyorum ama Pascal ve Visual Basic biliyorum. Sizin case 1 eksik yazılmış. Diğerlerine bakmadım.


    Case 1'e kontrol koşulu koymanız lazım

    Para çekildikten sonra;

    if bakiye = 0 then X: true veya 1 (boolean) kodunu yazıp en başa da İF NOT X THEN...

    ....

    ELSE

    PRİNTF YETERSİZ BAKİYE VS bloğuna lazım.


    Case 2 ye de bakiye + ise x: 0 veya false yazmanız lazım.

  • scapegoat111 kullanıcısına yanıt

    Çok teşekkür ederim. Çalıştı sayenizde.C Programlama Dili İle ATM Örneği 

  • Yapay Zeka’dan İlgili Konular
    Daha Fazla Göster
    
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.