TRY

Tam Versiyon: C++ class (sınıf) yapısı soru
Şu anda tam olmayan bir versiyonun içeriğine bakıyorsunuz. Tam versiyona bakınız.
<div id="post_message_19191272"> arkadaşlar merhaba.
c++ da yeniyim, sınıfları ögreniyorum.
şöyle bir problem var:

Bir helikopterin yakıt deposunun hesabı. sadece sınıflar kullanılarak yapılacak. 4 tane manevra var. ana menüde manevra giriniz sorucak ve girilen manevranın hesaplaması yapılacak. Kullanıcı istediği kadar manevra girebilir. En sonunda ana menüdeki "yakıt hesapla" kısmı girildiği zaman toplam nekadar yakıt eklenmesi gerektiği yazacak.
Şöyle bir çalışmam oldu ancak ilerletemedim. Yardımcı olabilirmisinz?

<div style="margin:20px; margin-top:5px"> [code]#include #include #include using namespace std;class helikopter { float result; public: void askidaucus(float zaman, float yakit); void yukselme(float bitis, float baslangic, float hiz, float yakit); void alcalma(float bitis, float baslangic, float hiz, float yakit); void duzucus(float mesafe, float hiz, float yakit); void hesapla();};void helikopter::askidaucus(float zaman, float yakit){ result += zaman * yakit * 60;}void helikopter::yukselme(float bitis, float baslangic, float hiz, float yakit){ result += (bitis-baslangic)/hiz * yakit;}void helikopter::alcalma(float bitis, float baslangic, float hiz, float yakit){ result += (baslangic-bitis)/hiz * yakit;}void helikopter:Big Grinuzucus(float mesafe, float hiz, float yakit){ result += mesafe/hiz * yakit;}void helikopter::hesapla(){ cout
<div id="post_message_19198675"> programda sınıf cinsinden oluşturulan nesne ismi ile değişken ismi aynı olduğundan hata veriyordu. birde if bloklarından sonra gelen alanlar tam olarak belirtilmediğinden hata veriyordu. onun dışında sınıflara giriş olarak güzel bir örnek diyebilirizBig Grin
programı biraz düzelttim. buyrun kodlar:
<div style="margin:20px; margin-top:5px"> [code]#include #include #include using namespace std;class helikopter { float result; public: void askidaucus(float zaman, float yakit); void yukselme(float bitis, float baslangic, float hiz, float yakit); void alcalma(float bitis, float baslangic, float hiz, float yakit); void duzucus(float mesafe, float hiz, float yakit); void hesapla();};void helikopter::askidaucus(float zaman, float yakit){ result += zaman * yakit * 60;}void helikopter::yukselme(float bitis, float baslangic, float hiz, float yakit){ result += (bitis-baslangic)/hiz * yakit;}void helikopter::alcalma(float bitis, float baslangic, float hiz, float yakit){ result += (baslangic-bitis)/hiz * yakit;}void helikopter:Big Grinuzucus(float mesafe, float hiz, float yakit){ result += mesafe/hiz * yakit;}void helikopter::hesapla(){ cout
uf dogru nasıl göremem Big Grin teşekkür ederim
burda result sonucu niye doğru yanıtı vermiyor? Big Grin
yani "yakıt hesapla" ya bastıgımız zaman hiç manevra girmemiş olsakta sürekli -1.07374e+008kg/saniye sonucunu veriyor?

hqn13 Yazan:
burda result sonucu niye doğru yanıtı vermiyor? Big Grin
yani "yakıt hesapla" ya bastıgımız zaman hiç manevra girmemiş olsakta sürekli -1.07374e+008kg/saniye sonucunu veriyor?

çünkü debug modundasın, değişkenlere hiçbir değer atamazsan onlarda devamlı olarak en düşük değerini alır, bu yüzden kesinlikle nesnedeki construcda bütün değişkenleri sıfırlamanı tavsiye ederim, peki sıfırlamazsan ne olur? release modunda derlediğinde değişkenler en düşük değerini değil, programı her çalıştırdığında kendi kendilerine herhangi bir değeri alabilir, yani 316 değerini kendi kendine alabilir ve bu senin programının yanlış işler yapmasına neden olabilir(şayet sayıların değerine göre karar veriyorsan) hatayı problemi hiçbir zaman bulamazsın çünkü bu hata değil sonuçtur, debug modu sadece hataları bulur sonuçları değil

kolay gelsin

teşekkür ederim. Evet değerleri başta sıfırladım herşey düzeldi. İlgilendiğiniz için saolun..
ne ilginc ya bi anlayamadım su programlama işlerini Smile
Referans URL