Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.87/160: Рейтинг темы: голосов - 160, средняя оценка - 4.87
0 / 0 / 0
Регистрация: 11.12.2012
Сообщений: 18
1

Убрать переход на новую строку после "cin"

13.12.2012, 01:16. Показов 33373. Ответов 27
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Хотелось бы убрать переход на новую строку после "cin".
когда использую cin>>n;
после ввода, в консоли автоматически идет переход на новую строку. Возможно ли как то убрать его операциями из стандартной библиотеки
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.12.2012, 01:16
Ответы с готовыми решениями:

Переход на новую строку после N символов
Привет народ. Мне нужна помошь. Как сделать чтоб программа не выводила в одной строке более N...

Переход на новую строку после 10 чисел
Программа для вывода чисел между двумя числами. Нужно сделать так, чтобы через каждые 10 чисел...

Переход на новую строку после пробела
Как организовать переход на новую строку после пробела? Ну например как из строки "10 20 30",...

Отключить переход на новую строку при вводе в cin
Как отключить переход на новую строку, если в cin не было введено символов и был нажат ENTER. ...

Убрать переход на новую строку
Здравствуйте, нужна помощь в таком вопросе. Я добавлять в страничку код. Он всегда однотипный. ...

27
Форумчанин
Эксперт CЭксперт С++
8215 / 5045 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
13.12.2012, 01:31 2
не нажимайте Enter
0
0 / 0 / 0
Регистрация: 11.12.2012
Сообщений: 18
13.12.2012, 01:35  [ТС] 3
А что нажимать для ввода? мне просто для сдачи, и в задании ввод идет через cin. Я же не могу запретить проверяющему нажимать Enter.
0
11 / 11 / 0
Регистрация: 13.10.2012
Сообщений: 163
13.12.2012, 01:43 4
попробуй вот так:
C++
1
2
3
4
#include <conio.h>
...
char ch;
ch=getch();
0
0 / 0 / 0
Регистрация: 11.12.2012
Сообщений: 18
13.12.2012, 02:07  [ТС] 5
cin нужен=(
0
Форумчанин
Эксперт CЭксперт С++
8215 / 5045 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
13.12.2012, 02:16 6
Bronny, просто пробела хватит
0
0 / 0 / 0
Регистрация: 11.12.2012
Сообщений: 18
15.12.2012, 15:16  [ТС] 7
Есть какие то ещё предложения?

C++
1
2
3
cout<<"Отрезок равен : ";
cin>>a;
cout<<" см";
Допустим ввожу "5"

Выводит:
Код
Отрезок равен : 5
 см
Хочу:
Код
Отрезок равен : 5 см
0
go
Эксперт С++
3646 / 1378 / 243
Регистрация: 16.04.2009
Сообщений: 4,526
15.12.2012, 15:30 8
Цитата Сообщение от MrGluck Посмотреть сообщение
Bronny, просто пробела хватит
Ну нужно как-то окончить ввод.
Bronny, на чем пишете?
0
Форумчанин
Эксперт CЭксперт С++
8215 / 5045 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
15.12.2012, 15:30 9
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>
#include <clocale>
#include <cstdlib>
 
int main()
{
    setlocale(LC_ALL, "");
    int a;
    std::cout<<"Отрезок равен : ";
    std::cin >> a;
    system("cls");
    std::cout<<"Отрезок равен : " << a << " см";
}
1
go
Эксперт С++
3646 / 1378 / 243
Регистрация: 16.04.2009
Сообщений: 4,526
15.12.2012, 15:33 10
Цитата Сообщение от MrGluck Посмотреть сообщение
system("cls");
Вариант под винду.
0
0 / 0 / 0
Регистрация: 11.12.2012
Сообщений: 18
15.12.2012, 15:35  [ТС] 11
Цитата Сообщение от MrGluck Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>
#include <clocale>
#include <cstdlib>
 
int main()
{
    setlocale(LC_ALL, "");
    int a;
    std::cout<<"Отрезок равен : ";
    std::cin >> a;
    system("cls");
    std::cout<<"Отрезок равен : " << a << " см";
}
А, что бы вся консоль не чистилась, что можно сделать?
Только последняя строчка например.
0
go
Эксперт С++
3646 / 1378 / 243
Регистрация: 16.04.2009
Сообщений: 4,526
15.12.2012, 15:40 12
Bronny, ответить на мой вопрос. Кроссплатформенное здесь сложно придумать.
0
0 / 0 / 0
Регистрация: 11.12.2012
Сообщений: 18
15.12.2012, 15:45  [ТС] 13
Цитата Сообщение от go Посмотреть сообщение
Bronny, ответить на мой вопрос. Кроссплатформенное здесь сложно придумать.
С++
Microsoft Visual Studio 2012
Подключенные библиотеки:
C++
1
2
3
4
5
6
7
#include <cmath>
#include <iostream>
#include <locale>
#include <iomanip>
#include <stdio.h>
#include <windows.h>
using namespace std;
0
Форумчанин
Эксперт CЭксперт С++
8215 / 5045 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
15.12.2012, 15:52 14
Есть еще один костылек) ANSI-драйвер. На лине пашет
C++
1
2
3
4
5
6
7
8
9
#include <iostream>
 
