Arama butonu
Bu konudaki kullanıcılar: 2 misafir, 2 mobil kullanıcı
1
Cevap
1011
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.

DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.

Üye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.

Üye Ol Şimdi Değil