Učím se C++ s knihou "Mistrovství v C++", jsem u lekce 7 (Funkce) a dělám programátorská cvičení. Mám danou strukturu student, která má následující vlastnosti:
const int SLEN=20;
struct student
{
char fullname[SLEN];
char hobby[SLEN];
int ooplevel;
}
a mám udělat fci, která přebírá v argumentech ukazatel na pole těchto struktur a možnou délku, která do tohoto pole načte struktury a vrátí opravdovou (načtenou) velikost pole. Vstup (načítání struktur) se ve funkci ukončí buď, když je dosaženo maximální velikosti, nebo když uživatel místo jména dalšího žáka zadá pouze prázdný řádek. Napsal jsem tedy tento kód:
int getinfo(student pa[], int n)
{
char slovo[SLEN];
int i=0;
cout << "Jmeno studenta " << i+1 << ": ";
cin.getline(slovo,SLEN);
while (strcmp(slovo,"\n")&&(i<n))
{
strcpy(pa[i].fullname,slovo);
cout << "Hobby: ";
cin.getline(slovo,SLEN);
strcpy(pa[i].hobby,slovo);
cout << "Level OOP: ";
cin >> pa[i].ooplevel;
cin.get();
i++;
if (i<n)
{
cout << "\nJmeno studenta " << i << ": ";
cin.getline(slovo,SLEN);
}
}
return i;
}
Cyklus ale bohužel nefunguje vůbec jak má. Podmínka cyklu se jakoby vůbec nevyhodnocuje. Nevíte někdo, kde mám chybu?