есть программа:
#include <iostream>
int main(){
float volume = 0;
std::string command = "";
std::cin >> command;
if (command == "vol"){
std::cin >> volume;
}
std::cout << "Entered volume=" << volume;
}
если ввести не vol а потом допустим 58, а сразу vol 58 то проверка пройдет успешно, и заранее в пременную volume введется значение. Это как?
std::cin >> command;
читает одно слово, а именно ваше vol
.
Для чтения всей строки используйте функцию getline
.
std::cin
, используя operator<<
, читает из потока ввода до того, как встретит пробел (условий, на самом деле, больше, подробнее можно почитать здесь). Всё, что после пробела остаётся в буфере и может быть считано повторным вызовом этого оператора.
Можно читать всю строку до \n
, с использованием getline()
, либо же отбрасывать ненужные части буфера с помощью ignore()
.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Создал ATL Project, в него пытаюсь добавить простой ATL объектНазвал компонент Indexer, вижла создает соответсвующий интерфейс и класс Однако в файле...
Пытаюсь перенести проект с C++ на C#, однако в SystemMath C# отсутствует функция разложения на экспоненту и мантиссу (frexp в C++)
Я не понимаю, куда и что возвращает оператор returnВ функции main это говорит о завершении программы с кодом 0 (успешно), а что происходит в других...