int main()
{
    int a;
    std::cout << "Отрезок равен : ";
    std::cin >> a;
    std::cout << "\033[1A\033[18Cсм\n";
}
Добавлено через 4 минуты
Или даже так:
C++
1
2
3
4
5
6
7
8
9
#include <iostream>
 
int main()
{
    int a;
    std::cout << "Отрезок равен : ";
    std::cin >> a;
    std::cout << "\033[1A\033[KОтрезок равен : " << a << " см\n";
}
0
0 / 0 / 0
Регистрация: 11.12.2012
Сообщений: 18
15.12.2012, 15:57  [ТС] 15
Цитата Сообщение от MrGluck Посмотреть сообщение
Есть еще один костылек) ANSI-драйвер. На лине пашет
C++
1
2
3
4
5
6
7
8
9
#include <iostream>
 
int main()
{
    int a;
    std::cout << "Отрезок равен : ";
    std::cin >> a;
    std::cout << "\033[1A\033[18Cсм\n";
}
Добавлено через 4 минуты
Или даже так:
C++
1
2
3
4
5
6
7
8
9
#include <iostream>
 
int main()
{
    int a;
    std::cout << "Отрезок равен : ";
    std::cin >> a;
    std::cout << "\033[1A\033[KОтрезок равен : " << a << " см\n";
}
на линуксе можно пробелом делать ввод.
мне надо именно под Win32 console aplication
0
Форумчанин
Эксперт CЭксперт С++
8215 / 5045 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
15.12.2012, 16:00 16
Цитата Сообщение от Bronny Посмотреть сообщение
на линуксе можно пробелом делать ввод.
мне надо именно под Win32 console aplication
На Windows тоже. Другое дело, что для подтверждения ввода нужно Enter нажать, который пошлет '\n' в поток, что переведет каретку на новую строку. Смотрите в сторону conio.h, там должно быть что-то нужное для вас.
0
0 / 0 / 0
Регистрация: 11.12.2012
Сообщений: 18
15.12.2012, 16:02  [ТС] 17
Цитата Сообщение от MrGluck Посмотреть сообщение
На Windows тоже. Другое дело, что для подтверждения ввода нужно Enter нажать, который пошлет '\n' в поток, что переведет каретку на новую строку. Смотрите в сторону conio.h, там должно быть что-то нужное для вас.
это и ищу=(
0
go
Эксперт С++
3646 / 1378 / 243
Регистрация: 16.04.2009
Сообщений: 4,526
15.12.2012, 16:07 18
Bronny, вот
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
#include <iostream>
#include <Windows.h>
 
void GoToXY (COORD);
 
int main()
{
    std::cout << "ABC = ";
    _CONSOLE_SCREEN_BUFFER_INFO Info;
 
    GetConsoleScreenBufferInfo(GetStdHandle(STD_OUTPUT_HANDLE),  // handle to screen buffer
                                &Info  // screen buffer information
                            );
    int a;
    std::cin >> a;
 
    Info.dwCursorPosition.X = 0;
    GoToXY(Info.dwCursorPosition);
 
    std::cout << "ABC = " << a << " SM" << std::endl;
    
    std::system("pause");
}
 
void GoToXY (COORD coord)
{
    SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), coord);
}
Добавлено через 53 секунды
Конечно неплохо было бы проверить возвращаемое значение, но думаю Вы сами справитесь.
0
6 / 6 / 0
Регистрация: 14.10.2012
Сообщений: 13
15.12.2012, 16:07 19
а ели вот так?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>
#include<conio.h>
 
int main()
{
    setlocale(LC_ALL, "");
    int a;
    std::cout<<"Введите размер отрезка: ";
    std::cin >> a;
    std::cout<<"Отрезок равен : " << a << " см";
    _getch;
    
}
0
Форумчанин
Эксперт CЭксперт С++
8215 / 5045 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
15.12.2012, 16:14 20
go, все проще)
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>
#include <clocale>
#include <conio.h>
 
int main()
{
    setlocale(LC_ALL, "");
    char a;
    std::cout << "Отрезок равен : ";
    a = getche();
    std::cout << " см\n";
    //std::cout << a;
}
0
15.12.2012, 16:14
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.12.2012, 16:14
Помогаю со студенческими работами здесь

Убрать переход на новую строку
Есть форма, в которой кнопка. &lt;form method=&quot;POST&quot; action=&quot;account?login&quot;&gt; &lt;input...

Как заменить переход на новую строку на пробел, а пустую строку на переход на новую строку?
Подскажите как из одного текстового файла, в котором в каждом ряде содержится не больше одного...

Переход на новую строку после ввода данных
Всем привет, ребят помогите пожалуйста победить: Есть табличная форма, в ней 2 поля, в одно поле с...

Переход на новую строку в texbox после запятой
Помогите советом. Есть textbox, в него загружается из CheckedListBox текст через запятую: Вася,...

cin без перехода на новую строку
Как сделать, чтобы после считывания cin курсор не переводился на новую строку, а оставался на...

Переход на новую строку
У меня есть имя человека полное ФИО которое выводиться в строку макета, а мне надо что бы после...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru