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

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

06.03.2013, 19:29. Просмотров 1445. Ответов 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
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
06.03.2013, 19:29
Ответы с готовыми решениями:

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

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

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

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

3
122 / 85 / 16
Регистрация: 14.02.2011
Сообщений: 340
06.03.2013, 20:03 2
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
582 / 385 / 216
Регистрация: 20.01.2013
Сообщений: 1,169
06.03.2013, 20:08 3
Может это поможет
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 4
TecktoTrance, попробуй, где требуется защита от дурака использовать while или do while (как нравится), а условием выхода из цикла пропиши ввод верных параметров.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
07.03.2013, 00:48

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

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

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

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

Защита от дурака
Вот только начал изучать С++ помогите составить защиту от дурака пожалуйста, вот код: #include...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.