Ввод данных о первой коробке срабатывает без ошибок. Но начиная со второй не происходит ввод названия (arr[i].name) - ввод просто пропускается и начинается ввод последующий данных. Никак не могу понять в чем проблема
#include <iostream>
#include <conio.h>
#include <string>
#include <windows.h>
using namespace std;
struct CandyBar {
string name;
double weight;
int calories;
};
int main() {
setlocale(LC_ALL, "");
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
CandyBar arr[3];
for (int i = 0; i < 3; i++) {
cout << "Введите название " << i+1 << " коробки: ";
getline(cin, arr[i].name);
cout << "Введите вес " << i+1 << " коробки: ";
cin >> arr[i].weight;
cout << "Введите число каллорий " << i+1 << " коробки: ";
cin >> arr[i].calories;
}
for (int i = 0; i < 3; i++) {
cout << "Данные о " << i + 1 << " коробке:\n";
cout << "Название: " << arr[i].name << endl;
cout << "Вес: " << arr[i].weight << endl;
cout << "Число калорий: " << arr[i].calories << endl;
}
_getch();
return 0;
}<br>
cin >> оставляет \n в потоке из-за чего getline() впоследствии не считывает строку, т.к. натыкается на \n и заканчивает свою работу. Чтобы решить эту проблему можно воспользоваться следующим методом:
#include <limits>
//...
//тут cin >>
cin.ignore(numeric_limits<streamsize>::max(), '\n');
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Нужно отцентровать весь текст с кнопкой по вертикалиПробовал много способов, но так ничего не получилось
Пишу игру, движение осуществляется с помощью кнопок (стрелок) на которых висит отслеживание onMouseDown (персонаж начинает двигаться) и OnMouseUp (персонаж...
Что сделать, чтобы ListBox не обрезал кнопки по ширине? При том, что применён margin ко всем сторонамЯ пытался загуглить, но там вопрос был в том,...