Gegroet,
Ik heb wat moeilijkheden bij een opdracht voor school.
Ik moet een programma schrijven waar de user max. 20 floats kan invoeren.
Daarna worden de ingevoerde floats weergegeven.
Als er vroegtijdig een 0 (nul) ingegeven wordt, worden de reeds ingevoerde floats weergegeven en wordt het programma beëindigd.
Als er echter geen getal word ingevoerd, moet het programma zonder meer eindigen.
Dit is mijn code tot nu toe
Het enige wat ik nu nog nodig heb is het herkennen van "geen invoer".
Als ik het programma start en op <Enter> druk bij een invoer, gaat de cursor echter gewoon naar de volgende lijn, terwijl ik dacht dat het programma <Enter> ook zou herkennen als Foutieve Invoer...
Iemand enige suggesties?
Ik heb wat moeilijkheden bij een opdracht voor school.
Ik moet een programma schrijven waar de user max. 20 floats kan invoeren.
Daarna worden de ingevoerde floats weergegeven.
Als er vroegtijdig een 0 (nul) ingegeven wordt, worden de reeds ingevoerde floats weergegeven en wordt het programma beëindigd.
Als er echter geen getal word ingevoerd, moet het programma zonder meer eindigen.
Dit is mijn code tot nu toe
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
44
45
46
47
48
| #include <stdio.h> int main(void) { float nrs[20]; int i, res, check; char c = 'a'; int aantal = 20; for(i = 0; i < aantal; i++) // zet alle cellen van nrs[] op 0 { nrs[i] = 0; } for(i = 0; aantal--; i++) { check = 1; while(check) { printf("Geef getal nr. %d in : ", i+1); res = scanf("%f%c", &nrs[i], &c); if(res != 2 || c != '\n') // test op juiste invoer { printf("Foutieve invoer!\n"); scanf("%*[^\n]%*c"); } else { check = 0; } } if(nrs[i] == 0) // als er een 0 ingevoerd wordt { check = 0; break; } } aantal = 20 - aantal; for(i = 0; i < aantal; i++) // print heel nrs[] { printf("Getal %d : %f\n", i+1, nrs[i]); } return 0; } |
Het enige wat ik nu nog nodig heb is het herkennen van "geen invoer".
Als ik het programma start en op <Enter> druk bij een invoer, gaat de cursor echter gewoon naar de volgende lijn, terwijl ik dacht dat het programma <Enter> ook zou herkennen als Foutieve Invoer...
Iemand enige suggesties?