Bonjour à tous,
J'avais une application test qui fonctionnait très bien depuis un an.
C'est une vidéothèque qui insérait tout simplement un réalisateur puis lui attribue des films. C'est le seul projet en langage C que j'ai réalisé.
Enfin seul, non ... j'en réalise un en ce moment, et j'ai décidé également d'integrer mon ancien projet dans le nouveau ...
Cependant, j'ai fais quelques modifs directement dans le script de la premiere application, pour qu'à chaque fois que l'on saisit un réalisateur, on nous demande si on veut saisir directement les films ou pas de ce réalisateur ( alors qu'autrefois on saisissait une série de réalisateur, puis on fait une recherche d'un réalisateur et on lui saisie autant de films que l'on lui souhaite ... )
Pour les fanatiques du langages C, voici un code partiel de l'ancienne application*
Spoilerrealisateur AddRealisateur(realisateur tmp)
{
realisateur cour;
char test;
do
{
cour=malloc(sizeof(*cour));
printf("\nEntrez un nom de realisateur : ");
scanf("%s",cour->real);
cour->realisateurNext=tmp;
cour->filmNext=NULL;
tmp=cour;
do{
cour->filmNext=NULL;
tmp=cour;
return(tmp);
} while(strcmp(tmp->real,"0"));
}
void AddFilm(realisateur pp)
{ char nomf[20]; film courf;
printf("A quel realisateur voulez-vous ajouter un film ?\n");
scanf("%s", nomf);
while(strcmp(pp->real,nomf))
{
pp=pp->realisateurNext;
do {courf=malloc(sizeof(*courf));
printf("\nEntrez un titre de film : ");
scanf("%s",courf->titre);
courf->filmNext=pp->filmNext;
pp->filmNext=courf;} while(strcmp((pp->filmNext)->titre,"0"));};
}
Et maintenant la nouvelle version, celle qui ne marche pas bien évidemment ...
Spoilerrealisateur AddRealisateur(realisateur tmp)
{
realisateur cour;
char test;
do
{
cour=malloc(sizeof(*cour));
printf("\nEntrez un nom de realisateur : ");
scanf("%s",cour->real);
cour->realisateurNext=tmp;
cour->filmNext=NULL;
tmp=cour;
printf("Voulez vous saisir un film pour ce réalisateur ? O-N \n");
do{
scanf("%c", &test);
if ((test == 'o') || (test == 'O'))
{
cour->filmNext=NULL;
tmp=cour;
Addmovieviareal(cour);
return(tmp);
}
else
{
cour->filmNext=NULL;
tmp=cour;
return(tmp);
}}while((test != 'o') || (test != 'O') || (test != 'N') || (test != 'n'));
} while(strcmp(tmp->real,"0"));
}
void Addmovieviareal(realisateur pp)
{ film courf;
do {courf=malloc(sizeof(*courf));
printf("\nEntrez un titre de film : ");
printf("\nSi vous souhaitez ne plus inserer de film pour ce réalisateur, veuille saisir le chiffre 0");
scanf("%s",courf->titre);
courf->filmNext=pp->filmNext;
pp->filmNext=courf;} while(strcmp((pp->filmNext)->titre,"0"));
}[/spoiler
Voila ... j'arrive pas à trouver l'erreur mais en tout cas, il ne veut pas me le compiler ...
Voici le message d'erreur ...
225 C:\Documents and Settings\XYZ\Mes documents\XCV\Projet C\liste.c conflicting types for 'Addmovieviareal' *
210 previous implicit declaration of 'Addmovieviareal' was here
[liste.o] Error 1