Dear sir and madam,

I would like to ask why it print 2 times instead of one if I input a wrong character ._.?

Code:
#include<stdio.h>

int main()
{
	float H_P = 24.90, I_S = 25.90, V_D = 25;
	float G_B = 3, SOUP = 5;
	char choice;


	printf("Scruptious Pizza\n");
	printf("================\n\n\n");
	printf("Choice\t\tType\t\t\tSelling Prize(RM)\n");
	printf("_________________________________________________________\n");
	printf("Pizza\t\t(a) Hawaiian\t\t\t%.2f\n", H_P);
	printf("\t\t(b) Island Supreme\t\t%.2f\n", I_S);
	printf("\t\t(c) Veggie Delight\t\t%.2f\n\n", V_D);
	printf("Side\t\t(d) Garlic Bread\t\t %.2f\n", G_B);
	printf("Order\t\t(e) Soup\t\t\t %.2f\n\n\n", SOUP);
	printf("_________________________________________________________\n\n");
	printf("\t\tPlease Choose:\n");
	printf("\t\t[S]ales\n");
	printf("\t\t[P]ayment\n");
	printf("\t\t[E]xit");


	do {
		printf("\n\t\tYour choice:"); /*Why it print 2 times instead of one if I input a wrong character :O*/
		scanf("%c", &choice);
	}
	while (choice != 'S' && choice != 's' && choice != 'P' && choice != 'p' && choice != 'E' && choice != 'e');
	
	if (choice == 'S') /*The Sales screen <3*/
		{
		/*clrscr(); idk why it don't work here..*/
		printf("\tSALES\n");
		printf("\t_____\n");
	}
}
I'm new to C, confuse with something..-131231231-jpg