Я пишу небольшую программу отчетов на основе cmd. Делая это, я многому научился, но столкнулся с одной проблемой. Когда я пытаюсь записать заметки с пробелами между словами, я просто застреваю в бесконечности. Я использовал node для хранения строковых данных, но он работает для строк без пробелов.
Я пробовал cin.getline(Name, sizeof(Name));
, который отлично подходит для ввода имени, но не для массива данных
Что Я пытаюсь добиться того, что получил в то время как l oop, где он перезапускает те же строки, пока переменная endhift не будет равна y для остановки.
while (end1 != "y")
{
cout << "Field Treated: ";
cin >> Field;
cout << "Hospitalized: ";
cin >> Hosp;
SumF = SumF + Field;
SumH = SumH + Hosp;
cout << "Notes: " << endl;
cin >> notez;
note.createnode(notez);
cout << "End shift: Y/N" << endl;
cin >> end1;
}
И когда дело доходит до «Заметок», я не могу ввести данные с несколькими словами / пробелом
ОБНОВЛЕНИЕ:
Я понимаю, что мне нужно прочитать данные в l oop, если они находятся в массиве. Мне нужно многократно вводить «заметки» в массив с пробелами в нем. Например, примечание может быть 1. Сегодня был длинный день, поэтому я вздремнул. 2. Ничего Я не знаю, имеет ли это смысл
Мои переменные:
list note;
int SumF = 0, SumH = 0, Field, Hosp, n = 1;
string end1;
char Name[100];
string notez;
//Time
int StartShiftHH, StartShiftMM;
int EndShiftHH, EndShiftMM;
char ch;