Salve stavo scrivendo questo codice in cui preso in input una frase dice quante consonanti ci sono, non riesco a fixare questo bug ovvero la seconda frase che viene inserita il primo carattere viene sempre cancellato e non capisco perchè. (non posso usare le funzioni)
C++:
#include <fstream>
#include <iostream>
#include <sstream>
#include <string>
#include <conio.h>
using namespace std;
int main()
{
string frase,frase_s;
int consonanti=0,p_frasi,lun,len;
cout<<"quanti frasi vuoi analizzare? ";
cin>>p_frasi;
while(p_frasi>0)
{
p_frasi--;
cout<<"inserisci la frase : ";
cin.ignore();
getline(cin,frase);
frase_s=frase;
lun=frase.size();
len=lun;
for(int x=0; x<lun; x++)
{
for (int i = 0; i < lun; i++)
{
if (frase[i]==' ')
{
frase.erase(i,1);
lun--;
i--;
}
}
}
for(int x=0;x<len; x++)
{
if(frase[x] != 'a' && frase[x]!= 'e' && frase[x]!= 'i' && frase[x] != 'o' && frase[x] != 'u' )
{
consonanti++;
}
}
cout<<"la frase "<<frase_s<<" e' lunga "<<lun<<" ed contiene "<<consonanti<<" consonanti "<<endl;
//stampa dei risultati
}
return 0;
}