AngeL)
07-09-2006, 14:02
scrivendo un programma che doveva generare tutte le possibili conbinazioni di nomi e aggettivi prendendoli da due file e scriverle su un altro file ho riscontrato un errore.
questi sono i due file:
(nomi.txt)
Fiore
Casa
----
(aggettivi.txt)
Rosso
Giallo
Questo è il programma
(programma.cpp)
string nome,aggettivo;
ofstream com("combinazioni.txt");
ifstream agg("aggettivi.txt");
ifstream nom("nomi.txt");
while(getline(aggettivi,aggettivo))
{
while(getline(nomi,nome))
{
com << nome << " " << aggettivo << endl;
}
}
Il problema è che sul file combinazioni.txt vengono fatte solo le combinazioni con il primo aggettivo
Credo che il problema risieda nel fatto che il getline del secondo while vale true alla prima esec del primo while, ma false dopo, a causa del raggiungimento dell'EOF
esiste un modo per evitare che questo accada? :help:
questi sono i due file:
(nomi.txt)
Fiore
Casa
----
(aggettivi.txt)
Rosso
Giallo
Questo è il programma
(programma.cpp)
string nome,aggettivo;
ofstream com("combinazioni.txt");
ifstream agg("aggettivi.txt");
ifstream nom("nomi.txt");
while(getline(aggettivi,aggettivo))
{
while(getline(nomi,nome))
{
com << nome << " " << aggettivo << endl;
}
}
Il problema è che sul file combinazioni.txt vengono fatte solo le combinazioni con il primo aggettivo
Credo che il problema risieda nel fatto che il getline del secondo while vale true alla prima esec del primo while, ma false dopo, a causa del raggiungimento dell'EOF
esiste un modo per evitare che questo accada? :help: