0 / 0 / 0
Регистрация: 27.12.2018
Сообщений: 3
1

"Защита от дурака"

05.06.2019, 19:10. Показов 682. Ответов 4
Метки нет (Все метки)

Доброго времени суток! Прописываю защиту для своей курсовой работы. Нашел фрагмент для защиты от символов,но не могу понять, как прописать защиту сюда же от ввода , например, ",025". Подскажите пожайлуйста.
C
1
2
3
4
5
6
7
8
9
10
char s[16];
                while (1)
                    {
                        scanf("%s",s);
                        if ((atof(s)==0)&&(s[0]!='0'))
                            {
                                printf("Ошибка! Введены некорректные значения!\n");
                            }
                        else return atof(s);
                    }
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.06.2019, 19:10
Ответы с готовыми решениями:

Защита от неправильного ввода "Защита от дурака"
Ввести элементы массива размерностью N>100; Предусмотреть защиту на каждый ввод элемента массива...

Ввод целочисленных чисел ("защита от дурака")
Пользователь вводит целое число, но если введённое число или символ не целочисленное - то программа...

Создать запись "Двигатель", которая содержит элементы "Название", "Мощность", "Скорость", "Цена"
Создать запись "Двигатель", которая содержит элементы "Название", "Мощность", "Скорость",...

Ввести структуру "историческое событие" с полями "число", "месяц", "год", "событие"
Ввести структуру ИСТОРИЧЕСКОЕ СОБЫТИЕ с полями ЧИСЛО, МЕСЯЦ, ГОД, СОБЫТИЕ. Составить и...

4
106 / 82 / 15
Регистрация: 07.06.2011
Сообщений: 582
Записей в блоге: 2
05.06.2019, 19:59 2
А что должен ввести пользователь? Целое число?
Тогда суньте перевод введенной строки в число в блок try except.
И в исключении припишите вывод сообщения - Некорректный ввод данных. Спасет сразу на все случаи )
0
295 / 226 / 102
Регистрация: 11.08.2016
Сообщений: 776
06.06.2019, 00:48 3
alexan0308, зачем целое число? Функция atof() преобразует строку в числа с плавающей запятой
0
С чаем беда...
Эксперт CЭксперт С++
9915 / 5243 / 1436
Регистрация: 18.10.2014
Сообщений: 12,495
06.06.2019, 01:05 4
Цитата Сообщение от Кирилл По Посмотреть сообщение
ашел фрагмент для защиты от символов
Так а где в вашем вопросе подробное описание того, что вы хотите ввести? Каким образом мы здесь должны догадаться о том, что у вас считается правильным вводом, а что неправильным? Телепатия?
0
106 / 82 / 15
Регистрация: 07.06.2011
Сообщений: 582
Записей в блоге: 2
06.06.2019, 13:54 5
А ну тогда проверить сначала
Код
bool parse_double(std::string in, double& res) {
    try {
        size_t read= 0;
        res = std::stod(in, &read);
        if (in.size() != read)
            return false;
    } catch (std::invalid_argument) {
        return false;
    }    
    return true;
}

int main()
{
    double d;
    bool b = parse_double("123z", d);
    if (b)
      std::cout << d;
    else
      std::cout << "Wrong input";
}
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
06.06.2019, 13:54
Помогаю со студенческими работами здесь

Подсчитать общее количество вхождений в строку символов "А", "a", "B" и "b"
#include &lt;stdio.h&gt; #include &lt;string.h&gt; #include &lt;conio.h&gt; main() { int i; int k; ...

Защита от дурака
Добрый день! Помогите пожалуйста:как сделать, чтобы проверялось,что вводимые с клавиатуры данные...

Защита от дурака
Здравствуйте. Собственно имею такой код. #define _CRT_SECURE_NO_WARNINGS #include &lt;stdio.h&gt;...

"Перевернуть" в строке все слова (Например: "Жили были" в "илиЖ илыб")
&quot;Перевернуть&quot; в строке все слова. (Например: &quot;Жили были дед и баба&quot; - &quot;илиЖ илиб дед и абаб&quot;)


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru