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

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

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

Cin.get - C++

13.10.2013, 07:32. Просмотров 413. Ответов 15
Метки нет (Все метки)

Как сделать чтобы cin.get считывал числа а не символы, т.е. вот код
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
{
    int a[5], b[5], c[6];
    int i;
    int z;
    for(i=0; i<5; i++){
        z=cin.get();
        if(z== 'A')
            z=-1;
        if(z== 'B')
            z=-2;
        if(z== 'C')
            z=-3;
        if(z== '\n' || z==' ')
            break;
        a[i]=z;
    }
    for(i=0; i<5; i++){
        z=cin.get();
        if(z== 'A')
            z=-1;
        if(z== 'B')
            z=-2;
        if(z== 'C')
            z=-3;
        if(z== '\n' || z==' ')
            break;
        b[i]=z;
    }
    for(i=0; i<7; i++){
        z=cin.get();
        if(z== 'A')
            z=-1;
        if(z== 'B')
            z=-2;
        if(z== 'C')
            z=-3;
        if(z== '\n' || z==' ')
            break;
        c[i]=z;
    }
 
 
    for(i=0; i<5; i++)
        cout << a[i];
    cout << '\n';
    for(i=0; i<5; i++)
        cout << b[i];
    cout << '\n';
    for(i=0; i<7; i++)
        cout << c[i];
    cout << '\n';
 
    system("pause");
}
Мне нужно чтобы если набирались цифры, то выводились именно числа, а не их код
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.10.2013, 07:32
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Cin.get (C++):

Защита от дурака при вводе текста с помощью: cin.get cin.clear cin.sync - C++
Доброго времени суток. На С++ учусь с недавних пор. Имеется стандартная &quot;защита от дурака&quot; на ввод. Не пойму предназначение cin.get() !=...

Объясните пожалуйста как работают cin.good(), cin.sync(), cin.clear() - C++
Такая проблема: сдаю в вуза лабораторные по программированию, писал все сам, до этого c++ не изучал, поэтому возникали некоторые проблемы....

Метод getline(cin, m) не срабатывает без cin.ignore() / Ревью кода - C++
Почему в моем случае getline(cin, m) не срабатывает без cin.ignore() ? Если по коду есть какие-нибудь замечания, то просьба написать что не...

Продемонстрировать различие между вводом с помощью cin.Get и cin.Getline с тремя параметрами - C++
Нужна помощь. Задача продемонстрировать различие между вводом с помощью cin.get и cin.getline с тремя параметрами, как из потока достать...

Для чего в код вводится cin.ignore после того, как cin>> уже сработало? - C++
Доброго времени суток! Просматриваю простой код. Вводится строка типа string: фунты и дюймы Затем значения переводится в типы int и...

Объект cin и его метод cin.get() - C++
Вот код программы: #include &lt;iostream.h&gt; #pragma hdrstop ...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
d1skort
20 / 20 / 0
Регистрация: 10.02.2013
Сообщений: 75
13.10.2013, 11:08 #2
C++
1
char z;
Toshik_
1 / 1 / 0
Регистрация: 17.08.2013
Сообщений: 91
13.10.2013, 13:55  [ТС] #3
Цитата Сообщение от d1skort Посмотреть сообщение
C++
1
char z;
не работает
alsav22
5417 / 4813 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
13.10.2013, 14:04 #4
C++
1
char a[5], b[5], c[6];
Toshik_
1 / 1 / 0
Регистрация: 17.08.2013
Сообщений: 91
13.10.2013, 14:05  [ТС] #5
Цитата Сообщение от alsav22 Посмотреть сообщение
C++
1
char a[5], b[5], c[6];
Мне нужно работать с числами
MrGluck
Модератор
Эксперт CЭксперт С++
7209 / 4375 / 638
Регистрация: 29.11.2010
Сообщений: 11,887
13.10.2013, 14:06 #6
Запрет на ввод с клавиатуры
alsav22
5417 / 4813 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
13.10.2013, 14:09 #7
MrGluck, тут не то.

Добавлено через 20 секунд
Цитата Сообщение от Toshik_ Посмотреть сообщение
Мне нужно работать с числами
Общая задача какая?
Toshik_
1 / 1 / 0
Регистрация: 17.08.2013
Сообщений: 91
13.10.2013, 14:13  [ТС] #8
Цитата Сообщение от alsav22 Посмотреть сообщение
MrGluck, тут не то.

