/* 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
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.
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"; }
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.
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