All pastes #2047803 Raw Edit

Something

public text v1 · immutable
#2047803 ·published 2011-04-18 15:00 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);

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

    else if (x == 2)
    {
        float Circ;
        printf("\nInput radius: ");
        scanf("%f", &radius);
        Circ = CoC(radius);
        printf("The circumference is: %f", Circ);
        return 0;
    }

    else if (x == 3)
    {
        float Area;
        float RfA;
        printf("\nInput Area: ");
        scanf("%f", &Area);
        RfA = RadiusFromArea(Area);
        printf("The radius is: %f", RfA);
        return 0;
    }

    else if (x == 4)
    {
        float Circ;
        float RfC;
        printf("\nInput Circumference: ");
        scanf("%f", &Circ);
        RfC = RadiusFromCirc(Circ);
        printf("The radius is: %f", RfC);
        return 0;
    }

    else if (x == 5)
    {
        float Area;
        float CfA;
        printf("\nInput Area: ");
        scanf("%f", &Area);
        CfA = CircFromArea(Area);
        printf("The circumference is: %f", CfA);
        return 0;
    }

    else if (x == 6)
    {
        float Circ;
        float AfC;
        printf("\nInput Circumference: ");
        scanf("%f", &Circ);
        AfC = AreaFromCirc(Circ);
        printf("The area is: %f", AfC);
        return 0;
    }

    else if (x != 1 OR x != 2 OR x != 3 OR x != 4 OR x != 5 OR x != 6)
    {
        printf("\nThat isn't a fucking menu option you nigger.\n\n");
        goto Main;
        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));
}