Submit pseudocode for the following programming exercise:

Fat Gram Calculator

Design a program that asks for the number of fat grams and calories in a food item. Validate the input as follows:

- Make sure the number of fat grams and calories are not less than 0.

- According to nutritional formulas, the number of calories cannot exceed fat grams X 9. Make sure that the number of calories entered is not greater than fat grams x 9.

Once correct data has been entered, the program should calculate and display the percentage of calories that come from fat. Use the following formula:

Percentage of calories from fat = (fat grams x 9) / calories

Some nutritionists classify a food as low fat if less than 30 percent of its calories come from fat. If the results of this forumlas are less than 0.3, the program should display a message indicating the food is low in fat.

5 answers

I'll give you a headstart:

Input:
input fat_grams;
input calories;

Validate:
- Make sure the number of fat grams and calories are not less than 0.
- the number of calories cannot exceed fat grams X 9.

Calculations:
- Percentage of calories from fat = (fat grams x 9) / calories
- is it low-fat?

Output:
- Print input data
- print output information
my while loop will not work for this, it is, while fatGrams < 0 or calories < 0 or calories > fatGrams * 9
typically one would code like this:

do{
print: instructions;
enter fatGrams;
enter calories;
}while(data unsatisfactory);

So that it would request data at least once.
Do
Display Error: "Error: The number of calories and fat grams cannot be less than 0. The number of calories cannot be greater than fat grams * 9."
Display "Enter the correct number of calories."
Input calories
Display "Enter the correct number of fat grams."
Input fatGrams
While fatGrams > 0 and calories > 0 and calories < fatGrams * 9

the while part was just a while loop i originally did and it worked

it would also work with a do-while loop like what i typed above?
Basically, yes, it works.

From the user's point of view, it does not seem logical to see "Error,..." before he types in anything.

I would replace the "error" message with an insisting message, such as:

"Please enter non-negative values for ...., and ensure that ...< 9*..."

It would be nicer, of course, to insert a message indicating an error for the second time around, such as:

If (count greater than 1) Display "Sorry, there is an error in the input. Please follow the instructions carefully."

For this, you'll need a counter called count that was set to 1 before entering the loop, and incremented by 1 at the end of the loop.