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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 14, средняя оценка - 4.64
Nike11088
2 / 2 / 0
Регистрация: 27.06.2012
Сообщений: 40
#1

Ввод целых чисел - C++

28.07.2012, 13:03. Просмотров 2415. Ответов 5
Метки нет (Все метки)

Пользователь вводит целое число, но если введёт символ - программа вылетает. Что можно сделать, чтобы избавиться от данной проблемы?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include "stdafx.h"
#include <iostream>
using namespace std;
 
int main()
{   
    setlocale(LC_ALL, "Rus");
 
    int number ;
    cout << "Введите целое число: ";
    cin >> number;
    cout << "Вы ввели " << number << endl;
 
    getchar();
    getchar();
    return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.07.2012, 13:03
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Ввод целых чисел (C++):

Ввод одномерного массива из N целых чисел - C++
Задание: Моя реализация: long n1; m1:cout&lt;&lt;&quot;Vvedite n:&quot;&lt;&lt;endl; cin&gt;&gt;n1; if(n1&lt;1 || n1&gt;20) { cout&lt;&lt;&quot;N za predelami...

Ввод с клавиатуры массива из 10 целых чисел - C++
Написать программу, которая вводит с клавиатуры массив из 10 целых чисел, находит среди элементов массива минимальный и выводит результат...

Фильтр на ввод только целых неотрицательных чисел - C++
Как создать функцию, позволяющую вводить только целые неотрицательные числа в с++? Как она будет выглядеть?

Ввод двузначных целых чисел до первого нечетного - C++
Задача: ввести с клавиатуры двузначные целые числа до первого нечетного. подсчитать кол-во введенных чисел и сумму чисел с равными...

как осуществить ввод только нечетных целых чисел? - C++
вот в этой программе необходимо ввести n, которое нечетное целое # include &quot;iostream&quot; # include &lt;math.h&gt; # include &quot;iomanip&quot; #...

Массивы. Организовать ввод матрицы размера mxn из целых чисел - C++
Составить программу, в которой 1) организовать ввод матрицы размера mxn из целых чисел; 2) вычислить произведение четных элементов...

5
Intel~lect
135 / 124 / 2
Регистрация: 03.07.2012
Сообщений: 355
28.07.2012, 13:29 #2
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
#include "stdafx.h"
#include <iostream>
using namespace std;
 
int main()
{   
    setlocale(LC_ALL, "Rus");
 
    int number;
 
    cout << "Введите целое число: ";
 
    while ( !(cin >> number) )
    {
        cin.clear();
        while ( cin.get() != '\n' ) ;
 
        cout << "Ошибка. Введите целое число: ";
    }
 
    cout << "Вы ввели " << number << endl;
 
    getchar();
    getchar();
    return 0;
}
2
Nike11088
2 / 2 / 0
Регистрация: 27.06.2012
Сообщений: 40
28.07.2012, 13:40  [ТС] #3
Большое спасибо! Быстрый и качественный ответ.
0
Intel~lect
135 / 124 / 2
Регистрация: 03.07.2012
Сообщений: 355
28.07.2012, 13:50 #4
Пожалуйста. Если что непонятно в программе, то спрашивай.
0
Nike11088
2 / 2 / 0
Регистрация: 27.06.2012
Сообщений: 40
28.07.2012, 14:11  [ТС] #5
А что делает этот оператор while ( cin.get() != '\n' ) ;? Можно ли сделать, чтобы при нажатии Enter или Esc выводилось сообщение о нажатии данных клавиш?
0
Intel~lect
135 / 124 / 2
Регистрация: 03.07.2012
Сообщений: 355
28.07.2012, 14:26 #6
C++
1
while ( cin.get() != '\n' ) ;
В цикле считывается по одному символу до тех пор пока не встретиться '\n'. ('\n' тоже считывается) Например надо ввести целое число а пользователь ввел какую-нибудь строку и нажал "Enter". Эта строка осталась во входном потоке. И ее нужно удалить оттуда.
0
28.07.2012, 14:26
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.07.2012, 14:26
Привет! Вот еще темы с ответами:

Сформировать одномерный массив целых чисел, используя ввод данных с клавиатуры - C++
Найти в массиве наибольшее число подряд идущих одинаковых элементов (например {1,5,3,6,6,6,6,6,3,4,4,5,5,5} = 5). Заранее большое спасибо.

Организовать ввод целых четных значений в одномерный массив с контролем вводимых чисел - C++
Организовать ввод целых четных значений в одномерный массив с контролем чисел вводимых

Составить программу, которая вызывает функцию, а также осуществляет ввод матрицы целых чисел - C++
Привести пример функции, устанавливающий факт симметричности квадратной матрицы относительно главной диагонали. Составить программу,...

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


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

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

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