Şimdi Ara

C'de if-else sorunu

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir (1 Mobil) - 1 Masaüstü1 Mobil
5 sn
3
Cevap
0
Favori
899
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • uğraştığım bir proje ödevinde if'ten sonraki else if'in içindeki ifade yanlış olsa dahi gerçekleştiriyor.
    do
    {
    system("cls"); // ekranı temizleme
    printf("toplanan parcaciklar:") ; // toplanan parçacıkları yazdırıyor
    for(i=0;i<=sayac;i++)
    printf("%c",toplananlar[i]);
    for (i=0; i<n; i++) //labirent ekrana yazdırılıyor
    {
    printf("\n");
    for(k=0;k<m;k++)
    printf("%c",Lab[i][k]);
    }
    printf("\nHamleniz bekleniyor");
    a = getch();
    if(a=='M') //eğer sağ oka basılırsa
    {

    if(Lab[konumy][konumx+1]!='1') //eğer sağında duvar(1) yoksa
    {
    konumx++;
    Lab[basy][basx]='G'; // Başlangıç noktasındaki X'in yerine G(iriş) atandı;

    hamle=hamle+1;
    if(Lab[konumy][konumx]=='K') //eğer sağında kara delik varsa
    {
    system("cls");
    printf("\n\tKARADELIK\n");
    break;
    }
    if(Lab[konumy][konumx]!='0') //eğer yolda atomaltı parçacık varsa
    {
    toplananlar[sayac]=Lab[konumy][konumx];
    sayac++;
    } // sadece yol varsa
    if(hamle>1)
    Lab[konumy][konumx-1]='0'; // geçtiği nokta 0 oldu
    Lab[konumy][konumx]='X'; // gittiği noktayı X ile işaretliyor
    }
    else if (Lab[konumy][konumx+1]=='1') // eğer sağında duvar varsa
    {
    for (i=0; i<n; i++) //labirent ekrana yazdırılıyor
    {
    printf("\n");
    for(k=0;k<m;k++)
    printf("%c",Lab[i][k]);
    }
    }
    }
    else if(a=='K'); // Sol ok tuşuna basılırsa
    {
    printf("yanlıs burada");
    sleep(1);
    }

    } while((konumy==cikisy&&konumx==cikisx)!=1);


    Bu kod örneğinde sağa basılsa dahi sola bastığımda yapılması gereken komutları da yerine getiriyor. Herhangi bir sorun göremedim ben ama bilen arkadaşlar bir incelerlerse sevinirim.







  • Şu şekilde kullanınca düzeliyor.



    while (1)
    {
    a = _getch();

    if (a == 77)
    {
    cout << "merhaba";
    }
    else if (a == 75) {
    cout << "selam";
    }
    }



    < Bu mesaj bu kişi tarafından değiştirildi Guest-DA02D78F4 -- 23 Aralık 2018; 18:43:9 >
  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.