Добавлено через 20 секунд

Общая задача какая?
Входные данные:
Три строки, соответствующие первому и второму слагаемым и их сумме, содержащие цифры и символы «A», «B», «C». Длина каждой строки от 1 до 5 символов.
Выходные данные:
В первой строке выводятся разделенные пробелами значения цифр, соответствующих символам «A», «B», «C» соответственно.
Во второй строке выводится строка, соответствующая восстановленной записи примера.
Если возможно несколько вариантов решения задачи, то выводится любой из них.
Входные данные
A54C
C2A
ABB4
Выходные данные
3
6
1
3541+123=3664
ct0r
Игогошка!
1769 / 671 / 42
Регистрация: 19.08.2012
Сообщений: 1,284
Завершенные тесты: 1
13.10.2013, 14:14 #9
Цитата Сообщение от alsav22 Посмотреть сообщение
Общая задача какая?
Подозреваю, что надо читать цифры через get() и строить из них число по правилу a*10+b.

Upd не, совсем не угадал
alsav22
5417 / 4813 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
13.10.2013, 14:23 #10
Может так (раз: "В первой строке выводятся разделенные пробелами значения цифр, соответствующих символам «A», «B», «C» соответственно"):
Выходные данные
3 6 1
3541+123=3664

Добавлено через 1 минуту
Что за "значения цифр, соответствующих символам «A», «B», «C»"?
Toshik_
1 / 1 / 0
Регистрация: 17.08.2013
Сообщений: 91
13.10.2013, 14:30  [ТС] #11
Цитата Сообщение от alsav22 Посмотреть сообщение
Что за "значения цифр, соответствующих символам «A», «B», «C»"?
Какие-то цифры от 0 до 9
MrGluck
Модератор
Эксперт CЭксперт С++
7209 / 4375 / 638
Регистрация: 29.11.2010
Сообщений: 11,887
13.10.2013, 14:32 #12
Toshik_, считывать в char в любом случае, цифры отсеивать с помощью isdigit
alsav22
5417 / 4813 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
13.10.2013, 14:36 #13
Цитата Сообщение от Toshik_ Посмотреть сообщение
Какие-то цифры от 0 до 9
Какие-то, значит любые можно использовать? Или какие-то конкретные? Почему именно 3, 6, 1? Или без разницы какие?
Toshik_
1 / 1 / 0
Регистрация: 17.08.2013
Сообщений: 91
13.10.2013, 14:41  [ТС] #14
Цитата Сообщение от alsav22 Посмотреть сообщение
Какие-то, значит любые можно использовать? Или какие-то конкретные? Почему именно 3, 6, 1? Или без разницы какие?
Без разницы, главное чтобы выполнялось равенство
MrGluck
Модератор
Эксперт CЭксперт С++
7209 / 4375 / 638
Регистрация: 29.11.2010
Сообщений: 11,887
13.10.2013, 14:42 #15
Toshik_, символы не могут иметь значение, равное уже известным числам? Т.е. например ни A ни В ни С не могут оказаться равными 4 или 5? И если А, например, равно 2, значит ли это, что ни B ни С уже не смогут иметь это значение?

Добавлено через 1 минуту
У меня пока в голову лезет перебор, но не от 0 до 9, а по оставшимся числам с вычеркиванием. Но как-то не изящно(
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.10.2013, 14:42
Привет! Вот еще темы с ответами:

Отличие функции cin.get и cin.getline - C++
Добрый день! Изучаю функции get и getline, сказано, что они отличаются тем, что функция get считывает символ разрыва строк и оставляет...

cin.getline и cin.ignore - C++
Есть кусок кода в котором не могу разобраться. Если cin.ignore() есть, то теряется первый вводимый символ начиная со второго входа в for....

Cin.clear cin.ignore - C++
Как использовать cin.clear и cin.ignore?

cin.eof и cin.fail - C++
Для чего они нужны и какая разница между ними; cin.eof и cin.fail Я так понимаю они(оба) принемают 2 значения типа bool=true and false


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
13.10.2013, 14:42
Ответ Создать тему
Опции темы

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