All pastes #2047815 Raw Edit

Something

public text v1 · immutable
#2047815 ·published 2011-04-18 15:32 UTC
rendered paste body
#include <stdio.h>
#include <math.h> //I had to google to learn about this header. It handles basic math operations.. I think. I'll try it.
//This will be my attempt at making a menu-based program.
//It will resemble a TI-BASIC program because that's all I know.
//Here we go!

#define OR |

//I like booleans, fuck you. Instead of using |, I will use the more plain-language OR.

const float pi = 3.14159265;

float AoC(float); //Area of a circle with a given radius
float CoC(float); //Circumference of a circle with a given radius
float RadiusFromArea(float); //Self explanatory
float RadiusFromCirc(float);
float AreaFromCirc(float);
float CircFromArea(float);


int main(void)
{
    int x;
    float radius;

    Main:
    printf("This program will try to solve for various parameters of \n of a circle depending on what is known. \n\n1. Radius is known, calculate Area. \n2. Radius is known, calculate Circumference.\n");
    printf("3. Area is known, solve for Radius. \n4. Circumference is known, solve for Radius. \n5. Area is known, solve for circumference. \n6. Circumference is known, solve for Area.\nMenu choice: ");
    scanf("%d", &x);

    switch(x)
    {
        case 1:
        {
            float Area;
        printf("\nInput radius: ");
        scanf("%f",&radius);
        Area = AoC(radius);
        printf("The area is: %f", Area);
        break;
        }

        case 2:
        {
        float Circ;
        printf("\nInput radius: ");
        scanf("%f", &radius);
        Circ = CoC(radius);
        printf("The circumference is: %f", Circ);
        break;
        }

        case 3:
        {
        float Area;
        float RfA;
        printf("\nInput Area: ");
        scanf("%f", &Area);
        RfA = RadiusFromArea(Area);
        printf("The radius is: %f", RfA);
        break;
        }

        case 4:
        {
        float Circ;
        float RfC;
        printf("\nInput Circumference: ");
        scanf("%f", &Circ);
        RfC = RadiusFromCirc(Circ);
        printf("The radius is: %f", RfC);
        break;
        }

        case 5:
        {
        float Area;
        float CfA;
        printf("\nInput Area: ");
        scanf("%f", &Area);
        CfA = CircFromArea(Area);
        printf("The circumference is: %f", CfA);
        break;
        }

        case 6:
        {
        float Circ;
        float AfC;
        printf("\nInput Circumference: ");
        scanf("%f", &Circ);
        AfC = AreaFromCirc(Circ);
        printf("The area is: %f", AfC);
        break;
        }

        default:
        {
        printf("\nThat isn't a fucking menu option you nigger.\n\n");
        goto Main;
        break;
        }
    }
    return 0;
}

//Tharr be functions ahead. Lots.
float AoC(float radius)
{
    return pi*radius*radius;
}

float CoC(float radius)
{
    return 2*pi*radius;
}

//This next one is what required the math header. Square root, apparently, is not included in stdio.h. No big deal.
//For reference, the syntax is sqrt(x), where x is the number you wish to find the square root of
float RadiusFromArea(float Area)
{
    return sqrt(Area/pi);
}

float RadiusFromCirc(float Circ)
{
    return (Circ/(2*pi));
}

//I learned how to use another function! pow(x, y) = x raised to the y power. The more you know!
float AreaFromCirc(float Circ)
{
        return pow(pi*(Circ/(2*pi)), 2);
}


//Another instance of the sqrt. function.
float CircFromArea(float Area)
{
    return (2*(sqrt(Area/pi)*pi));
}