C++ help needed

Status
Niet open voor verdere reacties.

Dennis0o

Nieuwe gebruiker
Lid geworden
5 dec 2009
Berichten
2
ik moet een programma schrijven die om 2 getallen vraagt en er dan het volgende mee doet:

Som van beide getallen
Verschil van beide getallen
Product van beide getallen
Kwadraat van het grootste getal

alles werkt op het kwadraat van het grootste getal na

error: Run-Time Check Failure #3 - The variable 'antwoord4' is being used without being initialized.
[cpp]
#include <iostream>
using namespace std;

int main()

{
int getal1, getal2, antwoord1, antwoord2, antwoord3, antwoord4, antwoord5;
cout <<"geef het 1e getal"<< endl;
cin >>getal1;
cin.get();

cout <<"geef het 2e getal"<< endl;
cin >>getal2;
cin.get();

antwoord1 = getal1 + getal2;
cout << "de som van " <<getal1 <<" en " <<getal2 <<" is " << antwoord1 << endl;

antwoord2 = getal1 - getal2;
cout << "het verschil tussen " <<getal1 <<" en " <<getal2 <<" is " << antwoord2 << endl;

antwoord3 = getal1 * getal2;
cout << "het product van " <<getal1 <<" en " <<getal2 <<" is " << antwoord3 << endl;

cout << "het kwadraat van " ;

if(getal1 > getal2)
antwoord4 = getal1 * getal1;
cout <<getal1 <<" is " << antwoord4 << endl;

if(getal2 > getal1)
antwoord5 = getal2 * getal2;
cout <<getal2 <<" is " << antwoord5 << endl;

cin.get();
return 0;
}
[/cpp]


wat doe ik fout?
 
Laatst bewerkt door een moderator:
[cpp]
if(getal1 > getal2)
antwoord4 = getal1 * getal1;
cout <<getal1 <<" is " << antwoord4 << endl;
[/cpp]

Er wordt enkel een waarde aan antwoord4 toegekend wanneer getal1 > getal2, maar antwoord4 wordt wel altijd gebruikt om naar het scherm te schrijven.

Een oplossing zou kunnen zijn om antwoord4 een initiële waarde te geven, of om antwoord4 enkel naar het scherm te drukken binnen het if-statement.

Oplossing 1:
[cpp]
int antwoord1 = 0, antwoord2 = 0, antwoord3 = 0, antwoord4 = 0, antwoord5 = 0;
// rest van de code
[/cpp]

Oplossing 2:
[cpp]
if(getal1 > getal2){
antwoord4 = getal1 * getal1;
cout <<getal1 <<" is " << antwoord4 << endl;
}[/cpp]
 
[cpp]
if(getal1 > getal2)
antwoord4 = getal1 * getal1;
cout <<getal1 <<" is " << antwoord4 << endl;
[/cpp]

Er wordt enkel een waarde aan antwoord4 toegekend wanneer getal1 > getal2, maar antwoord4 wordt wel altijd gebruikt om naar het scherm te schrijven.

Een oplossing zou kunnen zijn om antwoord4 een initiële waarde te geven, of om antwoord4 enkel naar het scherm te drukken binnen het if-statement.

Oplossing 1:
[cpp]
int antwoord1 = 0, antwoord2 = 0, antwoord3 = 0, antwoord4 = 0, antwoord5 = 0;
// rest van de code
[/cpp]

Oplossing 2:
[cpp]
if(getal1 > getal2){
antwoord4 = getal1 * getal1;
cout <<getal1 <<" is " << antwoord4 << endl;
}[/cpp]

misschien dat dit beter helpt

if(getal1 > getal2){
int antwoord4 = getal1 * getal1;
cout <<getal1 <<" is " << antwoord4 << endl;
}

antwoord 4 was niks in jouw code niks
 
antwoord 4 was niks in jouw code niks

Huh, hoe kom je daar nou bij? Zie regel 7 van de oorspronkelijke code
[cpp]int getal1, getal2, antwoord1, antwoord2, antwoord3, antwoord4, antwoord5;[/cpp]
 
Huh, hoe kom je daar nou bij? Zie regel 7 van de oorspronkelijke code
[cpp]int getal1, getal2, antwoord1, antwoord2, antwoord3, antwoord4, antwoord5;[/cpp]

sorry, ik zag het niet staan... ik dacht dat er alleen getal1,2 stond:P
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan