|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
05.11.2015, 19:22 | #1 |
Пользователь
Регистрация: 20.10.2015
Сообщений: 22
|
Эффективна ли данная защита от ввода посторонних символов и букв
Здравствуйте! В общем, я написал программу для решения следующей задачи: Определите по номеру года, является или нет этот год високосным. Указание: год считается високосным, если номер этого года делится нацело на 4, за исключением тех, которые делятся нацело на 100 и не делятся на 400 . Нужно также было сделать защиту (запрет на ввод посторонних символов и букв). Вроде сделал. Но, по-моему она какая-то корявая. Скажите, пожалуйста, эффективна ли эта защита? И ещё, программа работает нормально. Но почему-то, если ввести любой год, оканчивающийся чётным числом, то программа сразу закрывается. Не подскажете, из-за чего это?
Вот код: Код:
|
05.11.2015, 20:50 | #2 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
А я бы ввод сделал так:
Код:
Код:
Код:
I'm learning to live...
|
05.11.2015, 21:30 | #3 |
Регистрация: 05.11.2015
Сообщений: 4
|
Я бы ввел сначала строку, а уж из нее читал бы year, иначе застопорится программа на буквах в потоке stdin.
static char buf[512]; scanf("%s",buf); sscanf(buf,"%d",&year); |
05.11.2015, 21:31 | #4 |
Пользователь
Регистрация: 20.10.2015
Сообщений: 22
|
Спасибо большое!
|
05.11.2015, 21:33 | #5 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
I'm learning to live...
|
|
05.11.2015, 22:05 | #6 |
Пользователь
Регистрация: 20.10.2015
Сообщений: 22
|
Что-то не работает. Программа собираться не хочет. Пишет, что не удаётся найти указанный файл.
|
05.11.2015, 22:12 | #7 |
Регистрация: 05.11.2015
Сообщений: 4
|
Какой именно файл (имя)? Кстати перед первым годом идет первый год до Н.Э. , нет нулевого года.
Последний раз редактировалось Yuan; 05.11.2015 в 22:23. |
05.11.2015, 22:17 | #8 |
Пользователь
Регистрация: 20.10.2015
Сообщений: 22
|
В смысле "какой именно"? Год? Если год, то тот, который пользователь введёт с клавиатуры. А программа должна определить - високосный он или нет. Указание: год считается високосным, если номер этого года делится нацело на 4, за исключением тех, которые делятся нацело на 100 и не делятся на 400
Последний раз редактировалось AB96; 05.11.2015 в 22:32. |
08.11.2015, 18:29 | #9 |
Пользователь
Регистрация: 20.10.2015
Сообщений: 22
|
Немного переписал код. Вроде всё верно, но почему-то не работает. Не подскажете, в чём ошибка?
Код:
Последний раз редактировалось AB96; 08.11.2015 в 18:34. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Реализовать защиту от ввода символов и букв | AB96 | Общие вопросы C/C++ | 3 | 22.10.2015 19:48 |
Вводится последовательность символов, конец ввода -ESC(код#27). Определить количество букв "b". помогите сделать через string. | kolbaskin | Паскаль, Turbo Pascal, PascalABC.NET | 2 | 30.12.2013 09:12 |
к какому виду программной защиты относится данная защита? | as_sati | Безопасность, Шифрование | 5 | 30.05.2013 21:56 |
Защита от кривого ввода на С++ | survavior | Помощь студентам | 4 | 13.04.2010 17:56 |
Как сделать запрет ввода букв в поле для ввода input | zvezda_t | PHP | 1 | 27.12.2009 22:02 |