Arama butonu
Bu konudaki kullanıcılar: 1 misafir
1
Cevap
1009
Tıklama
0
Öne Çıkarma
C'de if-else sorunu
D
7 yıl
Teğmen
Konu Sahibi

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.



G
7 yıl
Yarbay

Ş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 >

DH Mobil uygulaması ile devam edin. Mobil tarayıcınız ile mümkün olanların yanı sıra, birçok yeni ve faydalı özelliğe erişin. Gizle ve güncelleme çıkana kadar tekrar gösterme.