Ребята, всем привет! Начал изучать ЯП C, вот меня и интересует - сделал простой конвертер (допустим рубли в $) , функционал - полностью рабочий, программка консольная, но возникла такая проблема: при вводе букв или знаков ".", "," , а так же "1.e" как пример - не дает error (допустим обычное еррор сообщение в консольке), а вместо этого конвертирует это значение точно так же, только в полную лабуду. Как можно сделать проверку на символы и буквы? исключить их или сделать так, что после их ввода давало printf("error \n"); , как пример.
Заранее благодарен.
Pointer*Rage Написал:isdigit (ctype.h)
Если не составит труда, можно небольшой примерчик?
Спасибо, сегодня посмотрю как и что

А можно ли сделать еще каким-либо способом данную задачу?
Добавлено через 4 часа 27 минут
Код:
#include <stdio.h>
#include <conio.h>
#include <locale.h>
int main()
{
float r;
float d;
setlocale(LC_ALL, "Russian");
printf("Введите значения: \n");
scanf("%f", &r);
forengeit = r*2;
printf("Ваши подсчитанные значения: %f", d);
getch();
return 0;
}
Как здесь добавить верно проверку на дурака, чтобы при вводе букв или посторонних символов (. и запятая как пример) - давало сообщение (printf("error")

. Спасибо заранее за ответ.
Тоже кстати интересует данная темка)
Код:
#include <stdio.h>
#include <conio.h>
#include <locale.h>
int main()
{
float r;
float d;
setlocale(LC_ALL, "Russian");
printf("Введите значения: \n");
if (scanf("%f", &r))
{
forengeit = r*2;
printf("Ваши подсчитанные значения: %f", d);
}
else
printf("Некорректный ввод");
getch();
return 0;
}
Если в условии
if ноль или еще что-то например буквы, условие не верно, если число больше 0 то условие истинное.