Soran
if komutu duzgun calışmıyor

Soru
-
#include <stdio.h>
int main()
{
float hesap , bas_bakiye,harcama,max_bakiye,kredi,yeni_bakiye,max_kredi;
printf("Hesap numarasini giriniz(Cikis icin -1)>>>");
scanf("%f",&hesap);
if(hesap!=-1){
printf("Baslangictaki bakiyeyi girin>>>");
scanf("%f",&bas_bakiye);
printf("Toplam Harcamayi Girin>>>");
scanf("%f",&harcama);
printf("Yoplam kredi miktarini giriniz>>>");
scanf("%f",&kredi);
printf("Kredi limitini girin>>>");
scanf("%f",&max_kredi);
printf("%f\n",hesap);
printf("%f\n",max_kredi);
yeni_bakiye=(bas_bakiye+harcama-kredi);
max_bakiye=kredi+max_kredi;
printf("%f\n",yeni_bakiye);
if(yeni_bakiye>=max_bakiye){
printf("Kredi limiti asildi\n");
}
while(hesap!=-1){
printf("Hesap numarasini giriniz(Cikis icin -1)>>>");
scanf("%f",&hesap);
if(hesap!=-1){
printf("Baslangictaki bakiyeyi girin>>>");
scanf("%f",&bas_bakiye);
printf("Toplam Harcamayi Girin>>>");
scanf("%f",&harcama);
printf("Yoplam kredi miktarini giriniz>>>");
scanf("%f",&kredi);
printf("Kredi limitini girin>>>");
scanf("%f",&max_kredi);
printf("%f\n",hesap);
printf("%f\n",max_kredi);
yeni_bakiye=(bas_bakiye+harcama-kredi);
max_bakiye=kredi+max_kredi;
printf("%f\n",yeni_bakiye);
if(yeni_bakiye>=max_bakiye){
printf("Kredi limiti asildi\n");
}
}
else{
printf("Hesap numarasi girilmedi");
}
}
}
else {
printf("Hesap Numarasi girilmedi");
}
return 0;
}
alttaki kod düzgün çalışmıyor
istediği bilgileri girdikten sonra if komutu yanlış çalışıyor
if(yeni_bakiye>=max_bakiye){
printf("Kredi limiti asildi\n");
}
Tüm Yanıtlar
-
Hayır aslında doğru çalışıyor. Sadece sen kodlarken biraz hesap hatası yapmışsın. Örneğin;
** Yeni bakiyeyi yanlış hesaplamışsın. yeni_bakiye=(bas_bakiye-harcama+kredi) olması lazım. Başlangıçta olan parası ile kullandığı kredi yi topla harcamasını çıkar.
** Max_Bakiye yi yanlış hesaplamışsın . max_bakiye=bas_bakiye+max_kredi; olması lazım. Başlangıçta olan parası ile kullanabileceği maksimum kredi miktarının toplamı.
int main() { float hesap , bas_bakiye,harcama,max_bakiye,kredi,yeni_bakiye,max_kredi; printf("Hesap numarasini giriniz(Cikis icin -1)>>>"); scanf("%f",&hesap); if(hesap!=-1){ printf("Baslangictaki bakiyeyi girin>>>"); scanf("%f",&bas_bakiye); printf("Toplam Harcamayi Girin>>>"); scanf("%f",&harcama); printf("Toplam kredi miktarini giriniz>>>"); scanf("%f",&kredi); printf("Kredi limitini girin>>>"); scanf("%f",&max_kredi); printf("hesap: %f\n",hesap); printf("max_kredi: %f\n",max_kredi); yeni_bakiye=(bas_bakiye-harcama+kredi); max_bakiye=bas_bakiye+max_kredi; printf("yeni_bakiye : %f\n",yeni_bakiye); if(yeni_bakiye>=max_bakiye){ printf("Kredi limiti asildi\n"); } while(hesap!=-1){ printf("Hesap numarasini giriniz(Cikis icin -1)>>>"); scanf("%f",&hesap); if(hesap!=-1){ printf("Baslangictaki bakiyeyi girin>>>"); scanf("%f",&bas_bakiye); printf("Toplam Harcamayi Girin>>>"); scanf("%f",&harcama); printf("Yoplam kredi miktarini giriniz>>>"); scanf("%f",&kredi); printf("Kredi limitini girin>>>"); scanf("%f",&max_kredi); printf("Hesap : %f\n",hesap); printf("Max Kredi : %f\n",max_kredi); yeni_bakiye=(bas_bakiye+harcama-kredi); max_bakiye=kredi+max_kredi; printf("Yeni Bakiye: %f\n",yeni_bakiye); if(yeni_bakiye>=max_bakiye){ printf("Kredi limiti asildi\n"); } } else{ printf("Hesap numarasi girilmedi"); } } } else { printf("Hesap Numarasi girilmedi"); } return 0; }
şeklinde değiştirdim.
-
Hayır aslında doğru çalışıyor. Sadece sen kodlarken biraz hesap hatası yapmışsın. Örneğin;
** Yeni bakiyeyi yanlış hesaplamışsın. yeni_bakiye=(bas_bakiye-harcama+kredi) olması lazım. Başlangıçta olan parası ile kullandığı kredi yi topla harcamasını çıkar.
** Max_Bakiye yi yanlış hesaplamışsın . max_bakiye=bas_bakiye+max_kredi; olması lazım. Başlangıçta olan parası ile kullanabileceği maksimum kredi miktarının toplamı.
int main() { float hesap , bas_bakiye,harcama,max_bakiye,kredi,yeni_bakiye,max_kredi; printf("Hesap numarasini giriniz(Cikis icin -1)>>>"); scanf("%f",&hesap); if(hesap!=-1){ printf("Baslangictaki bakiyeyi girin>>>"); scanf("%f",&bas_bakiye); printf("Toplam Harcamayi Girin>>>"); scanf("%f",&harcama); printf("Toplam kredi miktarini giriniz>>>"); scanf("%f",&kredi); printf("Kredi limitini girin>>>"); scanf("%f",&max_kredi); printf("hesap: %f\n",hesap); printf("max_kredi: %f\n",max_kredi); yeni_bakiye=(bas_bakiye-harcama+kredi); max_bakiye=bas_bakiye+max_kredi; printf("yeni_bakiye : %f\n",yeni_bakiye); if(yeni_bakiye>=max_bakiye){ printf("Kredi limiti asildi\n"); } while(hesap!=-1){ printf("Hesap numarasini giriniz(Cikis icin -1)>>>"); scanf("%f",&hesap); if(hesap!=-1){ printf("Baslangictaki bakiyeyi girin>>>"); scanf("%f",&bas_bakiye); printf("Toplam Harcamayi Girin>>>"); scanf("%f",&harcama); printf("Yoplam kredi miktarini giriniz>>>"); scanf("%f",&kredi); printf("Kredi limitini girin>>>"); scanf("%f",&max_kredi); printf("Hesap : %f\n",hesap); printf("Max Kredi : %f\n",max_kredi); yeni_bakiye=(bas_bakiye+harcama-kredi); max_bakiye=kredi+max_kredi; printf("Yeni Bakiye: %f\n",yeni_bakiye); if(yeni_bakiye>=max_bakiye){ printf("Kredi limiti asildi\n"); } } else{ printf("Hesap numarasi girilmedi"); } } } else { printf("Hesap Numarasi girilmedi"); } return 0; }
şeklinde değiştirdim.
Çok teşekkür ederim. Bu basit hatalar hep uykusuzluktan:))