problems with "else"

Nov 8, 2017 at 5:38pm
problem is that i cant get my "else" to work. i tryed it with only the if and got it kinda working. after you put your lenght in, it jumps to "what is your name" and the tells if bmi is goo or bad and then to "press any key to continue...."

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
 #include <iostream>
#include <string>

using namespace std;

int name, meter, kg;
long bmi;

int main()
{
	

	cout << "vad är din vikt i KG?:    "; //whats your weight
	cin >> kg;

	cout << "Hur lång är du i meter:    "; //whats your height in meters
	cin >> meter; 

	cout << "Och slutligen vad är dit namn:    "; //and finally whats your name
	cin >> name;
	

	bmi = (meter*meter) / kg;

	while(true);
	{
		if (bmi < 35);
		{
			cout << "not so good";
		}
		else  //"else" getting redlined
		{
			cout << "great";
		}
	}


	system("pause");
	return 0;
}
Nov 8, 2017 at 5:41pm
The problem is on line 27, you put a semicolon after the if statement which is the cause of the error you are experiencing with your else statement. Remove the semicolon at the end of that line and your else statement should work.

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
 #include <iostream>
#include <string>

using namespace std;

int name, meter, kg;
long bmi;

int main()
{
	

	cout << "vad är din vikt i KG?:    "; //whats your weight
	cin >> kg;

	cout << "Hur lång är du i meter:    "; //whats your height in meters
	cin >> meter; 

	cout << "Och slutligen vad är dit namn:    "; //and finally whats your name
	cin >> name;
	

	bmi = (meter*meter) / kg;

	while(true);
	{
		if (bmi < 35) //there was a semicolon here causing the error
		{
			cout << "not so good";
		}
		else  //"else" getting redlined
		{
			cout << "great";
		}
	}


	system("pause");
	return 0;
}
Nov 8, 2017 at 9:23pm
Note: You have the same issue on line 25 with your while statement.
Nov 9, 2017 at 8:16am
it fixed it thanx..
now it goes on a endles loop saying "not so goodnot so goodnot so good"
Nov 9, 2017 at 12:21pm
The while loop condition of true is never changed, so there's an infinite loop. Do you need a loop? Are they supposed to be able to input details for multiple people?

Why declare global variables at lines 6 and 7 instead of declaring them locally in the main function?
Nov 9, 2017 at 12:31pm
remove your while and it will work fine.
Last edited on Nov 9, 2017 at 12:31pm
Topic archived. No new replies allowed.