Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Как подавить перенос строки после ввода cin? C++

KindsFeed Мудрец (11472), на голосовании 1 день назад
Как подавить перенос строки после ввода cin? C++

Код:
cout << "Ваша ставка: ";
cin >> bet;
cout << "$" << endl;

Вывод:
Ваша ставка 100
$

А надо:
Ваша ставка 100$

Надо что бы это в одну строку выводились и без дублирования информации последующим общим выводом
cout << "Ваша ставка: ";
cin >> bet;
cout << bet << "$" << endl;.
Тут даже гугл и chat gpt не справляются.
Голосование за лучший ответ
Anonim Admin Знаток (295) 1 месяц назад
не справляются потому что ты когда значения вводишь, enter прожимаешь.
KindsFeedМудрец (11472) 1 месяц назад
Да, чат гпт это и называет проблемой, но решить ее не может
RatÆCat Оракул (60243) 1 месяц назад
cout << end;

Или в твоём случае можно написать

cout << "\n$" << end;
KindsFeedМудрец (11472) 1 месяц назад
?
RatÆCat Оракул (60243) KindsFeed, или след. строчной после ввода пишешь как у меня в первой строке, или можешь написать \n, как я показал
RatÆCatОракул (60243) 1 месяц назад
*след. срокой
KindsFeedМудрец (11472) 1 месяц назад
Типа
cout << "Ваша ставка: ";
cin >> bet;
cout << "\n$" << end;
?
RatÆCat Оракул (60243) KindsFeed, да
vostroenteris Мудрец (17443) 1 месяц назад
Вот, у меня получилось. А после ввода именно cin - никак.
 #include <iostream> 
#include<conio.h>
using namespace std;
int main()
{
setlocale(0, "");
cout << "Ваша ставка: ";

char ch;
while ((ch = _getch()) != '\r')
{
cout << ch;
}
cout << "$" << endl;
}
vostroenterisМудрец (17443) 1 месяц назад
Вот с обработкой бекспейса, иначе у тебя будут перезаписываться число вместо удаления
 #include <iostream> 
#include<conio.h>
using namespace std;
int main()
{
setlocale(0, "");
cout << "Ваша ставка: ";

string input = "";
char input_char;
while ((input_char = _getch()) != '\r')
{
if (input_char == '\b') // Обработка backspace
{
if (input.length() != 0)
{
input.pop_back();
cout << "\b";
_putch(' ');
cout << "\b";
}
}
else
{
cout << input_char;
}
}
cout << "$" << endl;
}
vostroenteris Мудрец (17443) vostroenteris, в else ещё добавь input += input_char, забыл
vostroenterisМудрец (17443) 1 месяц назад
Ну и это ввод строки, просто проследи чтобы сюда вводили только цифры и дальше преобразуй строку в int
KindsFeedМудрец (11472) 1 месяц назад
Выдает ошибку на _putch( ' ' );
vostroenteris Мудрец (17443) KindsFeed, у меня через копипаст работает, смотри что за ошибка, гугл в помощь, conio.h работет на винде ,поэтому если у тебя другая ОС или онлайн компилятор может выдать ошибку. На крайняк первый вариант который я скидывал, там путч нет
Похожие вопросы