Ik moet voor school een progje monteren die vraagt om drie getallen en deze vervolgens van groot naar klein op het scherm zet.
Nu ben ik hier al een tijd mee bezig, maar ik krijg het niet goed werkend.
Dit heb ik gemaakt:
Het probleem is dat getal2 soms door getal1 of getal3 wordt vervangen?
Hier een paar combinaties:
Getal1: 1
Getal2: 2
Getal3: 3
Uitkomst: 3 - 3 -1
Getal1: 3
Getal2: 2
Getal3: 1
Uitkomst: 3 - 3 -1
Getal1: 2
Getal2: 3
Getal3: 1
Uitkomst: 3 - 2 -1 (dit is dus wel goed)
Getal1: 1
Getal2: 3
Getal3: 2
Uitkomst: 3 - 2 -1 (dit is dus wel goed)
Dus als getal2 de grootste is werkt het, anders niet.
Ik kan de fout nergens vinden, en ik kan het ook niet opzoeken want ik weet ook niet wat de fout is.
Iemand een idee waar het aan kan liggen of hoe dit komt?
(ik ben een C++ n00b dus vandaar de voor jullie waarschijnlijk omslachtige lap tekst
)
Nu ben ik hier al een tijd mee bezig, maar ik krijg het niet goed werkend.
Dit heb ik gemaakt:
C:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
| #include <iostream.h> void main() { int getal1, getal2, getal3, uitkomst1, uitkomst2, uitkomst3, qwe1; //declareer getal1 t/m 3 en uitkomst1 t/m 3 en qwe1 cout << "Geef getal 1: "; //schrijf "Geef getal 1: " cin >> getal1; //zet getal in getal1 cout << "Geef getal 2: "; //schrijf "Geef getal 1: " cin >> getal2; //zet getal in getal2 cout << "Geef getal 3: "; //schrijf "Geef getal 1: " cin >> getal3; //zet getal in getal3 if (getal1 > getal2) uitkomst1 = getal1, qwe1 = 0; else uitkomst1 = getal2, qwe1 = 1; //kijk of getal 1 groter is dan getal2 en zet de grootste in uitkomst1 en geef qwe1 de juiste waarde if (uitkomst1 < getal3) uitkomst1 = getal3, qwe1 = 2; //kijk of uitkomst1 groter is dan getal3 en geef e.v.t qwe1 een andere waarde //uitkomst1 is altijd de grootste if (qwe1 = 0) goto A; //als qwe1 0 is ga naar A if (qwe1 = 1) goto B; //als qwe1 1 is ga naar B if (qwe1 = 2) goto C; //als qwe1 2 is ga naar C A: if (getal2 > getal3) uitkomst2 = getal2, uitkomst3 = getal3; else uitkomst2 = getal3, uitkomst3 = getal2; //kijk of getal2 groter is dan getal3 en ze de grootste in uikomst2 en de kleinste in uikomst3 goto Z; //ga naar Z B: if (getal1 > getal3) uitkomst2 = getal1, uitkomst3 = getal3; else uitkomst2 = getal3, uitkomst3 = getal1; //kijk of getal1 groter is dan getal3 en ze de grootste in uikomst2 en de kleinste in uikomst3 goto Z; //ga naar Z C: if (getal1 > getal2) uitkomst2 = getal1, uitkomst3 = getal2; else uitkomst2 = getal2, uitkomst3 = getal1; //kijk of getal1 groter is dan getal2 en ze de grootste in uikomst2 en de kleinste in uikomst3 Z: cout << "Dit zijn de getallen van groot naar klein: " << uitkomst1 << " - " << uitkomst2 << " - " << uitkomst3; //geef ge getallen weer van groot naar klein cin.get(); cin.get(); } |
Het probleem is dat getal2 soms door getal1 of getal3 wordt vervangen?
Hier een paar combinaties:
Getal1: 1
Getal2: 2
Getal3: 3
Uitkomst: 3 - 3 -1
Getal1: 3
Getal2: 2
Getal3: 1
Uitkomst: 3 - 3 -1
Getal1: 2
Getal2: 3
Getal3: 1
Uitkomst: 3 - 2 -1 (dit is dus wel goed)
Getal1: 1
Getal2: 3
Getal3: 2
Uitkomst: 3 - 2 -1 (dit is dus wel goed)
Dus als getal2 de grootste is werkt het, anders niet.
Ik kan de fout nergens vinden, en ik kan het ook niet opzoeken want ik weet ook niet wat de fout is.
Iemand een idee waar het aan kan liggen of hoe dit komt?
(ik ben een C++ n00b dus vandaar de voor jullie waarschijnlijk omslachtige lap tekst