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

Вопрос по переносу строк и антизакрытию программы (Консоль) - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.73
Manok
 Аватар для Manok
21 / 21 / 1
Регистрация: 23.09.2010
Сообщений: 119
23.09.2010, 20:15     Вопрос по переносу строк и антизакрытию программы (Консоль) #1
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
using namespace std;
int main ()
{
for(;;)
{
double lol;
cin >> lol;cout << "cm";
cout << lol/100 << "m";
//printf("\n");
//cout << "You a good person!";
//system ("PAUSE");
}
return 0;
}
Я новичок в CPP, прочитал несколько глав книги Герберта Шилдта, решил написать программу ввода числа сантиметров, и вывода кол-ва метров.
1 Вопрос - Как кроме того, чтобы поставить бесконечный цикл в main() сделать так, чтобы программа не закрывалась? Пытался сделать getchar(), но безрезультатно.
2 Вопрос - При вводе кол-ва сантиметров и нажатию ENTER, cm - выплывают на следующей строке. Т.е. как я понял при нажатии ENTER в консоле идет автопереход на следующую строку. Как мне сделать cm на той же строке что и значение?

Извиняюсь, если неправильно объяснил, или ошибся веткой.
p.s. компилятор Dev-C++.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.09.2010, 20:15     Вопрос по переносу строк и антизакрытию программы (Консоль)
Посмотрите здесь:

Вопрос про консоль C++
Консоль. Чисто технический вопрос. C++
Запуск программы через C++ и консоль C++
C++ Запуск программы через консоль
Консоль закрывается после выполнения программы C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
iama
 Аватар для iama
1249 / 974 / 48
Регистрация: 30.07.2010
Сообщений: 5,297
23.09.2010, 20:20     Вопрос по переносу строк и антизакрытию программы (Консоль) #2
1.
C++
1
2
3
while (true) {
...
}
Manok
 Аватар для Manok
21 / 21 / 1
Регистрация: 23.09.2010
Сообщений: 119
23.09.2010, 20:23  [ТС]     Вопрос по переносу строк и антизакрытию программы (Консоль) #3
Цитата Сообщение от iama Посмотреть сообщение
1.
C++
1
2
3
while (true) {
...
}
Это же тоже цикл?
iama
 Аватар для iama
1249 / 974 / 48
Регистрация: 30.07.2010
Сообщений: 5,297
23.09.2010, 20:26     Вопрос по переносу строк и антизакрытию программы (Консоль) #4
Manok, вы мало читаете, почитайте ещё.
Manok
 Аватар для Manok
21 / 21 / 1
Регистрация: 23.09.2010
Сообщений: 119
23.09.2010, 20:27  [ТС]     Вопрос по переносу строк и антизакрытию программы (Консоль) #5
Хорошо, извиняюсь за глупые вопросы.
А вопрос 2?
iama
 Аватар для iama
1249 / 974 / 48
Регистрация: 30.07.2010
Сообщений: 5,297
23.09.2010, 20:28     Вопрос по переносу строк и антизакрытию программы (Консоль) #6
Manok, не вижу очевидного решения, придумать это будет непросто. да и смысла в этом нет.
PointsEqual
ниначмуроФ
 Аватар для PointsEqual
832 / 516 / 33
Регистрация: 12.10.2009
Сообщений: 1,915
23.09.2010, 20:42     Вопрос по переносу строк и антизакрытию программы (Консоль) #7
Цитата Сообщение от Manok Посмотреть сообщение
Как кроме того, чтобы поставить бесконечный цикл в main() сделать так, чтобы программа не закрывалась? Пытался сделать getchar(), но безрезультатно.
C++
1
2
#include <conio.h>
getch();
getch() - перед return 0;
Manok
 Аватар для Manok
21 / 21 / 1
Регистрация: 23.09.2010
Сообщений: 119
23.09.2010, 20:42  [ТС]     Вопрос по переносу строк и антизакрытию программы (Консоль) #8
iama, да, действительно смысла нет. Но всё таки смог добиться результата -
C++
1
printf("%fcm %fm\n", lol, lol/100);
Может кому пригодится. Спасибо за помощь.

p.s. полный код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <stdio.h>
#include <iostream>
using namespace std;
int main ()
{
double lol;
cin >> lol;
printf("%fcm %fm\n", lol, lol/100);
char c;
while((c=getchar()) != '.')
{
cin >> lol;
printf("%fcm %fm\n", lol, lol/100);
}
return 0;
}
При нажатии на точку, программа закрывается.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.09.2010, 20:48     Вопрос по переносу строк и антизакрытию программы (Консоль)
Еще ссылки по теме:

Не выводит в консоль результаты работы программы C++
C++ Убрать консоль при запуске программы
Подсчет строк с использованием буфера (codebloks, консоль) C++

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

Или воспользуйтесь поиском по форуму:
Andrew_Lvov
Эксперт C++
 Аватар для Andrew_Lvov
259 / 189 / 5
Регистрация: 19.08.2010
Сообщений: 758
Записей в блоге: 1
23.09.2010, 20:48     Вопрос по переносу строк и антизакрытию программы (Консоль) #9
Цитата Сообщение от Manok Посмотреть сообщение
Может кому пригодится. Спасибо за помощь
std::cout << cm << "cm; " << cm/100 << "m" << std::endl;
В ситуации с printf вы всё равно будете вводить данные в одной строке, а вывод получите в другой.
И да, printf - это сишный стиль, к-рый не может проверить типы аргументов в момент компиляции.
Вопрос - Как кроме того, чтобы поставить бесконечный цикл в main() сделать так, чтобы программа не закрывалась? Пытался сделать getchar(), но безрезультатно.
Можете использовать _getche() из библиотеки conio.h
Yandex
Объявления
23.09.2010, 20:48     Вопрос по переносу строк и антизакрытию программы (Консоль)
Ответ Создать тему
Опции темы

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