Программа "Простейший калькулятор" (язык программирования C)

Тема: 
Циклы

Написать программу, выполняющую над двумя числами арифметическую операцию. Числа и знак вводит пользователь. Программа должна завершаться, когда пользователь вводит символ '0' в качестве знака операции. Предусмотреть сообщения о невозможности деления на ноль и неверном введенном знаке операции.

В языке программирования C существует проблема с вводом данных через функцию scanf(). Когда нажимается Enter, то символ перехода на новую строку сохраняется и присваивается переменной при следующем вызове scanf(). Поэтому от лишнего символа избавляются, не присваивая его никакой переменной (для этого в формате пишется знак *).

#include <stdio.h>
 
main() {
	float x,y;
	char sign='+';
	while (sign != '0') {
		printf("Знак: ");
		scanf("%c%*c", &sign);
		if (sign == '0') { break; }
		if (sign == '+' || sign == '-' || sign == '*' || sign == '/') {
			printf("x=");
			scanf("%f%*c", &x);
			printf("y=");
			scanf("%f%*c", &y);
			switch (sign) {
				case '+':
					printf("%.2f\n", x+y);
					break;
				case '-':
					printf("%.2f\n", x-y);
					break;
				case '*':
					printf("%.2f\n", x*y);
					break;
				case '/':
					if (y != 0) printf("%.2f\n", x/y);
					else printf("Деление на ноль!\n");
			}
		}
		else printf("Неверно указан знак операции\n");
	}
}

Пример выполнения программы:

Знак: 7
Неверно указан знак операции
Знак: 3
Неверно указан знак операции
Знак: +
x=4
y=5
9.00
Знак: /
x=0
y=0
Деление на ноль!
Знак: -
x=-34.4
y=-2
-32.40
Знак: 0