Urgent question with my program regarding looping and setting limits.

How would I create a simple loop so that the person using this program (user) can keep inputting weights until they want to quit.

Also, I need trying to create a limit that the user can only enter in a certain range of numbers in the input. I want the user only to enter numbers between 0 and 1000. If they don't a error message should appear saying retry.

This is only my second code and it would mean alot to me if someone could lend me a hand.

Thanks in advance.

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
65
#include<iostream> 
#include<cmath>

using namespace std;

int CheckWeight(int weight, string Planet);

int main()
{
	int weight,res;
	string planetName;
	
	do{
		cout << "Please enter your weight of your object to the nearest whole number." <<endl;
		cin >> weight;}
	while(cin.good()==false);
	cout << " " << endl;
	do{ 
		cout << "Please enter a planet name from the following list." << endl;
		cout << "Mercury, Venus, Earth, Mars, Jupiter, Saturn, Uranus, Neptune" << endl;
		cin >> planetName;
		cout << " " << endl;
		// Call function to check weight
		res = CheckWeight(weight, planetName);
	}while(res==1);
	system("PAUSE"); //pauses the program
	return 0;
}// end main()

// Function for calculating weight

int CheckWeight(int weight, string Planet)
{
	int Result=0;
	if(Planet== "Mercury"){
		cout << "Your weight on Mercury is " << (weight*0.4155)<< endl;
	}
	else if(Planet== "Venus"){
		cout << "Your weight on Venus is " << (weight*0.8975)<< endl;
	}
	else if(Planet== "Earth"){
		cout << "Your weight on Earth is " << (weight*1.0)<< endl;
	}
	else if(Planet== "Mars"){
		cout << "Your weight on Mars is " << (weight*0.3507)<< endl;
	}
	else if(Planet== "Jupiter"){
		cout << "Your weight on Jupiter is " << (weight*2.5374)<< endl;
	}
	else if(Planet== "Saturn"){
		cout << "Your weight on Saturn is " << (weight*1.0677)<< endl;
	}
	else if(Planet== "Uranus"){
		cout << "Your weight on Uranus is " << (weight*0.8947)<< endl;
	}
	else if(Planet== "Neptune"){
		cout << "Your weight on Neptune is " << (weight*1.1794)<< endl;
	}
	else{
		cout << "You entered a wrong planet name. Please try again " << endl;
		cout << "Please try again " << endl;
		Result=1;
	}
	return Result;
}
Um... what are you trying to do on line 16?

What I'd do is set weight to... let's say 1 at line 12, and repeat the do-while loop while weight is < 0 or > 1000.

Good luck!

-Albatross

Last edited on
Topic archived. No new replies allowed.