Go4Expert

Go4Expert (http://www.go4expert.com/)
-   C++ (http://www.go4expert.com/forums/cpp/)
-   -   while loop and nested if statement problems (http://www.go4expert.com/forums/loop-nested-statement-t16651/)

Gaylle 25Mar2009 00:35

while loop and nested if statement problems
 
hi everyone. hope u'r all doin great 2day. i'm trying to a prob i have with loops
so far the code i've writtin was successfully built but my answers are not right . cld somebody please check this code and tell me why i'm getting wrong answers with it?

Code:

#include "stdafx.h"
#include <iostream>
#include <iomanip>
using namespace std;



int _tmain(int argc, _TCHAR* argv[])
{
    //declarations
    int operation;
    double CirRadius, CirArea, Base, Height, TriArea;
    const double PI = 3.14159;

    // menu
    cin >> operation;
    while (operation !=4)
    {
        if (operation == 1)
        {
            cin >> CirRadius;
              CirArea = PI * CirRadius * CirRadius;
            cout<<"The area of a circle with radius "<<CirRadius<<" is " <<setprecision(4)<<CirArea<<'\n\n';
            cin >> operation;
        }
        else if (operation == 2 || operation == 3)
        {
            cin >> Base;
            cin >> Height;
            TriArea = 0.5 * Base * Height;
            cout<<"The area of a triangle with base "<<Base<<" and height "<<Height<<" is "<<TriArea<<'\n\n';
            cin >> operation;
        }
        else if (operation == 5 || operation == 7)
        {
            cout<<"Error: "<<operation<<" is not a valid operation.\n\n";

        }
       
    }

    return 0;
}

heres the whole question

Geometry Calculator:
* Use nested if-else statements for all decision making in the program.
* Declare PI as a double constant with value 3.14159
* Use a while loop to repeat until the user types a 4 as shown below. If the operation code is not 1 through 4, then print an error message and go to the next data item.
* If a negative data value is entered by the user (or read from file), make it positive and use it.
* Use double for all your data variables and print all values with 4 decimal places.
* When the operation is 4, print "Thank you for using my calculator" and end the program.
* In the data given, the first figure is the operation value. An operation value of 1 refers a circle and the next value is the radius. An operation value of 2 or 3 refers to a triangle and the values after it are the base and height of the triangle. Operation values of 5 and 7 should show error messages

Code:

int operation;
// display the menu
cin >> operation;
while (operation != 4)
{
    // put your calculations here
    // display the menu
    cin >> operation;
}

OPERATIONS & DATA VALUES

1 4.58
2 6.34 5.8
3 7 -13
5
2 -6 19.4443
3 81.8 0.543
1 -8976
7
2 12.58 3
4

After you have the program running on the screen, change the I/O to file I/O. Your output should be as shown in the sample below, with a blank line between each output:

The area of a circle with radius 4.5800 is 14.3885
Error: 5 is not a valid operation
The area of a triangle with base 7.0000 and height 13.0000 is 45.5000
Thank you for using my calculator

xpi0t0s 25Mar2009 05:25

Re: while loop and nested if statement problems
 
Have you solved this one as well and are about to make another post with the next bit?
Or are you really stuck this time?


All times are GMT +5.5. The time now is 06:49.