While help cycle

Hey guys ... his newbie again :) I am compiling a program that will calculate the area of ​​either a triangle or a square, and then ask the user if they want to calculate another. I have code that works to such an extent that it calculates an area of ​​any shape, but then does not continue working with the rest of the code. For example, a square is selected, the area is calculated, and then returns to the tooltip for the square side. I guess this is again the while loop forever, but I don’t know how to stop the loop from ending endlessly.

Here is my code:

 #include<stdio.h>
 #include<math.h>

 int main(void)

 {
     float sq_side, tri_base, tri_height, Area;
     char shape, cont = 'Y';

     printf("Please select the type of shape you desire to calculate the area for:\n");
     printf("                                                                     \n");
     printf("   Square = S                             Triangle = T               \n");
     printf("   -------                                    x                      \n");
     printf("   :     :                                   x x                     \n");
     printf("   :     :                                  x   x                    \n");
     printf("   -------                                 xxxxxxx                   \n");
     printf("                                                                     \n");
     printf("Please select either S or T:");
     scanf("%c", &shape);
     while (cont != 'n' && cont != 'N')

        if (shape == 'S' || shape == 's')
        {
            printf("What is the length of the sides of the square?:\n");
            scanf("%f", &sq_side);

            Area = pow(sq_side,2);

            printf("The area of the square is %.2f.\n", Area);
        }   

        else if (shape == 'T' || shape == 't')
        {
            printf("What is the length of the base of the triangle?:\n");
            scanf("%f", &tri_base);
            printf("What is the height of the triangle?:\n");
            scanf("%f", &tri_height);

            Area = 0.5 * tri_base * tri_height;

            printf("The area of the triangle is %.2f.\n", Area);
        }   

        else 
        {
        printf("Error:  You have select an incorrect option.");
        }

        printf("Do you wish to calculate a new shape?");
        fflush(stdin);
        scanf("%c", &cont);

     return(0);

 }
+3
source share
2 answers

. if ( else ifs) . printf ( ) .

 while (cont != 'n' && cont != 'N')
 {
    if (shape == 'S' || shape == 's')
    {
        printf("What is the length of the sides of the square?:\n");
        scanf("%f", &sq_side);

        Area = pow(sq_side,2);

        printf("The area of the square is %.2f.\n", Area);
    }   

    else if (shape == 'T' || shape == 't')
    {
        printf("What is the length of the base of the triangle?:\n");
        scanf("%f", &tri_base);
        printf("What is the height of the triangle?:\n");
        scanf("%f", &tri_height);

        Area = 0.5 * tri_base * tri_height;

        printf("The area of the triangle is %.2f.\n", Area);
    }   

    else 
    {
    printf("Error:  You have select an incorrect option.");
    }

    printf("Do you wish to calculate a new shape?");
    fflush(stdin);
    scanf("%c", &cont);
}   
+8

. , if if else else .

while (cont != 'n' && cont != 'N')
{
    if (shape == 'S' || shape == 's')
    {}
    else if (shape == 'T' || shape == 't')
    {}   
    else 
    {}
}

printf("Do you wish to calculate a new shape?");
fflush(stdin);
scanf("%c", &cont);

while (cont != 'n' && cont != 'N')
{
    if (shape == 'S' || shape == 's')
    {}
    else if (shape == 'T' || shape == 't')
    {}   
    else 
    {}

    printf("Do you wish to calculate a new shape?");
    fflush(stdin);
    scanf("%c", &cont);
}

, , , if-else if.

, - Val

+3

Source: https://habr.com/ru/post/1764808/


All Articles