как сделать проверку на вводимую пользователем букву? Когда в поле для ввода заношу букву - прога ломается

    #include <stdio.h>
    #include <math.h>
    #include <locale.h>
    #include <stdlib.h>
    
    int checking(int c,double h);
    int main(void){
        setlocale(LC_ALL,"");//возможность использовать любой язык
        puts("Здравствуйте!\n");
        int activator = 1;
        while (activator == 1) {
        double x = 0.,y = 0.;//объявление переменных
        puts("Введите x");
        int ch = (scanf("%lf",&x)); //узнаем тип полученных данных(если строка - нам не подходит)
        if (checking(ch,x) == 0){continue;}
        puts("Введите y");
        ch = (scanf("%lf",&y));
        if (checking(ch,y) == 0){continue;}
    
        double numenator,denominator,e = 2.71,p;//объявление переменных
    
        numenator = (log10(x) - pow(e,x+y));//расчет выражения 1.1
    
        denominator = (sqrt(2) + pow(y,2) + fabs(pow(x,3) - log(y)));//расчет выражения 1.2
    
        p = numenator/denominator;//подсчет выражения 1
    
        printf("Ответ: %f\n",p);//вывод результата на экран
        puts("\nДо свидания! \n");activator = 0;
        }
        return EXIT_SUCCESS;//Макрос EXIT_SUCCESS используется для возвращения
      // операционной системе кода успешного завершения программы
    
        }
    
    int checking(int c,double h){
        if (c == 0){puts("Введите число");return 0;}
        if (h <=0){puts("Введите число больше нуля!");return 0;}
        else{return 1;}
        
    }

Ответы (0 шт):