Welcome Guest ( Log In | Register )



 
Reply to this topicStart new topic
> My First C++ Program: Area, Volume Etc. Calculator, My first program!
Simba49
post Jun 10 2007, 01:45 AM
Post #1


Newbie [ Level 2 ]
Group Icon

Group: Members
Posts: 16
Joined: 10-June 07
From: Fremont, California
Member No.: 22,514



CODE
//This program calculates the perimeter, area, surface area, or volume of any shape or solid.

#include <iostream>
#include <string>
#define PI 3.14159265359
using namespace std;


float psquare (float a)
{
return (4*a);
}

float prectangle (float w, float l)
{
return ((2*w)+(2*l));
}

float pparallelogram (float b, float h)
{
return ((2*b)+(2*h));
}

float ptrapezoid (float s, float t, float b)
{
return ((2*s)+b+t);
}

float pcircle (float r)
{
return (PI*r*2);
}

float pellipse (float r, float s)
{
return (PI*(r+s));
}

float ptriangle (float a, float b, float c)
{
return (a+b+c);
}


float asquare (float a)
{
return (a*a);
}

float arectangle (float l, float w)
{
return (l*w);
}

float aparallelogram (float b, float h)
{
return (h*b);
}

float atrapezoid (float t, float b, float h)
{
return (h/2*(t+b));
}

float acircle (float r)
{
return (PI*r*r);
}

float aellipse (float r, float s)
{
return (PI*r*s);
}

float atriangle (float b, float h)
{
return (b*h/2);
}



float scube (float a)
{
return (a*a*6);
}

float vcube (float a)
{
return (a*a*a);
}

float scylinder (float r, float h)
{
return ((2*PI*r*h)+(2*PI*(r*r)));
}

float vcylinder (float r, float h)
{
return (PI*(r*r)*h);
}

float scone (float r, float s)
{
return ((s*PI*r)+(PI*(r*r)));
}

float vcone (float r, float h)
{
return (1/3*PI*(r*r)*h);
}

float ssphere (float r)
{
return (4*PI*(r*r));
}

float vsphere (float r)
{
return (4/3*PI*(r*r*r));
}

float sprism (float B, float P, float h)
{
return ((2*B)+(P*h));
}

float vprism (float B, float h)
{
return (B*h);
}

float spyramid (float B, float s, float l, float n)
{
return (B+n*(1/2*s*l));
}

float vpyramid (float B, float h)
{
return (1/3*B*h);
}

float ppentagon (float a)
{
return (5*a);
}

float phexagon (float a)
{
return (6*a);
}

float apentagon (float a, float s)
{
return (a*s*5/2);
}

float ahexagon (float a, float s)
{
return (a*s*6/2);
}











int main ()

