ok, eerst maar eens een stuk code:
Het probleem zit 'm dus in het volgende stukje:
Als ik een Y of een y invoert gaat ie toch de IF-blok in, wat dus NIET de bedoeling is!
Maar als ik dit stukje code verander in dit:
Doet het wel, althans als ik een kleine letter y invoer, bij een grote letter Y gaat ie dus wel weer IF-blok in, maar da 's logisch!
Wrom werkt dit niet ?
code:
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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
| #include <iostream>
#include <conio.h>
#include <math>
using namespace std;
void wissel(int &, int &);
int main(void)
{
bool isRechthoekigeDriehoek(int a, int b, int c);
char stop;
line1:
int k, l, m;
cout << "------------------ Created by NaturalBornKiller -------------------\n" << endl;
cout << "-------- Kijk of een driehoek een RECHTHOEKIGE driehoek is --------"<< endl;
cout << "\n*******************************************************************";
cout << "\nGeef de lengte k\t"; cin >> k;
cout << "\nGeef de lengte l\t"; cin >> l;
cout << "\nGeef de lengte m\t"; cin >> m;
cout << "\n*******************************************************************";
cout << "\n\nDe door u ingevoerde waarde: \n";
cout << "k = " << k << "\nl = " << l << "\nm = " << m << endl;
if (isRechthoekigeDriehoek(k, l, m))
cout << "\nDe lijnen vormen een rechthoekige driehoek" << endl;
else
cout << "\nDe lijnen vormen GEEN rechthoekige driehoek" << endl;
getch();
line2:
cout << "\n\nProgramma afsluiten? (Y/N)";
cin >> stop;
if (stop == 'n' || stop == 'N')
{
cout << "\n\n\n\n\n\n\n\n\n";
goto line1;
}
else if (stop != 'y' || stop != 'Y')
{
cout << "Toets Y voor YES of N voor NO";
goto line2;
}
return 0;
}
bool isRechthoekigeDriehoek(int a, int b, int c)
{
int h;
if (a < b) wissel(a, b);
if (a < c) wissel (a, c);
if (a * a == pow(b, 2.0) + c * c) return true;
return false;
}
void wissel(int &d, int &e)
{
int h;
h = d; d = e; e= h;
} |
Het probleem zit 'm dus in het volgende stukje:
code:
1
2
3
4
5
| else if (stop != 'y' || stop != 'Y')
{
cout << "Toets Y voor YES of N voor NO";
goto line2;
} |
Als ik een Y of een y invoert gaat ie toch de IF-blok in, wat dus NIET de bedoeling is!
Maar als ik dit stukje code verander in dit:
code:
1
2
3
4
5
| else if (stop != 'y')
{
cout << "Toets Y voor YES of N voor NO";
goto line2;
} |
Doet het wel, althans als ik een kleine letter y invoer, bij een grote letter Y gaat ie dus wel weer IF-blok in, maar da 's logisch!
Wrom werkt dit niet ?