169 похожих чатов

Всем привет! Ребят, можете подсказать, как проверить, что на вход

было дано целое число? Нужно обработать моменты, типа 1.23, abc12, 12abc, abc итд.
Использовать можно только stdio. Уже всю голову сломал...

10 ответов

13 просмотров

И как читаешь? Как строку?

Gamer's Diary Project- Автор вопроса
'Егор 'Зорин
И как читаешь? Как строку?

Ну моё решение принимать строку и проверять, переводя через ascii таблицу (для целых канает, с точкой могут быть проблемы). Но я приму любую другую идею, могу принимать хоть что, если это поможет решить проблему)

Gamer's Diary Project- Автор вопроса
'Егор 'Зорин
Ну if ( str[i] < '0' && str[i] > '9') throw except...

Да! А не строку можно принимать? Или решений не через строку вообще нет?

Gamer's Diary Project- Автор вопроса
'Егор 'Зорин
Можно и не строку)

А как?) Просто если в сканф принимать %d, то при вводе юзером 12хптв, все будет окей, нам скажут, что он ввел 12, а это не подходит...

Gamer's Diary Project
А как?) Просто если в сканф принимать %d, то при в...

Тебе вроде сканф должен вернуть при таком чтении код ошибки ТК по шаблону не будет подходить

Gamer's Diary Project- Автор вопроса
'Егор 'Зорин
Тебе вроде сканф должен вернуть при таком чтении к...

Неа, гугл говорит, что он работает так, что читает, пока не увидит "не диджит", останавливается, забирает в переменную все, что прочитал, остальное отбрасывает

Просто писать свой парсер и всё

Писали что-то похожее. Там почти регулярное выражение получилось ) Зачем такие сложности? Типо должно единичку вернуть. Но он отбросит дробную часть и вернёт единицу. Можно в сканы засунуть ещё чар %d%c и этот чар сделать равным ‘\n’ Остановились на простой проверки на digit int check = scanf(“%d”, d);

Похожие вопросы

Обсуждают сегодня

30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Всем привет! Имеется функция: function IsValidChar(ch: UTF8Char): Boolean; var i: Integer; ValidChars: AnsiString; begin ValidChars := 'abcdefghijklmnopqrstuvwxyzABCDE...
Евгений
44
Карта сайта