/* run this program using the console pauser or add your own getch, system("pause") or input loop */ using namespace std;
int main() { int x; cout<<"enter a number\n"; cin>>x; if(x%3==0) if(x%2==0) cout<<x<<" is divisible by 6"; else { cin>>x; if(x%3==0) if(x%!2==0) cout<<x<<" is divisible by 3"; } else cout<<x<<" is not divisible by 3 and 6";
return 0; }
basit bir işlem ile başladim fakat 0 sıfıri nasil defined olabilecek hale getirecem birde 21 yazinca program main.exe hatasi veriyor nedendir acaba
yardimlarinizi bekliyorum
ZemberekKuşu
kullanıcısına yanıt
0'ı defined hale getirmek derken? 0 girilirse ne olur diye soruyorsan if(x==0) cout<<"number is zero"<<endl;
diyebilirsin.
main.exe hatasının ne demek olduğunu tam anlamadım ama muhtemelen bir exception atıyor. o da ihtimal ki şundan: if(x%!2==0) yerine if(x%2!=0) olmalı. bir de else içinde x i niye bir daha alıyorsun ki? bi kere almışsın zaten.
kirmikK
kullanıcısına yanıt
hocam çaliştir diyince sadece zero yani sıfır değeri yok deniyor dediğiniz gibi onuda tanitinca sorun kalmiyor teşekkürler fakat
21 için halen sorun devam ediyor her nedense
bilemedim... ama kod şöyle daha düzgün oldu. şu curly bracketları kullanmayı alışkanlık haline getirin bence yoksa kafa çok karışıyor
#include <iostream>
using namespace std;
int main() { int x; cout<<"enter a number\n"; cin>>x; if(x==0) { cout<<x<<" is zero"; } else if(x%3==0) { if(x%2==0) { cout<<x<<" is divisible by 6"; } else { cout<<x<<" is divisible by 3"; } } else { cout<<x<<" is not divisible by 3 and 6"; }
return 0; }
kirmikK
kullanıcısına yanıt
hocam peki rahatsiz ediyorumda son birşey sorucam
bracketları kullanmişsinizda onlari single statement lar icin kullanmak mantikli mi single icin kullanilmayin diye vurguladi bizim hoca
vallahi kullanmanıza gerek yok. ama şahsi düşüncem okunabilirliği zorlaştırdığı yönünde. tabi ki şöyle bir şey varsa sadece kodun x bir yerinde:
if(x==0) return 0;
o kadar da gerek yok. ama özellikle iç içe ifler varsa, sonra else falan varsa o zaman kafa karışıyor. hadi bakalım bu else acaba ilk if'e mi ait oluyordu, yoksa ikinci if'e mi falan gibi. tamamen hakimsen ve kafan karışmıyorsa tamam ancak herkes öyle olmayabilir veya sen de alışkanlıklarını değiştirebilirsin zamanla. bu nedenle okunabilirlik önemli. bir kod 1 defa yazılır ama n defa okunur çoğu zaman.