Réponse acceptée !
Ton programme a BEAUCOUP de problèmes. En voici une version corrigé rapidement mais fonctionnelle:
#include <stdio.h>
#include <stdlib.h>
typedef struct cc
{
char nom[200], pre[200];
int age;
struct cc *next;
}per;
per *last = 0, *first = 0;
void entre (void)
{
while(1)
{
char c;
per *liste;
fflush(stdin);
printf("voulez vous entrer un patient (o/n)? "); scanf("%c", &c);
if(c != 'o') break;
liste = (per*)malloc(sizeof(per));
fflush(stdin);
printf("entre le nom: "); gets(liste->nom);
printf("entre le prenom: "); gets(liste->pre);
printf("entre l'age: "); scanf("%d", &liste->age);
liste->next = 0;
if(last != 0) last->next = liste;
last = liste;
if(first == 0) first = liste;
}
}
void affiche (void)
{
int i = 1;
per *c = first;
if(c == 0)
return;
while(c != NULL)
{
per *tmp;
printf("la %d personne est %s %s, %d ans\n", i, c->nom, c->pre, c->age);
i++;
tmp = c->next; free(c);
c = tmp;
}
}
void main (void)
{
entre();
affiche();
system("pause");
}
Je crois que tu devrais réviser quelque notion du C.
Bonne continuation.
C++ (@++)