Как сделать так, чтобы два входа отображались в одной строке? - PullRequest
1 голос
/ 02 мая 2011

В c ++, если мы заставляем программу принимать входные данные от пользователя, это будет либо целое число, либо символ.

После этого ввода следующий или следующий ввод автоматически записывается в следующую строку.

#include <iostream>

int main()
{
    int a,b;
    std::cout<<"Enter two numbers to add\n";
    std::cin>>a;
    std::cin>>b;
    std::cout<< a+b;
}

вывод такой:

Enter two numbers to add
3
5
8

Я хочу, чтобы 3 и 5 были написаны в одной строке.

Ответы [ 2 ]

1 голос
/ 02 мая 2011

Слово, которое вы ищете, называется "разбором". Вы берете все входные данные как 1 переменную и разделяете их, используя любой подходящий для вас метод. В некоторых языках программирования есть несколько встроенных методов для разбиения строкового ввода в массив на основе заданного вами значения. Возможно, вы захотите взглянуть на: Разделить строку в C ++?

0 голосов
/ 31 марта 2016

То, что ввод появляется в двух отдельных строках, не имеет ничего общего с вашей программой; Это связано с тем, что при вводе ввода вы нажимали <Enter> после 3. Полученный символ новой строки отображается вашим терминалом / консолью, а не вашей программой.

Использование istream::operator>>( int ) автоматически пропускает начальные пробелы. Таким образом, ваш пользователь также может написать 3 5 в одну строку. std::cin>>a; будет потреблять 3, а std::cin>>b; будет пропускать пространство и потреблять 5. Ваш терминал / консоль будет выглядеть так:

Enter two numbers to add
3 5
8

Обратите внимание, что это совершенно не связано с кодом вашей программы. Если пользователь нажимает <Enter> между цифрами, вы ничего не можете с этим поделать, если не взять полный контроль над терминалом / консолью.

Это может быть выполнено с использованием _getch() в Windows, ncurses во многих других системах или любой другой операционной системы. Вы будете читать нажатия клавиш напрямую, без терминала / консоли, повторяющего то, что введено. Затем вы отвечаете за эхо, редактирование строки и т. Д.

Это совсем другой вопрос.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...