#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");
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.
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?
#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");
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,
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.
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 >
Bu mesaja 1 cevap geldi. Cevapları Gizle
Bu mesajda bahsedilenler: @MasterYodaTR