Мне нужно прочитать часы: минуты в этом точном формате. Я использую:Подтвердить ввод scanf
int hours, minutes;
if (scanf("%d:%d", &hours, &minutes)!= 2)
{
printf("Wrong input.\n");
return 1;
}
else if (minutes>60 || minutes<0 || hours<0)
{
printf("Wrong input.\n");
return 1;
}
time = hours*60 + minutes;
/*read another time interval */
if (scanf("%d:%d", &hours, &minutes)!= 2)
{
printf("Wrong input 2.\n");
return 1;
}
else if (minutes>60 || minutes<0 || hours<0)
{
printf("Wrong input 2.\n");
return 1;
}
...
отлично работает, но мне нужно, чтобы получить «неправильный ввод» также в ситуациях, когда кто-то входит, например, 5: 38abc
вам нужно узнать, не является ли тип (минуты) или тип (часы) не 'int'. Можете ли вы поместить свои объявления в часах и минутах в фрагменте кода? Если вы объявили свои 'часы' и' минуты' в 'int', все равно, что чистая' int' будет некорректной! – ha9u63ar
Я объявил их как int. Проблема в том, что «abc» в конце не вызывает ошибки в этом scanf, но позже в коде следующего сканированияf, который также читает int. – Jcht
не могли бы вы поместить больше кода в этот фрагмент, рассказывая нам, что вы сделали в комментариях, на самом деле не рисуют хорошую картину! – ha9u63ar