{
    dimension:
    string d, s, t, p;
    float x, y, z, h, perimeter, area, average;
    char n;
    cout <<"Is your shape 2D or 3D?:";
    cin >> d;


    
    if ( (d == "2d") || (d == "2D") || (d == "2") )
    
    
    {

        type:
        cout <<"Are you determining (perimeter or area)?:";
        cin >> t;
        if ( (t == "perimeter") || (t == "Perimeter") || (t == "p") || (t == "P") ) {t="perimeter";} else if ( (t == "Area") || (t == "area") || (t == "a") || (t == "A") ) {t="area";}
        if ( (t == "perimeter") || (t == "area") )
        {

            shape:
            cout <<"What shape is it \n(square, rectangle, parallelogram, trapezoid, circle, ellipse, triangle)?:";
            cin >> s;

            if ( (s == "Square") || (s == "square") || (s == "s") || (s == "S") ) {s="square";} else if ( (s == "Rectangle") || (s == "rectangle") || (s == "R") || (s == "r") ) {s="rectangle";} else if ( (s == "parallelogram") || (s == "Parallelogram") || (s == "p") || (s == "P") ) {s="parallelogram";} else if ( (s == "trapezoid") || (s == "Trapezoid") || (s == "trap") || (s == "Trap") ) {s="trapezoid";} else if ( (s == "Circle") || (s == "circle") || (s == "C") || (s == "c") ) {s="circle";} else if ( (s == "Ellipse") || (s == "ellipse") || (s == "E") || (s == "e") ) {s="ellipse";} else if ( (s == "triangle") || (s == "Triangle") || (s == "t") || (s == "T") ) {s="triangle";}
            if ( (s == "square") || (s == "rectangle") || (s == "parallelogram") || (s == "trapezoid") || (s == "circle") || (s == "ellipse") || (s == "triangle") )
            {
                if (s == "square")
                    { goto square;
                } else if (s == "rectangle")
                    { goto rectangle;
                } else if (s == "parallelogram")
                    { goto parallelogram;
                } else if (s == "trapezoid")
                    { goto trapezoid;
                } else if (s == "circle")
                    { goto circle;
                } else if (s == "ellipse")
                    { goto ellipse;
                } else if (s == "triangle")
                    { goto triangle;
                }


square:

                if (t == "perimeter")
                {
                cout <<"What is the length of a side?:";
                cin >> x;
                cout <<"The " << t << " of the " << s << " is " << psquare (x) << ".\n";
                goto end;
                }
                else if (t == "area")
                    {
                cout <<"What is the length of a side?:";
                cin >> x;
                cout <<"The " << t << " of the " << s << " is " << asquare (x) << ".\n";
                goto end;
                }

rectangle:

                if (t == "perimeter")
                {
                cout <<"What is the length of the rectangle?:";
                cin >> x;
                cout <<"\nWhat is the width of the rectangle?:";
                cin >> y;
                cout <<"The " << t << " of the " << s << " is " << prectangle (x,y) << ".\n";
                goto end;
                }
                else if (t == "area")
                    {
                cout <<"What is the length of the rectangle?:";
                cin >> x;
                cout <<"\nWhat is the width of the rectangle?:";
                cin >> y;
                cout <<"The " << t << " of the " << s << " is " << arectangle (x,y) << ".\n";
                goto end;
                }

parallelogram:

                    if (t == "perimeter")
                {
                cout <<"What is the base of the parallelogram?:";
                cin >> x;
                cout <<"\nWhat is the height of the parallelogram?:";
                cin >> y;
                cout <<"The " << t << " of the " << s << " is " << pparallelogram (x,y) << ".\n";
                goto end;
                }
                else if (t == "area")
                    {
                cout <<"What is the base of the parallelogram?:";
                cin >> x;
                cout <<"\nWhat is the height of the parallelogram?:";
                cin >> y;
                cout <<"The " << t << " of the " << s << " is " << aparallelogram (x,y) << ".\n";
                goto end;
                }

trapezoid:

                if (t == "perimeter")
                {
                cout <<"What is the length of the top?:";
                cin >> y;
                cout <<"\nWhat is the length of the bottom?:";
                cin >> z;
                cout <<"\nWhat is the length of th side?:";
                cin >> x;
                cout <<"The " << t << " of the " << s << " is " << ptrapezoid (x, y, z) << ".\n";
                goto end;
                }
                else if (t == "area")
                    {
                cout <<"What is the length of top?:";
                cin >> x;
                cout <<"\nWhat is the length of bottom?:";
                cin >> y;
                cout <<"\nWhat is the height of the trapezoid?:";
                cin >> z;
                cout <<"The " << t << " of the " << s << " is " << atrapezoid (x, y, z) << ".\n";
                goto end;
                }

circle:

                if (t == "perimeter")
                {
                cout <<"What is the radius of the circle?:";
                cin >> x;
                cout <<"The " << t << " of the " << s << " is " << pcircle (x) << ".\n";
                goto end;
                }
                else if (t == "area")
                    {
                cout <<"What is the radius of the circle?:";
                cin >> x;
                cout <<"The " << t << " of the " << s << " is " << acircle (x) << ".\n";
                goto end;
                }

ellipse:

                if (t == "perimeter")
                {
                cout <<"What is the first radius?:";
                cin >> x;
                cout <<"\nWhat is the second radius?:";
                cin >> y;
                cout <<"The " << t << " of the " << s << " is aproximately " << pellipse (x,y) << ".\n";
                goto end;
                }
                else if (t == "area")
                    {
                cout <<"What is the first radius?:";
                cin >> x;
                cout <<"\nWhat is the second radius?:";
                cin >> y;
                cout <<"The " << t << " of the " << s << " is " << aellipse (x,y) << ".\n";
                goto end;
                }

triangle:

                    if (t == "perimeter")
                {
                cout <<"What is the length of side1?:";
                cin >> y;
                cout <<"\nWhat is the length of side2?:";
                cin >> z;
                cout <<"\nWhat is the length of side3?:";
                cin >> x;
                cout <<"The " << t << " of the " << s << " is " << ptriangle (x, y, z) << ".\n";
                goto end;
                }
                else if (t == "area")
                    {
                cout <<"What is the base of the triangle?:";
                cin >> x;
                cout <<"\nWhat is the height of the triangle?:";
                cin >> y;
                cout <<"The " << t << " of the " << s << " is " << atriangle (x, y) << ".\n";
                goto end;
                }


            }
            else {
                goto shape;
            }

        }
        else {
            goto type;
        }
    } else if ( (d == "3d") || (d == "3D") || (d == "3") )
    
    
    {

        typ:
        cout <<"Are you determining (surfacearea or volume)?:";
        cin >> t;
        if ( (t == "surfacearea") || (t == "Surfacearea") || (t == "surface") || (t == "Surface") || (t == "s") || (t == "S") ) {t="surface area";} else if ( (t == "Volume") || (t == "volume") || (t == "v") || (t == "V") ) {t="volume";}
        if ( (t == "surface area") || (t == "volume") )
        {

            shap:
            cout <<"What shape is it \n(cube, prism, cylinder, pyramid, cone, sphere)?:";
            cin >> s;

            if ( (s == "Cube") || (s == "cube") || (s == "c") || (s == "C") ) {s="cube";} else if ( (s == "Prism") || (s == "prism") || (s == "P") || (s == "p") ) {s="prism";} else if ( (s == "cylinder") || (s == "Cylinder") || (s == "cy") || (s == "CY") ) {s="cylinder";} else if ( (s == "pyramid") || (s == "Pyramid") || (s == "PY") || (s == "py") ) {s="pyramid";} else if ( (s == "Cone") || (s == "cone") || (s == "CO") || (s == "co") ) {s="cone";} else if ( (s == "Sphere") || (s == "sphere") || (s == "S") || (s == "s") ) {s="sphere";}
            if ( (s == "cube") || (s == "prism") || (s == "cylinder") || (s == "pyramid") || (s == "cone") || (s == "sphere") )
            {
                if (s == "cube")
                    { goto cube;
                } else if (s == "prism")
                    { goto prism;
                } else if (s == "cylinder")
                    { goto cylinder;
                } else if (s == "pyramid")
                    { goto pyramid;
                } else if (s == "cone")
                    { goto cone;
                } else if (s == "sphere")
                    { goto sphere;
                }

cube:

                if (t == "surface area")
                {
                cout <<"What is the length of a side?:";
                cin >> x;
                cout <<"The " << t << " of the " << s << " is " << scube (x) << ".\n";
                goto end;
                }
                else if (t == "volume")
                    {
                cout <<"What is the length of a side?:";
                cin >> x;
                cout <<"The " << t << " of the " << s << " is " << vcube (x) << ".\n";
                goto end;
                }

cylinder:

                if (t == "surface area")
                {
                cout <<"What is the radius of the base?:";
                cin >> x;
                cout <<"\nWhat is the height of the cylinder?:";
                cin >> y;
                cout <<"The " << t << " of the " << s << " is " << scylinder (x, y)   << ".\n";
                goto end;
                }
                else if (t == "volume")
                    {
                cout <<"What is the radius of the base?:";
                cin >> x;
                cout <<"\nWhat is the height of the cylinder?:";
                cin >> y;
                cout <<"The " << t << " of the " << s << " is " << vcylinder (x, y)   << ".\n";
                goto end;
                }

cone:

                if (t == "surface area")
                {
                cout <<"What is the radius of the base?:";
                cin >> x;
                cout <<"\nWhat is the slant length of the cone?:";
                cin >> y;
                cout <<"The " << t << " of the " << s << " is " << scone (x, y)   << ".\n";
                goto end;
                }
                else if (t == "volume")
                    {
                cout <<"What is the radius of the base?:";
                cin >> x;
                cout <<"\nWhat is the height of the cone?:";
                cin >> y;
                cout <<"The " << t << " of the " << s << " is " << vcone (x, y)   << ".\n";
                goto end;
                }

sphere:

                if (t == "surface area")
                {
                cout <<"What is the radius of the sphere?:";
                cin >> x;
                cout <<"The " << t << " of the " << s << " is " << ssphere (x) << ".\n";
                goto end;
                }
                else if (t == "volume")
                    {
                cout <<"What is the radius of the sphere?:";
                cin >> x;
                cout <<"The " << t << " of the " << s << " is " << vsphere (x) << ".\n";
                goto end;
                }

prism:
                cout <<"What shape is the face of the " << s  <<"?\n";
                cout <<"(triangle, rectagle, pentagon, hexagon):";
                cin >> p;
                if ( (p == "triangle") || (p == "Triangle") || (p == "t") || (p == "T") ) {p="triangular";} else if ( (p == "Rectangular") || (p == "rectangular") || (p == "R") || (p == "r") ) {p="rectangular";} else if ( (p == "pentagon") || (p == "Pentagon") || (p == "P") || (p == "p") ) {p="pentagonal";} else if ( (p == "hexagon") || (p == "Hexagon") || (p == "H") || (p == "h") ) {p ="hexagonal";}
                if ( (p == "triangular") || (p == "rectangular") || (p == "pentagonal") || (p == "hexagonal") )
                {
                    if ((t == "surface area") && (p == "triangular"))
                    {
                        cout <<"What is the length of side1 of the triangle?:";
                        cin >> y;
                        cout <<"\nWhat is the length of side2 of the triangle?:";
                        cin >> z;
                        cout <<"\nWhat is the length of side3 of the triangle?:";
                        cin >> x;
                        cout <<"\nWhat is the height of the prism?:";
                        cin >> h;
                        perimeter = ptriangle (x, y, z);
                        cout <<"What is the base of the triangle?:";
                        cin >> x;
                        cout <<"\nWhat is the height of the triangle?:";
                        cin >> y;
                        area = atriangle (x, y);
                        cout <<"The " << t << " of the " << p << " " << s << " is " << sprism (area, perimeter, h)  << ".\n";
                        goto end;
                    }
                    else if ((t == "surface area") && (p == "rectangular"))
                    {
                        
                
                        cout <<"What is the length of the rectangle?:";
                        cin >> x;
                        cout <<"\nWhat is the width of the rectangle?:";
                        cin >> y;
                        cout <<"\nWhat is the height of the prism?:";
                        cin >> h;
                        perimeter = prectangle (y, x);
                        area = arectangle (x , y);
                        cout <<"The " << t << " of the " << p << " " << s << " is " << sprism (area, perimeter, h)  << ".\n";
                        goto end;
                    }
                    else if ((t == "surface area") && (p == "pentagonal"))
                    {
                        cout <<"What is the length of a side on the pentagon?:";
                        cin >> x;
                        cout <<"\nWhat is the measurement from the center of the pentagon to a side (apothem)?:";
                        cin >> y;
                        cout <<"\nWhat is the height of the prism?:";
                        cin >> h;
                        perimeter = ppentagon (x);
                        area = apentagon (y, x);
                        cout <<"The " << t << " of the " << p << " " << s << " is " << sprism (area, perimeter, h)  << ".\n";
                        goto end;
                    }
                    else if ((t == "surface area") && (p == "hexagonal"))
                    {
                        cout <<"What is the length of a side on the hexagon?:";
                        cin >> x;
                        cout <<"\nWhat is the measurement from the center of the hexagon to a side (apothem)?:";
                        cin >> y;
                        cout <<"\nWhat is the height of the prism?:";
                        cin >> h;
                        perimeter = phexagon (x);
                        area = ahexagon (y, x);
                        cout <<"The " << t << " of the " << p << " " << s << " is " << sprism (area, perimeter, h)  << ".\n";
                        goto end;
                    }
                    
                    
                    
                    else if ((t == "volume") && (p == "triangular"))
                    {
                    
                        cout <<"What is the base of the triangle?:";
                        cin >> x;
                        cout <<"\nWhat is the height of the triangle?:";
                        cin >> y;
                        cout <<"\nWhat is the height of the prism?:";
                        cin >> h;
                        area = atriangle (x, y);
                        cout <<"The " << t << " of the " << p << " " << s << " is " << vprism (area, h)  << ".\n";
                        goto end;
                    }
                    else if ((t == "volume") && (p == "rectangular"))
                    {
                        
                
                        cout <<"What is the length of the rectangle?:";
                        cin >> x;
                        cout <<"\nWhat is the width of the rectangle?:";
                        cin >> y;
                        cout <<"\nWhat is the height of the prism?:";
                        cin >> h;
                        area = arectangle (x , y);
                        cout <<"The " << t << " of the " << p << " " << s << " is " << vprism (area, h)  << ".\n";
                        goto end;
                    }
                    else if ((t == "volume") && (p == "pentagonal"))
                    {
                        cout <<"What is the length of a side on the pentagon?:";
                        cin >> x;
                        cout <<"\nWhat is the measurement from the center of the pentagon to a side (apothem)?:";
                        cin >> y;
                        cout <<"\nWhat is the height of the prism?:";
                        cin >> h;
                        area = apentagon (y, x);
                        cout <<"The " << t << " of the " << p << " " << s << " is " << vprism (area, h)  << ".\n";
                        goto end;
                    }
                    else if ((t == "volume") && (p == "hexagonal"))
                    {
                        cout <<"What is the length of a side on the hexagon?:";
                        cin >> x;
                        cout <<"\nWhat is the measurement from the center of the hexagon to a side (apothem)?:";
                        cin >> y;
                        cout <<"\nWhat is the height of the prism?:";
                        cin >> h;
                        area = ahexagon (y, x);
                        cout <<area;
                        cout <<"The " << t << " of the " << p << " " << s << " is " << vprism (area, h)  << ".\n";
                        goto end;
                    }

                } else {
                    goto prism;
                }

pyramid:

                    cout <<"What shape is the face of the " << s  <<"?\n";
                cout <<"(triangle, rectagle, pentagon, hexagon):";
                cin >> p;
                if ( (p == "triangle") || (p == "Triangle") || (p == "t") || (p == "T") ) {p="triangular";} else if ( (p == "Rectangular") || (p == "rectangular") || (p == "R") || (p == "r") ) {p="rectangular";} else if ( (p == "pentagon") || (p == "Pentagon") || (p == "P") || (p == "p") ) {p="pentagonal";} else if ( (p == "hexagon") || (p == "Hexagon") || (p == "H") || (p == "h") ) {p ="hexagonal";}
                if ( (p == "triangular") || (p == "rectangular") || (p == "pentagonal") || (p == "hexagonal") )
                {
                    if ((t == "surface area") && (p == "triangular"))
                    {
                        
                        cout <<"\nWhat is the slant length of the pyramid?:";
                        cin >> x;
                        cout <<"What is the base of the triangle?:";
                        cin >> y;
                        cout <<"\nWhat is the height of the triangle?:";
                        cin >> z;
                        area = atriangle (x, y);
                        cout <<"The " << t << " of the " << p << " " << s << " is " << spyramid (area, y, x, 3) << ".\n";
                        goto end;
                    }
                    else if ((t == "surface area") && (p == "rectangular"))
                    {
                        
                
                        cout <<"What is the length of the rectangle?:";
                        cin >> x;
                        cout <<"\nWhat is the width of the rectangle?:";
                        cin >> y;
                        cout <<"\nWhat is the slant length of the pyramid?:";
                        cin >> z;
                        average = (x+y)/2;
                        area = arectangle (x , y);
                        cout <<"The " << t << " of the " << p << " " << s << " is " << spyramid (area, average,z,4)  << ".\n";
                        goto end;
                    }
                    else if ((t == "surface area") && (p == "pentagonal"))
                    {
                        cout <<"What is the length of a side on the pentagon?:";
                        cin >> x;
                        cout <<"\nWhat is the measurement from the center of the pentagon to a side (apothem)?:";
                        cin >> y;
                        cout <<"\nWhat is the slant length of the pyramid?:";
                        cin >> z;
                        area = apentagon (y, x);
                        cout <<"The " << t << " of the " << p << " " << s << " is " << spyramid (area, x, z, 5)   << ".\n";
                        goto end;
                    }
                    else if ((t == "surface area") && (p == "hexagonal"))
                    {
                        cout <<"What is the length of a side on the hexagon?:";
                        cin >> x;
                        cout <<"\nWhat is the measurement from the center of the hexagon to a side (apothem)?:";
                        cin >> y;
                        cout <<"\nWhat is the slant length of the pyramid?:";
                        cin >> z;
                        perimeter = phexagon (x);
                        area = ahexagon (y, x);
                        cout <<"The " << t << " of the " << p << " " << s << " is " << spyramid (area, x, z, 5)   << ".\n";
                        goto end;
                    }
                    
                    
                    
                    else if ((t == "volume") && (p == "triangular"))
                    {
                    
                        cout <<"What is the base of the triangle?:";
                        cin >> x;
                        cout <<"\nWhat is the height of the triangle?:";
                        cin >> y;
                        cout <<"\nWhat is the height of the pyramid?:";
                        cin >> h;
                        area = atriangle (x, y);
                        cout <<"The " << t << " of the " << p << " " << s << " is " << vpyramid (area, h)  << ".\n";
                        goto end;
                    }
                    else if ((t == "volume") && (p == "rectangular"))
                    {
                        
                
                        cout <<"What is the length of the rectangle?:";
                        cin >> x;
                        cout <<"\nWhat is the width of