Code:
#include <stdio.h>

int main()
{
    //Hold Numeric Char entered by user
    char c;

    //holds boolean value for Done
    int done;

    //Holds the value of the total price
    float total = 0;

    //Prompt
    printf("Hello, please enter your selection: \n");
    printf("1 - Candy\n");
    printf("2 - Beverage\n");
    printf("3 - Hotdog\n");
    printf("4 - Popcorn\n");
    printf("0 - Done\n");
    printf("Your Choices: \n");

    //Variable done Initialized to 0(False)
    done = 0;
    
    //Get and Handle Input
    while(!done)
    {
        //Get Input
        c = getchar();

        switch(c)
        {
            case '1':
                printf("Candy\t$3.00\n");
                total+=3;
                break;
            case '2':
                printf("Beverage\t$5.50\n");
                total+=5.5;
                break;
            case '3':
                printf("Hotdog\t$10.00\n");
                total+=10;
                break;
            case '4':
                printf("Popcorn\t$4.99\n");
                total+=4.99;
                break;
            case '0':
                printf("Total: $%.2f\n", total);
                printf("Please Pay at the Cashier, Thank You.");
                done = 1;
                break;
            default:
                printf("Improper Selection!");
                break;
        }
    }

    getchar();
    return 0;
}
I'm Using break; on every case, but whenever i type in any number,
default is always executed despite the break statements...
Why is that? :S