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

Как сделать ввод в одну строку? - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 22, средняя оценка - 4.95
Mr.Fox
 Аватар для Mr.Fox
1 / 1 / 0
Регистрация: 27.03.2011
Сообщений: 53
27.04.2011, 14:53     Как сделать ввод в одну строку? #1
как сделать ввод в одну строку, через нажатие ентера и отступа на N расстояние, такого типа:
C++
1
scanf("%d.%d.%d", &Year, &Month, &Day);
если такое возможно, если нет, то как можно это осуществить?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Sokolov
 Аватар для Sokolov
42 / 42 / 3
Регистрация: 04.01.2011
Сообщений: 125
27.04.2011, 16:49     Как сделать ввод в одну строку? #2
Через пробел в строку
C++
1
cin>>year>>month>>day;
Mr.Fox
 Аватар для Mr.Fox
1 / 1 / 0
Регистрация: 27.03.2011
Сообщений: 53
30.04.2011, 19:38  [ТС]     Как сделать ввод в одну строку? #3
Цитата Сообщение от Sokolov Посмотреть сообщение
Через пробел в строку
надо что бы по нажатию ентера на какое то расстояние переходило и ввод должен осуществляться в одну строку!

Добавлено через 22 часа 25 минут
ну подскажите что нибудь пожалуйста....
panicwassano
591 / 559 / 20
Регистрация: 07.11.2010
Сообщений: 2,004
30.04.2011, 23:39     Как сделать ввод в одну строку? #4
через пробел вводишь, потом жмешь ентер. Упс уже есть
Славик___077
21 / 21 / 3
Регистрация: 30.01.2011
Сообщений: 119
01.05.2011, 00:12     Как сделать ввод в одну строку? #5
cin>>x;
cout<<" ";
cin>>y;
cout<<" ";
cin>>z;
Mr.Fox
 Аватар для Mr.Fox
1 / 1 / 0
Регистрация: 27.03.2011
Сообщений: 53
01.05.2011, 13:03  [ТС]     Как сделать ввод в одну строку? #6
нет нет и нет! вы бы хоть версии свои проверили...
Gepar
 Аватар для Gepar
1173 / 529 / 20
Регистрация: 01.07.2009
Сообщений: 3,512
01.05.2011, 15:51     Как сделать ввод в одну строку? #7
Mr.Fox, ммм, сделай что-то вроде
"Введите то-то:/n"
-считываем строку, идёт нажатие энтер, делаем возврат на эту же строку, выводим только что считанную строку (всё произойдёт быстро и при вводе будет незаметно) и пару пробелов (сколько тебе надо) и опять делаем считывание строки (курсор получиться за тем что мы только что ввели и пробелами). После считывания возвращаемся назад на пред. строку и выводим оба считанных элемента и делаем опять считывание строки уже в 3ю переменную и т.д. Идея понятна?
А вообще зачем с этого делать проблему, нажал энтер - получил преход на сл. строку, всё логично ведь.
CEBEP
105 / 105 / 9
Регистрация: 21.03.2010
Сообщений: 437
01.05.2011, 15:57     Как сделать ввод в одну строку? #8
накрайняк есть getch(), она возвращает код нажатой клавиши и ничего не выводит. скажим, с её помощью организовать считывание, а на ввод отвечать выводом двух пробелов...
Mr.Fox
 Аватар для Mr.Fox
1 / 1 / 0
Регистрация: 27.03.2011
Сообщений: 53
01.05.2011, 19:28  [ТС]     Как сделать ввод в одну строку? #9
примерный код пожалуйста
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.05.2011, 22:40     Как сделать ввод в одну строку?
Еще ссылки по теме:

Ввод переменных через пробел в одну строку C++
Как в матрице удалить одну строку и столбец? C++
Как сделать одну глобальную переменную C++

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

Или воспользуйтесь поиском по форуму:
CEBEP
105 / 105 / 9
Регистрация: 21.03.2010
Сообщений: 437
01.05.2011, 22:40     Как сделать ввод в одну строку? #10
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
#include<conio.h>
#include<iostream>
 
int askInteger()
{
    int ret = 0;
    char cnt = getch();
    while(cnt >= '0' && cnt <= '9')
    {
        ret *= 10;
        ret += cnt - '0';
        std::cout << cnt;
        cnt = getch();
    }
    std::cout << "   ";
    return ret;
}
 
void main()
{
    int x = askInteger(),
        y = askInteger(),
        z = askInteger();
    std::cout << '\n' << x << '\t' << y << '\t' << z << '\n';
}
но на мой взгляд это очень топорно. наверняка есть более цивилизованный метод...
Yandex
Объявления
01.05.2011, 22:40     Как сделать ввод в одну строку?
Ответ Создать тему
Опции темы

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