C de hata alıyorum yardım.

Furkan6424
18-02-2021, 21:26   |  #1  
Furkan6424 avatarı
OP Taze Üye
Teşekkür Sayısı: 0
1 mesaj
Kayıt Tarihi:Kayıt: Şub 2021

Merhaba arkadaşlar. C yi öğrenmeye başladım fakat bir yerde takıldım. Yardımcı olursanız sevinirim.

Compile ediğ çalıştırınca ve para çekme kısmına gelip "ne kadar çekmek istiyorsunuz" sorusuna örnek bir sayı yazıyorum ve if (onay =="Evet") i görmezden gelip direk "else" e atıyor. fgets ve get_s gibi fonksiyonları da denedim ama yapamadım. yardımcı olursanız sevinirim.

#include
#include
#include


int main(){
       
        setlocale(LC_ALL, "Turkish");
       
char isim[5]="Ali";
int parola=1234;
char istenecekisim[10];
int istenecekparola;
int bakiye=100;
int secim;
int yatirilacakpara;
int cekilecekpara;
char onay[5];
int cikis;
printf("Mobil Bankamatiğe Goşgeldiniz\nLütfen Kullanıcı Adınızı Giriniz\n");
scanf("%s",&istenecekisim);

printf("Lütfen Şifrenizi giriniz\n");
scanf("%d",&istenecekparola)        ;

if(strcmp(isim,istenecekisim)==0 && istenecekparola==parola){
       
       
        printf("Kullanıcı bilgileri eşleşmiştir");
        printf("\nİşlem seçiniz\n[1] Para yatırma\n[2] Para çekme\n[3] Kullanıcı bilgilerini gör");
        scanf("%d",&secim);
       
        if (secim == 1){
               
                printf("Ne kadar para yatıracaksınız?\n");
                scanf("%d",&yatirilacakpara);
                bakiye=bakiye+yatirilacakpara;
                //bakiye +=yatirilacakpara; ikisi de aynı anlamdadır. ikisi de bakiye güncelelr.
               
                printf("Para yatırma işleminiz başarılı\nŞuan ki bakiyeniz: %d\nYatırılan miktar: %d",bakiye,yatirilacakpara);                       
        }
       
        else if (secim==2){
               
        printf("Ne kadar para çekmek istiyorsunuz?\n");
        scanf("%d",&cekilecekpara);
        bakiye=bakiye-cekilecekpara;
        printf("%d Tl çekilecek. İşlemi onaylıyor musunuz(Evet/Hayır)?",cekilecekpara);
    gets(onay);
   
                if (onay  =="Evet" ){
                       
                        printf("Çektiğiniz miktar: %d TL\nGüncel Bakiye: %d TL",cekilecekpara,bakiye);
                        printf("\nÇıkış yapmak için şifrenizi giriniz\n");
                        scanf("%d",&cikis);
                       
                }
               
                else {
                       
                       
                        printf("İşleminiz iptal edildi. Yeni İşlem İçin Yeniden Başlatınız");
                        printf("\nÇıkış yapmak için şifrenizi giriniz\n");
                        scanf("%d",&cikis);
                       
                       
                }
               
          
        }
       
       
}
       
else {
       
        printf("Kullanıcı adı veya şifreyi yanlış girdiniz");
               
}
       
        return 0;
}

White-Fox
19-02-2021, 10:54   |  #2  
White-Fox avatarı
Yıllanmış Üye
Teşekkür Sayısı: 155
1,103 mesaj
Kayıt Tarihi:Kayıt: Eyl 2010

strcmp()'yi kullanacaksın. == operatörü iki char pointer aynı yeri mi point ediyor diye kontrol etmeye kalkar çünkü :) strcmp iki string değerini karşılaştırır eşit ise 0, değilse 0 olmayan bir değer döner. Kolay gelsin...

Son Düzenleme: White-Fox ~ 19 Şubat 2021 11:42