помогите разобраться, как задержать консоль с результатом выполнения программы?
если вконце вставить 2 раза "cin.get(); " - идет задержка. вопрос - зачем нужно дублирование?
IDE - VC2010
//tenirovo4ka
#include <iostream>
#include <math.h>
int main()
{
using namespace std;
float r, x, y, z;
cout<<"Enter: x, y, z;"<< endl;
cin>>x>>y>>z;
r=sqrt(pow(x, 2)+pow(y,2)+pow(z, 2));
cout<<"r="<
Другие языки программирования и технологии
C++ и консоль
std::cin.get();
std::cin.get(); std::cin.get(); // после нажатия на Enter в потоке остаются символ \n - что соответствует переходу на другую строку. cin.get(), которая ждёт очередной символ из потока, с радостью его принимает. Это является причиной того, что программа продолжает своё выполнение без задержки.
// Пример - доказательство
#include <iostream>
using namespace std;
int main() {
int x;
cout << "x?.. "; cin >> x;
int ch = cin.get();
cout << "LF = " << ch << endl; // 10 - соответствует LF (Line Feed - перевод строки или \n)
cin.get(); // Далее пусто и программа ожидает ввода символа
return 0;
}
fflush(stdin); std::cin.get(); // А вообще в потоке может быть символов сколько угодно, поэтому надёжнее будет его очистить функцией fflush()
system("pause"); // С таким же успехом можно нажать на Ctrl + F5, что и надо делать
getch(); // требует #include <cstdio>
_getch(); // требует #include <cstdio>
std::cin.get(); std::cin.get(); // после нажатия на Enter в потоке остаются символ \n - что соответствует переходу на другую строку. cin.get(), которая ждёт очередной символ из потока, с радостью его принимает. Это является причиной того, что программа продолжает своё выполнение без задержки.
// Пример - доказательство
#include <iostream>
using namespace std;
int main() {
int x;
cout << "x?.. "; cin >> x;
int ch = cin.get();
cout << "LF = " << ch << endl; // 10 - соответствует LF (Line Feed - перевод строки или \n)
cin.get(); // Далее пусто и программа ожидает ввода символа
return 0;
}
fflush(stdin); std::cin.get(); // А вообще в потоке может быть символов сколько угодно, поэтому надёжнее будет его очистить функцией fflush()
system("pause"); // С таким же успехом можно нажать на Ctrl + F5, что и надо делать
getch(); // требует #include <cstdio>
_getch(); // требует #include <cstdio>
В паскале был такой прикольчик тоже - если написать 1 раз, то нифига оно не работало. Но не всегда, иногда таки работало. Не знаю, с чем связано.
Павел Смирнов
Не работало после read. Опять же из-за символа конца строки. Первый readln после read считывал конец строки, второй ждал ввода нового конца строки.
Вроде потому что в конце ввода остается знак перевода строки, который считывается первым get.
Собственно, ничто тебе не мешает сделать
int a;
cin>>a;//что-то считываем
a=cin.get();
int b=cin.get();
cout << a << " " << b;
и посмотреть, что именно считывают два get-а.
Собственно, ничто тебе не мешает сделать
int a;
cin>>a;//что-то считываем
a=cin.get();
int b=cin.get();
cout << a << " " << b;
и посмотреть, что именно считывают два get-а.
Запускай с консоли, или добавь Ожидание нажатия клавиши.. .
Не помню - дамно это было
Не помню - дамно это было
плохая //tenirovo4ka мясо в коде устраивать. с чего начинается РОДИНА
system("pause");
Aleksandr Drobka
В батнике то 100% - pause, катит...
Похожие вопросы
- Нужен хороший учебник по C++ (чистая консоль)
- C++ проблемма русификации консоли. не могу сделать чтобы консоль была русской
- C++(консоль) Программа, которая выводит данные треугольников со стороной максимум 5000
- Как в C# скрыть ввод и вывод данных в консоль?
- Вывести в консоль полые геометрические фигуры используя язык C и библиотеку stdio.h .
- Как на c++ реализовать прием строки произвольного размера из консоли?
- Как рисовать линии в консоли C++? В Windows. Весь интернет перерыл, не нашел :(
- С# - нужно сделать так, чтобы консоль читала слова, как переменные, а не просто слова...
- Учусь програмировать на C++ по книге "C++ для чайников".Проблема.
- Зачем нужен C++, если есть C?