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

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

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

Как осуществить ввод только чисел и знаков операций? - C++

07.05.2012, 11:22. Просмотров 1081. Ответов 4
Метки нет (Все метки)

мне нужно чтобы при вводе я не мог ничего вводить кроме чисел и математических знаков(+,/,*,-)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.05.2012, 11:22
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Как осуществить ввод только чисел и знаков операций? (C++):

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

Как разрешить ввод только чисел типа int? - C++
Доброго времени суток. Подскажите, пожалуйста, как разрешить ввод только чисел типа int. Преподаватель очень любит заваливать на этом,...

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

Как осуществить неограниченный ввод в консоль? - C++
Необходимо вводить в консоль случайное количество чисел разделенные пробелом, например: 2 10 11 9 Как это осуществить? Обычный cin не...

Формат ввода: как осуществить построчный ввод? - C++
Здравствуйте я решаю олимпиадные задачи, но я не понял как вводить 2 строку? Через пробел или ENTER? Если через пробелы то через strtok?

ввод только чисел - C++
Помогите отловить ненужные символы. void input_data(int number) // { if(number == 1) { }else if(number == 2) {

4
Игорь с++
437 / 460 / 16
Регистрация: 26.01.2011
Сообщений: 2,033
07.05.2012, 11:40 #2
использование getch с последующей проверкой дадут вам желаемый результат.
1
Серегаа
1 / 1 / 0
Регистрация: 26.04.2012
Сообщений: 24
07.05.2012, 11:52  [ТС] #3
ну гет понятно, посимвольно читает, а как проверить считанный символ, как проверку заадать...?
0
denys_l
52 / 52 / 4
Регистрация: 26.09.2011
Сообщений: 186
07.05.2012, 13:59 #4
Цитата Сообщение от Серегаа Посмотреть сообщение
ну гет понятно, посимвольно читает, а как проверить считанный символ, как проверку заадать...?
Прохоренок, 1 глава, 32 страница. Там приведен пример ввода пароля и проверки допустимых символов
1
vve
0 / 0 / 0
Регистрация: 16.10.2015
Сообщений: 2
04.10.2012, 22:13 #5
Цитата Сообщение от denys_l Посмотреть сообщение
Прохоренок, 1 глава, 32 страница. Там приведен пример ввода пароля и проверки допустимых символов
Почему-то программа из этого примера работает не корректно.
После ввода пароля и нажатия клавиши "Enter" не появляется никакого сообщения о результате ввода пароля ... правильный он или нет.
Работает только та часть, где идет проверка допустимых символов.
В чем проблема?
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
#include <iostream>
#include <conio.h> // для getch()
#include <cstring> // для strcmp()
 
int main()
{
    char passwd[17], ch;
    bool flag = false; 
    int i = 0; 
    std::cout << "Password: ";
    do
    {
        ch = _getch();
        if(i > 15 || ch == '\r' || ch == '\n')
        {
            flag == true;
            passwd[i] = '\0';
        } 
        else if( (ch > 47 && ch < 58) || (ch > 64 && ch < 91) || (ch > 96 && ch < 123) )
        {
            passwd[i] = ch;
            std::cout <<'*'; 
            ++i;
        }
        else
        {
            std::cout << std::endl << "Error" << std::endl;
            return 0;
        }
    }
    while(!flag);
 
    if(std::strcmp(passwd, "test") == 0)
    {
        std::cout << std::endl << "Ok" << std::endl;
    }
    else 
    {
        std::cout << std::endl << "Error" << std::endl;
    }
    return 0;
}
Добавлено через 5 часов 51 минуту
Ошибка обнаружилась. Опечатался в 16 строке.
Надо
C++
1
flag = true;
0
04.10.2012, 22:13
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.10.2012, 22:13
Привет! Вот еще темы с ответами:

Как лучше поставить ограничение на ввод букв, и знаков перпинания - C++
Добрый вечер! подскажите, как лучше поставить ограничение на ввод букв, и знаков перпинания (,.! ,пробел и других, которые используют в...

Ввод только чисел в cin>>value - C++
Доброго времени суток! Написал программу, которая считывает и выводит элементы массива... Всё просто, но на самом деле, мне бы чуть...

Рекурсия функции. Сумма целых чисел n и m, в которой из арифметических операций используется только прибавление и вычисление единицы - C++
Напишите рекурсивную функцию, вычисляющую сумму целых чисел n и m, в которой из арифметических операций используется только прибавление и...

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


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

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

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