Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Noobass
0 / 0 / 0
Регистрация: 15.10.2012
Сообщений: 100
#1

Прерывание ввода - C++

24.11.2012, 13:10. Просмотров 622. Ответов 1
Метки нет (Все метки)

Я написал программу, которая просит пользователя ввести массив, потом отображает его, и после заново отображает, но только в реверсивном порядке. Прога работает исправно, но у меня есть один вопрос. Как сделать так, чтобы прога обрывала ввод тогда, когда пользователь вводит нечисловое значение? Ато мой алгоритм почему-то не работает
Вот код:
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
#include <iostream>
#include <cctype>
using namespace std;
const int Arsize=10;
int fill_array(double arr[],int size);
void show_array(double ar[],int n);
void reverse_array(double mas[],int t);
int main()
{
    double mass[Arsize];
    cout<<"Zapolnite massiv!\n";
    cout<<"Dlya togo, 4tobi prekratit zapolnenie, vvedite ne4islovoe zna4enie!\n";
    int times=fill_array(mass,Arsize);
    show_array(mass,times);
    reverse_array(mass,times);
    cout<<"After Reverse:\n";
    show_array(mass,times);
    cout<<"Vot tak!\n";
    system("pause");
    return 0;
}
int fill_array(double arr[],int size)
{
    int i;
    for(i=0;i<size;i++) {
        cout<<"Value #"<<(i+1)<<": ";
        while(!(cin>>arr[i]))   {
            cin.clear();
            while(cin.get()!='\n')
                break;
        }
    }
    cout<<"\n\n";
    return i;
}
void show_array(double ar[],int n)
{
    int i;
    for(i=0;i<n;i++)    {
        cout<<"Number "<<(i+1)<<": ";
        cout<<ar[i]<<"\n";
    }
    cout<<"\n\n";
}
void reverse_array(double mas[],int t)
{
    double temp;
    int i,j;
    for(i=0,j=t-1;i<j;i++,j--)  {
    temp=mas[j];
    mas[j]=mas[i];
    mas[i]=temp;
    }
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.11.2012, 13:10
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Прерывание ввода (C++):

Прерывание ввода при израсходовании попыток ввода пароля - C++
Этот цикл (приведенный ниже) проверяет пароль пользователя - это слово &quot;пароль&quot;.Для ввода пароля пользователь может сделать три...

Прерывание - C++
При вызове прерывание компилятор пишет ошибка доступа. #include &lt;iostream&gt; using namespace std; char a = &quot;hello&quot;; int main() ...

Прерывание циклов - C++
Допустим есть цикл в цикле и если во внутреннем цикле выполняется некоторое условие, необходимо прервать оба цикла.Возможно ли это? Заранее...

Прерывание по таймеру - C++
Здравствуйте! Возможно ли сделать в консольном приложении на Visual Studio так, чтобы во время работы одного из циклов программы, раз...

Прерывание цикла! - C++
каким образом можно прервать while путем ввода какого нибудь символа, чтобы не нужно было при каждом проходе тела цикла вводить этот...

прерывание, вывод числа - C++
Здравствуйте, подскажите пожалуйста как по прерыванию от порта ввода выводить в порт вывода очередное число последовательности 0..255 ?...

1
MrGrig
176 / 159 / 2
Регистрация: 08.10.2012
Сообщений: 422
24.11.2012, 16:44 #2
C++
1
2
3
4
5
char c=getch()
if(c<='0'||c>='9')
    break;
else
    int a= c -'0'; //или + '0' точно не помню
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.11.2012, 16:44
Привет! Вот еще темы с ответами:

Прерывание программы по ESC C++ - C++
доброй ночи Добрался до такой вот темы Пытаюсь реализовать перехват нажатия клавиши ESC и SPACE в консольном режиме Но программа не...

Прерывание цикла по условию - C++
Ребят,помогите пожалуйста,мне нужно,например если сработал первый if, то следующие не срабатывали в цикле,помогите пожалуйста void...

Прерывание по таймеру на C++ в консоли - C++
Подскажите пожалуйста,как в консольном приложении можно написать прерывание срабатывающее при истечении какого-то промежутка времени? ...

Прерывание в си++, отслеживание нажатых клавиш - C++
Доброго времени суток, пишу программу, которая выполняет ряд различных простых задач друг за другом в бесконечном цикле. Задача следующая,...


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

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

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