@kikakater:
Code:
void show_users (struct s_prg1 *prg1)
{
int usernr;
struct s_benutzer *user;
usernr= 0;
user= get_user(prg1,usernr);
for(;usernr<prg1->nof_users;usernr++,user++)
{
output(user,usernr+1);
}
}
Warum schreibst du die Initialisierungen der FOR-Schleife nicht gleich hinter das FOR?
Code:
for(usernr= 0;
usernr<prg1->nof_users;
usernr++)
{
user = get_user(prg1,usernr);
if (user != NULL)
{
output(user,usernr+1);
}
}
Das wäre leichter lesbar und erweiterbar. Dein Programm ist zwar richtig, aber es setzt voraus, dass der Leser die interne Implementation von get_user und dessen Speicherverwaltung kennen muss. Eine C++-Klasse hätte den Vorteil, dass man durch Verwendung von Member-Variablen den Parameter prg1 nicht in allen Funktionen mitschleppen müsste.