Programlamaya yeni başalyanların sık sık karşılaştığı hataları açıklamaya çalışacağız programlama dilleri farklı olsa bile genel uyulması gereken kurallar aynıdır. ;
- Tanımlanmayan değişken kullanımı ;
int main()
{
cin>>x;
cout<<x;
}
bu kodu derlediğinizde Undeclared Variables hatası alırsınız. Çünkü derleyici x in ne olduğunu bilmiyor. aşağıdaki gibi değiştiiryoruz
int main()
{
int x;
cin>>x;
cout<<x;
}
- Döngüye sokulan değişkenin ilk değeri olmaması;
int count;
while(count<100)
{
cout<<count;
}
burada da count ın degeri her sayı olabilir bu yüzden program döngüye giremiyor.
- Değeri olmayan değişkene atama yapmak
int a, b; int sum=a+b; cout<<"iki sayi girin: "; cin>>b; cout<<"toplam: "<<sum; çalıştıralım: 2 sayı girelim 1 ve 3 -1393 gibi sonuc çıkartır bilinmeyen rastgele bir sonuc üretir
bu programı a ve b değerlerini cin ile aldıktan sonra sum değişkenine atarsak hatayı çözebiliriz.
- Tek = ifadesi kullanamak döngülerde
c dilinde if while döngülerinde çift eşittir kullanılır çünkü tek eşittir atama işleminde kullanılır atama ve eşitlik kontrolünü ayrılması için küçük bir farktır.
char x='Y';
while(x='Y')
{
//...
cout<<"kodlarımız (Y/N)";
cin>>x;
}
while döngüsünü while(x==’Y') olarak değiştiriyoruz
- fazla işaret kullanılması: program yazarken sık sık sonunu ; ile bitiririz fakat döngülerin sonuna ; koymamalıyız (eğer döngüyü kendi içerisinde döndürmek istemiyorsak)
int x; for(x=0; x<100; x++); cout<<x;
kodu derlediğimizde 100 yazar çünkü döngü kendi içerisinde dönecek alt bloklara uğramayacak
- dizilerin sınırları dışına çıkılması: Dizilerin sıra numaraları 0 dan başlar yani 10 elemanlı bir dizi oluşturduğunuzda en fazla sayi[9] a değer aktarabilirsiniz
int array[10]; //... for(int x=1; x<=10; x++) // = kısmını kaldırarak hatayı çözebiliriz cout<<array[x];
- || ve && operatörlerinin yanlış kullanılması
int value;
do
{
//...
value=10;
}while(!(value==10) || !(value==20))
|| operatörünü kaldırıp ve operatörü koyuyoruz.
yuhubaa
23 Ekim 2009 at 15:44
Kullanan ve deneyen arkadaşların yorum ve önerilerini dinlemek isterim