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