Kezdőoldal » Számítástechnika » Programozás » Miért nem működik ez a C++...

Miért nem működik ez a C++ program? (2) (forráskód lent)

Figyelt kérdés

#include <cstdio>

#include <cstdlib>

#include <iostream>


using namespace std;


int main (int nNnumberofArgs, char* pszArgs[])

{

double a;

double b;

double terulet;

double kerulet;

terulet = a * b;

kerulet = 2 *(a + b);


cout << "Irja be a szelesseget: " ;

cin >> a;

cout << "Irja be a magassagot: " ;

cin >> b;


cout << "A teglalap kerulete: " ;

cout << kerulet << endl ;

cout << "A teglalap terulete: " ;

cout << terulet ;


system ("PAUSE") ;

return 0 ;

}


Én írtam ki ezt: http://www.gyakorikerdesek.hu/szamitastechnika__programozas_..

a kérdést is.

Ezt a programot már teljesen egyedül írtam. Itt az a probléma, hogy a terület, és a kerület valami iszonyat nagy szám, akkor is, ha az a és a b változót rendre 2-nek és 3-nak adom meg.


2011. jún. 5. 13:44
 1/3 anonim ***** válasza:

Azelőtt használod a változókat, mielőtt definiálnád őket.

Előbb kérd be a számokat, és azután szorozd össze őket.

Ilyenkor az történik, hogy a változóknak csak lefoglalódik egy memóriarész, azonban ez csak véletlenszerű (korábbi) értékeket tartalmaz, ha ezt összeszorzod, véletlenszerű eredményeket kapsz.

Vagy pedig tedd egy függvénybe a területet és a kerületet.

2011. jún. 5. 13:55
Hasznos számodra ez a válasz?
 2/3 anonim ***** válasza:

Alapból kerület és a terület akkor kap értéket, amikor nincs még a + b-t nem olvastad el, és nem kapott értéket. Ezután hiába olvastatod be, nem fogja felülírni az a + b értékét.

Életből vett példa:

Boltban vásárolsz, mondják, hogy

3250 + 6750 forint a két árud, ezt összeadják = 10000

Most hiába mondanád, hogy jó, akkor fizetés után átárazom a-t, illetve b-t, az nem lenne kihatással a számlád végösszegére, mert egyszer már kifizetted.

És az én boltos példám még azért jobb, mint amit te csináltál, mert te két memóriaterületen lévő kezdőérték nélküli számot adtál össze, tehát azt, ami éppen ott van.

2011. jún. 5. 13:58
Hasznos számodra ez a válasz?
 3/3 A kérdező kommentje:
Köszönöm szépen a részletesen kifejtett válaszokat. Megkaptátok a zöld kezecskét :)
2011. jún. 5. 14:51

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!