Arama butonu
Bu konudaki kullanıcılar: 1 misafir
5
Cevap
874
Tıklama
0
Öne Çıkarma
C++ main.exe hatasi
Z
11 yıl
Teğmen
Konu Sahibi

#include <iostream> 

/* 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



K
11 yıl
Yüzbaşı

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.


Bu mesaja 1 cevap geldi.

Bu mesajda bahsedilenler: @ZemberekKuşu
Z
11 yıl
Teğmen
Konu Sahibi

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


Bu mesaja 1 cevap geldi.

Bu mesajda bahsedilenler: @kirmik
K
11 yıl
Yüzbaşı

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;
}


Bu mesaja 1 cevap geldi.
Z
11 yıl
Teğmen
Konu Sahibi

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


Bu mesaja 1 cevap geldi.

Bu mesajda bahsedilenler: @kirmik
K
11 yıl
Yüzbaşı

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.



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.