Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.73/11: Рейтинг темы: голосов - 11, средняя оценка - 4.73
0 / 0 / 0
Регистрация: 18.02.2013
Сообщений: 13

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

06.03.2013, 19:29. Показов 2526. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте уважаемые форумчане! я к вам, и вот по какому делу)
Вот есть у меня задача:
Даны два целых числа А и В. Вывести в порядке убывания все целые числа, расположенные между А и В,
не включая сами эти числа, а также количество N этих чисел. А и В вводит пользователь, А < В.
Предусмотреть возможность повторения действия пользователя несколько раз.

А вот и код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#include <iostream>
using namespace std;
void main(){
    setlocale(LC_ALL,"rus");
    int a,b;
    int sum=0;
    int answer;
    do{
    cout<<"Выберите действие: "<<endl;
    cout<<"1.Запуск программы"<<endl;
    cout<<"2.Выход из программы"<<endl;
    cout<<"Ваше действие: ";cin>>answer;
 
    switch(answer){
    case 1:
    cout<<"Введите числа, при условии что А<B"<<endl;
    cout<<"Введите число А: ";cin>>a;
    cout<<"Введите число В: ";cin>>b;
    if(a>b){
        cout<<"Вы ввели числа(символы) не по условию задания!"<<endl;
    }
    for(int i=b-1;i>a;i--){
        cout<<i<<" ";
        sum++;
        }
    
    cout<<endl<<"Количество выведенных чисел: "<<sum<<endl<<endl;
    sum=0; //сбрасывает счетчик выведенных чисел
    break;
    case 2:
        cout<<"Выход из программы!"<<endl;
        break;
    default:
        cout<<"Вы ввели числа(символы) не по условию задания!"<<endl;
    }}while(answer!=2);
    cout<<"Пока, Пока! ;D"<<endl;
 
}
Все вроде хорошо, только вот не могу сделать чтоб была защита от введенных пользователем символов, то есть, если он вводит в меню не верный число то его сразу возвращает с предупреждением в начало, а я хотел бы еще дополнить тем что бы если пользователь начинает по клавиатура бить как по пианино, вводя символы, его тоже возвращало к конкретному месту.
Спасибо =)
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
06.03.2013, 19:29
Ответы с готовыми решениями:

Защита от дурака
нужна защита от дурака пытался реализовать с помощью 2 разных способов не вышло. #include &lt;iostream&gt; #include &lt;string&gt; ...

Защита от дурака
Вот кусок кода: do { cout &lt;&lt; &quot;Выберите вариант решения:&quot; &lt;&lt; endl; cout &lt;&lt; &quot; - первй вариант.&quot; &lt;&lt; endl; ...

Защита от дурака
Как в этот код добавить защиту от ввода символов? #include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;Windows.h&gt; #include...

3
122 / 85 / 16
Регистрация: 14.02.2011
Сообщений: 340
06.03.2013, 20:03
TecktoTrance,
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
#include <iostream>
#include <ctype.h>
#include <stdlib.h>
#include <string>
using namespace std;
 
bool isnumber(std::string str)
{
    int len = str.length();
    for (int i=0;i<len;i++)
            if (isalpha(str[i])) return false;
 return true;
}
 
int main(){
    setlocale(LC_ALL,"rus");
    int a,b;
    int sum=0;
    int answer;
    string str;
    do{
    cout<<"Выберите действие: "<<endl;
    cout<<"1.Запуск программы"<<endl;
    cout<<"2.Выход из программы"<<endl;
    cout<<"Ваше действие: ";cin>>str;
    if(isnumber(str)) answer = atoi(str.c_str());
    else {
            cout << "ошибка ввода!" << endl;
            continue;
        }
 
    switch(answer){
    case 1:
    cout<<"Введите числа, при условии что А<B"<<endl;
    cout<<"Введите число А: ";cin>>a;
    cout<<"Введите число В: ";cin>>b;
    if(a>b){
        cout<<"Вы ввели числа(символы) не по условию задания!"<<endl;
    }
    for(int i=b-1;i>a;i--){
        cout<<i<<" ";
        sum++;
        }
 
    cout<<endl<<"Количество выведенных чисел: "<<sum<<endl<<endl;
    sum=0; //сбрасывает счетчик выведенных чисел
    break;
    case 2:
        cout<<"Выход из программы!"<<endl;
        break;
    default:
        cout<<"Вы ввели числа(символы) не по условию задания!"<<endl;
    }}while(answer!=2);
    cout<<"Пока, Пока! ;D"<<endl;
 
    return 0;
 
}
1
 Аватар для egor2116
584 / 387 / 216
Регистрация: 20.01.2013
Сообщений: 1,169
06.03.2013, 20:08
Может это поможет
C++
1
2
3
4
5
6
7
8
9
    char b;
 
    while(cin.get(b))
    {
        if(b='a')
       cout<<"Что то делаем"<<endl;
        else
            cout<<"Делаем что то другое"<<endl;
    }
0
7 / 7 / 0
Регистрация: 19.02.2013
Сообщений: 22
07.03.2013, 00:48
TecktoTrance, попробуй, где требуется защита от дурака использовать while или do while (как нравится), а условием выхода из цикла пропиши ввод верных параметров.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
07.03.2013, 00:48
Помогаю со студенческими работами здесь

Защита от дурака C++
Нужно сделать защиту от дурака. Пользователь должен вводить только отрицательные дробные числа. Получилось вот что: bool n=true; ...

Защита от дурака
Нужно сделать так что бы в этом куске кода кроме цифр нельзя было нечего вводить(то есть что нельзя было ввести например точку, запятую,...

Защита от дурака
Помогите, пожалуйста. Программа должна печатать только цифры (а не буквы и прочие символы, знак минус может стоять в самом начале) и при...

защита от дурака
Знаю что таких тем уже было много, но в них я ничего полезного не нашел. Так вот задания: пользователь вводит элементы в массив, но нужно...

Защита от дурака
Вот только начал изучать С++ помогите составить защиту от дурака пожалуйста, вот код: #include &lt;iostream&gt; using namespace std;...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru