Estou iniciando em C++, durante alguns testes notei que após a segunda iteração do while o comando cin.getline não era lido exibindo a linha após ele. Não entendo oq ocorre. Segue o código:
#include <iostream>
#include <fstream>
#include <string>
#include <cctype>
using namespace std;
int main(void) {
char matter[20] = " ";
string category(" ");
ofstream write;
bool control = true;
char op = ' ';
while (control) {
cout << "Enter matter: ";
cin.getline(matter, 20);//--------
write.open("database.txt" , ofstream::app);
write << "->" << matter << "\n";
write.close();
cout << "Prosseguir?[Y/N]: ";
cin >> op;
op = toupper(op);
if (op == 'N') {
return 0;
}
}
}
Se alguém souber oq é...