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

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

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

Cin.get - C++

13.10.2013, 07:32. Просмотров 383. Ответов 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
Посмотрите здесь:

cin.get C++
cin.get() C++
a=get.cin() и get.cin(a) C++
C++ cin
cin C++
C++ cin и \n
C++ cin.get() и cin.clear()
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
d1skort
20 / 20 / 0
Регистрация: 10.02.2013
Сообщений: 75
13.10.2013, 11:08     Cin.get #2
C++
1
char z;
Toshik_
1 / 1 / 0
Регистрация: 17.08.2013
Сообщений: 91
13.10.2013, 13:55  [ТС]     Cin.get #3
Цитата Сообщение от d1skort Посмотреть сообщение
C++
1
char z;
не работает
alsav22
5413 / 4809 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
13.10.2013, 14:04     Cin.get #4
C++
1
char a[5], b[5], c[6];
Toshik_
1 / 1 / 0
Регистрация: 17.08.2013
Сообщений: 91
13.10.2013, 14:05  [ТС]     Cin.get #5
Цитата Сообщение от alsav22 Посмотреть сообщение
C++
1
char a[5], b[5], c[6];
Мне нужно работать с числами
MrGluck
Ворчун
Эксперт CЭксперт С++
6469 / 3667 / 460
Регистрация: 29.11.2010
Сообщений: 9,672
13.10.2013, 14:06     Cin.get #6
Запрет на ввод с клавиатуры
alsav22
5413 / 4809 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
13.10.2013, 14:09     Cin.get #7
MrGluck, тут не то.

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

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

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

Upd не, совсем не угадал
alsav22
5413 / 4809 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
13.10.2013, 14:23     Cin.get #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  [ТС]     Cin.get #11
Цитата Сообщение от alsav22 Посмотреть сообщение
Что за "значения цифр, соответствующих символам «A», «B», «C»"?
Какие-то цифры от 0 до 9
MrGluck
Ворчун
Эксперт CЭксперт С++
6469 / 3667 / 460
Регистрация: 29.11.2010
Сообщений: 9,672
13.10.2013, 14:32     Cin.get #12
Toshik_, считывать в char в любом случае, цифры отсеивать с помощью isdigit
alsav22
5413 / 4809 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
13.10.2013, 14:36     Cin.get #13
Цитата Сообщение от Toshik_ Посмотреть сообщение
Какие-то цифры от 0 до 9
Какие-то, значит любые можно использовать? Или какие-то конкретные? Почему именно 3, 6, 1? Или без разницы какие?
Toshik_
1 / 1 / 0
Регистрация: 17.08.2013
Сообщений: 91
13.10.2013, 14:41  [ТС]     Cin.get #14
Цитата Сообщение от alsav22 Посмотреть сообщение
Какие-то, значит любые можно использовать? Или какие-то конкретные? Почему именно 3, 6, 1? Или без разницы какие?
Без разницы, главное чтобы выполнялось равенство
MrGluck
Ворчун
Эксперт CЭксперт С++
6469 / 3667 / 460
Регистрация: 29.11.2010
Сообщений: 9,672
13.10.2013, 14:42     Cin.get #15
Toshik_, символы не могут иметь значение, равное уже известным числам? Т.е. например ни A ни В ни С не могут оказаться равными 4 или 5? И если А, например, равно 2, значит ли это, что ни B ни С уже не смогут иметь это значение?

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

cin.get() C++
Cin.get() C++
C++ While(cin)
Getline() и cin C++
Do while и cin.good C++

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

Или воспользуйтесь поиском по форуму:
Toshik_
1 / 1 / 0
Регистрация: 17.08.2013
Сообщений: 91
13.10.2013, 14:49  [ТС]     Cin.get #16
Цитата Сообщение от MrGluck Посмотреть сообщение
Toshik_, символы не могут иметь значение, равное уже известным числам? Т.е. например ни A ни В ни С не могут оказаться равными 4 или 5?
Именно так
Цитата Сообщение от MrGluck Посмотреть сообщение
[nick] И если А, например, равно 2, значит ли это, что ни B ни С уже не смогут иметь это значение?
Именно
Yandex
Объявления
13.10.2013, 14:49     Cin.get
Ответ Создать тему
Опции темы

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