Problem de 'left operand must be a lvalue"

orezza Messages postés 38 Date d'inscription vendredi 1 août 2003 Statut Membre Dernière intervention 12 mai 2005 - 14 déc. 2003 à 21:18
orezza Messages postés 38 Date d'inscription vendredi 1 août 2003 Statut Membre Dernière intervention 12 mai 2005 - 14 déc. 2003 à 22:49
Voila je vous mets le code qui est un code trouver sur ce site mais que j'ai modifié. je ne comprends pas les erreurs de compilations pourriez-vous rapidement me repondre.

Merci d'avance.

#include <string.h>
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>

#define MAX 30

typedef struct Arbre
{
int Noeud;
char nom[MAX];
char prenom[MAX];
float liste_note_TP[MAX];
float liste_note_TD[MAX];
char tel[MAX];
struct Arbre *SAG;
struct Arbre *SAD;

} Arbre;

AfficherArbreCroissant(Arbre *Racine)
{
if (Racine!=NULL)
{
AfficherArbreCroissant(Racine->SAG);
printf("Td:%d ",Racine->Noeud);
printf("Nom: %s",Racine->nom);
printf("Prenom: %s",Racine->prenom);
printf("Telephone: %s",Racine->tel);
printf("Liste des notes de tp: %f",Racine->liste_note_TP);
printf("Liste des notes de td: %f",Racine->liste_note_TD);
AfficherArbreCroissant(Racine->SAD);
}
}

Arbre* CreerNoeud(Arbre *Racine,int valeur, char NOM[MAX], char PRENOM[MAX], float Liste_note_TP[MAX], float Liste_note_TD[MAX], char TEL[MAX])
{

if (Racine!= NULL)
{
if (Racine->Noeud>valeur)
{
Racine->SAG=CreerNoeud(Racine->SAG,valeur,NOM,PRENOM,Liste_note_TP,Liste_note_TD,TEL);
}
else
{
Racine->SAD=CreerNoeud(Racine->SAD,valeur,NOM,PRENOM,Liste_note_TP,Liste_note_TD,TEL);
}
}
else
{
Racine=(Arbre*)malloc(sizeof(Arbre));
Racine->Noeud = valeur;
Racine->nom = NOM; //le bug est la left operand muste be l-value
Racine->prenom= PRENOM; //le bug est la left operand muste be l-value
Racine->tel = TEL;//le bug est la left operand muste be l-value
Racine->liste_note_TP = Liste_note_TP;//le bug est la left operand muste be l-value
Racine->liste_note_TD = Liste_note_TD;//le bug est la left operand muste be l-value
Racine->SAD = NULL;
Racine->SAG = NULL;
}

return Racine;
}

Arbre* RechercheNoeud(Arbre *Racine, int valeur)
{
if (Racine!=NULL)
{
if (Racine->Noeud>valeur)
{
Racine=RechercheNoeud(Racine->SAG,valeur);
}
else
{
if (Racine->Noeud<valeur)
{
Racine=RechercheNoeud(Racine->SAD,valeur);
}
}
return Racine;
}
}

Arbre * OterNoeud(Arbre * Racine, int valeur)
{
Arbre * NoeudASupprimer;
if (Racine->Noeud==valeur) // on a trouvé l'élément à supprimer
{
NoeudASupprimer=Racine;
if (NoeudASupprimer->SAG==NULL) //si ya pa de SAG, on retourne SAD
return NoeudASupprimer->SAD;
else
{
Racine=NoeudASupprimer->SAG; //sinon on recherche dans SAG l'endroit pour insérer le SAD
while (Racine->SAD!=NULL)
{
Racine=Racine->SAD;
}
Racine->SAD=NoeudASupprimer->SAD;
return NoeudASupprimer->SAG;
}
free(NoeudASupprimer);
}
else
{
if (Racine->Noeud>valeur)
{
Racine->SAG=OterNoeud(Racine->SAG,valeur);
}
else
{
Racine->SAD=OterNoeud(Racine->SAD,valeur);
}
}
return Racine;
}

int Menu(void)
{
int Choix;
do
{
system("cls"); //efface l'écran

printf("\n 1- Ajouter un noeud");
printf("\n 3- Afficher l'arbre dans l'ordre croissant");
printf("\n 7- Rechercher un noeud");
printf("\n 8- Enlever un noeud");
printf("\n 11- Quitter\n");
printf("\n\n\n\n\n\n\nChoix :");
scanf("%d",&Choix);
} while (Choix <1 || Choix >11);
system("cls");
return Choix;
}

void main(void)
{
int valeur, nbr, nbr1, i, j;
char NOM[MAX], PRENOM[MAX], TEL[MAX];
float Liste_note_TP[MAX], Liste_note_TD[MAX];
int Choix;
char *NomFic="Fic.txt";
Arbre *Racine;
Arbre *RepRecherche;
//on initialise le pointeur de tete
Racine=NULL;
Choix = Menu();
while (Choix!=11)
{
if (Racine==NULL && Choix>1 && Choix <10)
{
printf("Vous devez d'abord saisir un arbre");
printf("\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nAppuyez sur une touche pour retourner au menu principal");
getch();
}
else
{
switch (Choix)
{
case 1 : {
printf("(0 pour finir la saisie)");
scanf("%d",&valeur);
printf("\n\tNumero de td de l'eleve a saisir:");
scanf("%d",&valeur);
printf("\n\tSaisissez a present les caracteristiques de l'eleve\n");
printf("\n\n\tNom: ");
scanf("%s", NOM);
printf("\n\tPrenom: ");
scanf("%s", PRENOM);
printf("\n\tTelephone: ");
scanf("%s", TEL);
printf("\n\tEntrer le nombre de note de Tp:");
scanf("%d", &nbr);
for(i=0; i< nbr; i++)
{
printf("Note No%d: " , i+1);
scanf("%f", Liste_note_TP[i]);
}
printf("\n\tEntrer le nombre de note de Td:");
scanf("%d" , &nbr1);
for(j=0; j<nbr1; j++)
{
printf("Note No%d: ", j+1);
scanf("%f", Liste_note_TD[j]);
}

while (valeur != 0)
{
Racine=CreerNoeud(Racine,valeur,NOM,PRENOM,Liste_note_TP,Liste_note_TD,TEL);
printf("Numero de td de l'eleve a saisir(0 pour finir la saisie) : ");
scanf("%d",&valeur);
printf("\n\tNumero de td de l'eleve a saisir:");
scanf("%d",&valeur);
printf("\n\tSaisissez a present les caracteristiques de l'eleve\n");
printf("\n\n\tNom: ");
scanf("%s", NOM);
printf("\n\tPrenom: ");
scanf("%s", PRENOM);
printf("\n\tTelephone: ");
scanf("%s", TEL);
printf("\n\tEntrer les notes de Tp: ");
scanf("%f", &Liste_note_TP);
printf("\n\tEntrer les notes de Td: ");
scanf("%f", &Liste_note_TD);
}
}
break;

case 2 :
{
AfficherArbreCroissant(Racine);
printf("\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nAppuyez sur une touche pour retourner au menu principal");
getch();
}
break;

case 3 :
{
printf("Saisir la valeur a rechercher : ");
scanf("%d", &valeur);
RepRecherche=RechercheNoeud(Racine,valeur);
if (RepRecherche->Noeud == valeur)
{
printf("%d", RepRecherche->Noeud);
}
else
{
printf("Impossible de trouver la valeur recherch\202e");
}
printf("\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nAppuyez sur une touche pour retourner au menu principal");
getch();
}
break;

case 4 :
{
printf("Saisir la valeur du noeud \205 supprimer : \n");
scanf("%d",&valeur);
Racine=OterNoeud(Racine,valeur);
printf("\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nAppuyez sur une touche pour retourner au menu principal");
getch();
}
break;

}
}
Choix=Menu();
}
}

7 réponses

BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
14 déc. 2003 à 21:23
Racine->nom est un pointeur !!!
strcpy(Racine->nom, NOM);
BruNews, ciao...
0
orezza Messages postés 38 Date d'inscription vendredi 1 août 2003 Statut Membre Dernière intervention 12 mai 2005
14 déc. 2003 à 21:42
BruNews, merci mais dis moi

Racine->Noeud = valeur; pkoi la j'ai pas d'erreur

et pourquoi içi j'ai une erreur ?!
Racine->liste_note_TP = Liste_note_TP ;

De plus comment je fais pour stoker maintenant mais tableaux de float ?!
strcpy(Racine->liste_note_TD, Liste_note_TP); ça ne marhce pas.

quelle solution adoptée ?

Merci d'avance
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
14 déc. 2003 à 21:57
Faudrait commencer par lire serieusement un bouquin de C.
strcpy est pour les chaines(suite d'octets avec terminateur NULL).
Tu as memcpy pour copier d'une zone memoire vers une autre.
Racine->Noeud est int, tu affectes int, pourquoi il y aurait erreur ?
BruNews, ciao...
0
orezza Messages postés 38 Date d'inscription vendredi 1 août 2003 Statut Membre Dernière intervention 12 mai 2005
14 déc. 2003 à 22:01
Oui d'accord mais tu fais comment pour affecter un tableau de float ?!

avec memcpy ?!
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
14 déc. 2003 à 22:09
float A[10], B[10];
soit tu copies:
A[i] = B[i];
ou une copie complete:
memcpy(A, B, sizeof(float)*10);
enfin, on fait ce qu'on veut.
BruNews, ciao...
0
orezza Messages postés 38 Date d'inscription vendredi 1 août 2003 Statut Membre Dernière intervention 12 mai 2005
14 déc. 2003 à 22:47
BruNews pourrais tu une nouvelle fois m'aider au quelqu'un d'autre je ne comprends pas cet erreur ?!
ça compile mais ça plante kand on execute.
#include <string.h>
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>

#define MAX 30

//float Liste_note_TP[MAX], Liste_note_TD[MAX];

typedef struct Arbre
{
int Noeud;
char nom[MAX];
char prenom[MAX];
float liste_note_TP[MAX];
float liste_note_TD[MAX];
char tel[MAX];
struct Arbre *SAG;
struct Arbre *SAD;

} Arbre;

AfficherArbreCroissant(Arbre *Racine)
{
if (Racine!=NULL)
{
AfficherArbreCroissant(Racine->SAG);
printf("\n\n\tTd:%d ",Racine->Noeud);
printf("\n\tNom: %s",Racine->nom);
printf("\n\tPrenom: %s",Racine->prenom);
printf("\n\tTelephone: %s",Racine->tel);
printf("Liste des notes de tp: %f",Racine->liste_note_TP);
printf("Liste des notes de td: %f",Racine->liste_note_TD);
AfficherArbreCroissant(Racine->SAD);
}
}

Arbre* CreerNoeud(Arbre *Racine,int valeur, char NOM[MAX], char PRENOM[MAX], float Liste_note_TP[MAX], float Liste_note_TD[MAX], char TEL[MAX])
{

if (Racine!= NULL)
{
if (Racine->Noeud>valeur)
{
Racine->SAG=CreerNoeud(Racine->SAG,valeur,NOM,PRENOM,Liste_note_TP,Liste_note_TD,TEL);
}
else
{
Racine->SAD=CreerNoeud(Racine->SAD,valeur,NOM,PRENOM,Liste_note_TP,Liste_note_TD,TEL);
}
}
else
{
Racine=(Arbre*)malloc(sizeof(Arbre));
Racine->Noeud = valeur;
//le bug est la left operand muste be l-value
strcpy(Racine->nom, NOM);
strcpy(Racine->prenom, PRENOM);
strcpy(Racine->tel, TEL);
memcpy(Racine->liste_note_TP, Liste_note_TP, sizeof(float)*30);
memcpy(Racine->liste_note_TD, Liste_note_TD, sizeof(float)*30);

/*Racine->liste_note_TP = Liste_note_TP ;
Racine->liste_note_TD = Liste_note_TD ;
strcpy(Racine->liste_note_TD, Liste_note_TP);
strcpy(Racine->liste_note_TD,Liste_note_TD);*/
Racine->SAD = NULL;
Racine->SAG = NULL;
}

return Racine;
}

Arbre* RechercheNoeud(Arbre *Racine, int valeur)
{
if (Racine!=NULL)
{
if (Racine->Noeud>valeur)
{
Racine=RechercheNoeud(Racine->SAG,valeur);
}
else
{
if (Racine->Noeud<valeur)
{
Racine=RechercheNoeud(Racine->SAD,valeur);
}
}
return Racine;
}
}

Arbre * OterNoeud(Arbre * Racine, int valeur)
{
Arbre * NoeudASupprimer;
if (Racine->Noeud==valeur) // on a trouvé l'élément à supprimer
{
NoeudASupprimer=Racine;
if (NoeudASupprimer->SAG==NULL) //si ya pa de SAG, on retourne SAD
return NoeudASupprimer->SAD;
else
{
Racine=NoeudASupprimer->SAG; //sinon on recherche dans SAG l'endroit pour insérer le SAD
while (Racine->SAD!=NULL)
{
Racine=Racine->SAD;
}
Racine->SAD=NoeudASupprimer->SAD;
return NoeudASupprimer->SAG;
}
free(NoeudASupprimer);
}
else
{
if (Racine->Noeud>valeur)
{
Racine->SAG=OterNoeud(Racine->SAG,valeur);
}
else
{
Racine->SAD=OterNoeud(Racine->SAD,valeur);
}
}
return Racine;
}

int Menu(void)
{
int Choix;
do
{
system("cls"); //efface l'écran

printf("\n 1- Ajouter un noeud");
printf("\n 2- Afficher l'arbre dans l'ordre croissant");
printf("\n 3- Rechercher un noeud");
printf("\n 4- Enlever un noeud");
printf("\n 5- Quitter\n");
printf("\n\n\n\n\n\n\nChoix :");
scanf("%d",&Choix);
} while (Choix <1 || Choix >5);
system("cls");
return Choix;
}

void main(void)
{
int valeur, nbr, nbr1, i, j;
char NOM[MAX], PRENOM[MAX], TEL[MAX];
float Liste_note_TP[MAX], Liste_note_TD[MAX];
int Choix;
char *NomFic="Fic.txt";
Arbre *Racine;
Arbre *RepRecherche;
//on initialise le pointeur de tete
Racine=NULL;
Choix = Menu();
while (Choix!=11)
{
if (Racine==NULL && Choix>1 && Choix <10)
{
printf("Vous devez d'abord saisir un arbre");
printf("\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nAppuyez sur une touche pour retourner au menu principal");
getch();
}
else
{
switch (Choix)
{
case 1 : {
printf("\n\t(0 pour finir la saisie)\n\n");
printf("\n\tNumero de td de l'eleve a saisir:");
scanf("%d",&valeur);
printf("\n\tSaisissez a present les caracteristiques de l'eleve\n");
printf("\n\n\tNom: ");
scanf("%s", NOM);
printf("\n\tPrenom: ");
scanf("%s", PRENOM);
printf("\n\tTelephone: ");
scanf("%s", TEL);
printf("\n\tEntrer le nombre de note de Tp:");
scanf("%d", &nbr);
for(i=0; i< nbr; i++)
{
//problem printf("\n\tNote No%d: " , i+1);
scanf("%f", &Liste_note_TP[i]);
}
printf("\n\tEntrer le nombre de note de Td:");
scanf("%d" , &nbr1);
for(j=0; j<nbr1; j++)
{
printf("\nNote No%d: ", j+1);
scanf("%f", &Liste_note_TD[j]);
}

while (valeur != 0)
{
system("CLS");
Racine=CreerNoeud(Racine,valeur,NOM,PRENOM,Liste_note_TP,Liste_note_TD,TEL);
printf("\n\tNumero de td de l'eleve a saisir:");
scanf("%d",&valeur);
/*while(valeur !=0)
{*/
printf("\n\tSaisissez a present les caracteristiques de l'eleve\n");
printf("\n\n\tNom: ");
scanf("%s", NOM);
printf("\n\tPrenom: ");
scanf("%s", PRENOM);
printf("\n\tTelephone: ");
scanf("%s", TEL);
for(i=0; i< nbr; i++)
{
printf("\n\tNote No%d: " , i+1);
scanf("%f", &Liste_note_TP[i]);
}
printf("\n\tEntrer le nombre de note de Td:");
scanf("%d" , &nbr1);
for(j=0; j<nbr1; j++)
{
printf("\nNote No%d: ", j+1);
scanf("%f", &Liste_note_TD[j]);
}

/*printf("\n\tEntrer les notes de Tp: ");
scanf("%f", &Liste_note_TP);
printf("\n\tEntrer les notes de Td: ");
scanf("%f", &Liste_note_TD);*/
//}
}
}
break;

case 2 :
{
AfficherArbreCroissant(Racine);
printf("\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nAppuyez sur une touche pour retourner au menu principal");
getch();
}
break;

case 3 :
{
printf("Saisir la valeur a rechercher : ");
scanf("%d", &valeur);
RepRecherche=RechercheNoeud(Racine,valeur);
if (RepRecherche->Noeud == valeur)
{
printf("%d", RepRecherche->Noeud);
}
else
{
printf("Impossible de trouver la valeur recherch\202e");
}
printf("\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nAppuyez sur une touche pour retourner au menu principal");
getch();
}
break;

case 4 :
{
printf("Saisir la valeur du noeud \205 supprimer : \n");
scanf("%d",&valeur);
Racine=OterNoeud(Racine,valeur);
printf("\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nAppuyez sur une touche pour retourner au menu principal");
getch();
}
break;

}
}
Choix=Menu();
}
}
0
orezza Messages postés 38 Date d'inscription vendredi 1 août 2003 Statut Membre Dernière intervention 12 mai 2005
14 déc. 2003 à 22:49
BruNews pourrais tu une nouvelle fois m'aider, ou un autre je ne comprends pas mon erreur.. compiler et executer vous verrez.

Merci par avance.

#include <string.h>
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>

#define MAX 30

//float Liste_note_TP[MAX], Liste_note_TD[MAX];

typedef struct Arbre
{
int Noeud;
char nom[MAX];
char prenom[MAX];
float liste_note_TP[MAX];
float liste_note_TD[MAX];
char tel[MAX];
struct Arbre *SAG;
struct Arbre *SAD;

} Arbre;

AfficherArbreCroissant(Arbre *Racine)
{
if (Racine!=NULL)
{
AfficherArbreCroissant(Racine->SAG);
printf("\n\n\tTd:%d ",Racine->Noeud);
printf("\n\tNom: %s",Racine->nom);
printf("\n\tPrenom: %s",Racine->prenom);
printf("\n\tTelephone: %s",Racine->tel);
printf("Liste des notes de tp: %f",Racine->liste_note_TP);
printf("Liste des notes de td: %f",Racine->liste_note_TD);
AfficherArbreCroissant(Racine->SAD);
}
}

Arbre* CreerNoeud(Arbre *Racine,int valeur, char NOM[MAX], char PRENOM[MAX], float Liste_note_TP[MAX], float Liste_note_TD[MAX], char TEL[MAX])
{

if (Racine!= NULL)
{
if (Racine->Noeud>valeur)
{
Racine->SAG=CreerNoeud(Racine->SAG,valeur,NOM,PRENOM,Liste_note_TP,Liste_note_TD,TEL);
}
else
{
Racine->SAD=CreerNoeud(Racine->SAD,valeur,NOM,PRENOM,Liste_note_TP,Liste_note_TD,TEL);
}
}
else
{
Racine=(Arbre*)malloc(sizeof(Arbre));
Racine->Noeud = valeur;
//le bug est la left operand muste be l-value
strcpy(Racine->nom, NOM);
strcpy(Racine->prenom, PRENOM);
strcpy(Racine->tel, TEL);
memcpy(Racine->liste_note_TP, Liste_note_TP, sizeof(float)*30);
memcpy(Racine->liste_note_TD, Liste_note_TD, sizeof(float)*30);

/*Racine->liste_note_TP = Liste_note_TP ;
Racine->liste_note_TD = Liste_note_TD ;
strcpy(Racine->liste_note_TD, Liste_note_TP);
strcpy(Racine->liste_note_TD,Liste_note_TD);*/
Racine->SAD = NULL;
Racine->SAG = NULL;
}

return Racine;
}

Arbre* RechercheNoeud(Arbre *Racine, int valeur)
{
if (Racine!=NULL)
{
if (Racine->Noeud>valeur)
{
Racine=RechercheNoeud(Racine->SAG,valeur);
}
else
{
if (Racine->Noeud<valeur)
{
Racine=RechercheNoeud(Racine->SAD,valeur);
}
}
return Racine;
}
}

Arbre * OterNoeud(Arbre * Racine, int valeur)
{
Arbre * NoeudASupprimer;
if (Racine->Noeud==valeur) // on a trouvé l'élément à supprimer
{
NoeudASupprimer=Racine;
if (NoeudASupprimer->SAG==NULL) //si ya pa de SAG, on retourne SAD
return NoeudASupprimer->SAD;
else
{
Racine=NoeudASupprimer->SAG; //sinon on recherche dans SAG l'endroit pour insérer le SAD
while (Racine->SAD!=NULL)
{
Racine=Racine->SAD;
}
Racine->SAD=NoeudASupprimer->SAD;
return NoeudASupprimer->SAG;
}
free(NoeudASupprimer);
}
else
{
if (Racine->Noeud>valeur)
{
Racine->SAG=OterNoeud(Racine->SAG,valeur);
}
else
{
Racine->SAD=OterNoeud(Racine->SAD,valeur);
}
}
return Racine;
}

int Menu(void)
{
int Choix;
do
{
system("cls"); //efface l'écran

printf("\n 1- Ajouter un noeud");
printf("\n 2- Afficher l'arbre dans l'ordre croissant");
printf("\n 3- Rechercher un noeud");
printf("\n 4- Enlever un noeud");
printf("\n 5- Quitter\n");
printf("\n\n\n\n\n\n\nChoix :");
scanf("%d",&Choix);
} while (Choix <1 || Choix >5);
system("cls");
return Choix;
}

void main(void)
{
int valeur, nbr, nbr1, i, j;
char NOM[MAX], PRENOM[MAX], TEL[MAX];
float Liste_note_TP[MAX], Liste_note_TD[MAX];
int Choix;
char *NomFic="Fic.txt";
Arbre *Racine;
Arbre *RepRecherche;
//on initialise le pointeur de tete
Racine=NULL;
Choix = Menu();
while (Choix!=11)
{
if (Racine==NULL && Choix>1 && Choix <10)
{
printf("Vous devez d'abord saisir un arbre");
printf("\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nAppuyez sur une touche pour retourner au menu principal");
getch();
}
else
{
switch (Choix)
{
case 1 : {
printf("\n\t(0 pour finir la saisie)\n\n");
printf("\n\tNumero de td de l'eleve a saisir:");
scanf("%d",&valeur);
printf("\n\tSaisissez a present les caracteristiques de l'eleve\n");
printf("\n\n\tNom: ");
scanf("%s", NOM);
printf("\n\tPrenom: ");
scanf("%s", PRENOM);
printf("\n\tTelephone: ");
scanf("%s", TEL);
printf("\n\tEntrer le nombre de note de Tp:");
scanf("%d", &nbr);
for(i=0; i< nbr; i++)
{
printf("\n\tNote No%d: " , i+1);
scanf("%f", &Liste_note_TP[i]);
}
printf("\n\tEntrer le nombre de note de Td:");
scanf("%d" , &nbr1);
for(j=0; j<nbr1; j++)
{
printf("\nNote No%d: ", j+1);
scanf("%f", &Liste_note_TD[j]);
}

while (valeur != 0)
{
system("CLS");
Racine=CreerNoeud(Racine,valeur,NOM,PRENOM,Liste_note_TP,Liste_note_TD,TEL);
printf("\n\tNumero de td de l'eleve a saisir:");
scanf("%d",&valeur);
/*while(valeur !=0)
{*/
printf("\n\tSaisissez a present les caracteristiques de l'eleve\n");
printf("\n\n\tNom: ");
scanf("%s", NOM);
printf("\n\tPrenom: ");
scanf("%s", PRENOM);
printf("\n\tTelephone: ");
scanf("%s", TEL);
for(i=0; i< nbr; i++)
{
printf("\n\tNote No%d: " , i+1);
scanf("%f", &Liste_note_TP[i]);
}
printf("\n\tEntrer le nombre de note de Td:");//blem
scanf("%d" , &nbr1);
for(j=0; j<nbr1; j++)
{
printf("\nNote No%d: ", j+1);
scanf("%f", &Liste_note_TD[j]);
}

/*printf("\n\tEntrer les notes de Tp: ");
scanf("%f", &Liste_note_TP);
printf("\n\tEntrer les notes de Td: ");
scanf("%f", &Liste_note_TD);*/
//}
}
}
break;

case 2 :
{
AfficherArbreCroissant(Racine);
printf("\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nAppuyez sur une touche pour retourner au menu principal");
getch();
}
break;

case 3 :
{
printf("Saisir la valeur a rechercher : ");
scanf("%d", &valeur);
RepRecherche=RechercheNoeud(Racine,valeur);
if (RepRecherche->Noeud == valeur)
{
printf("%d", RepRecherche->Noeud);
}
else
{
printf("Impossible de trouver la valeur recherch\202e");
}
printf("\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nAppuyez sur une touche pour retourner au menu principal");
getch();
}
break;

case 4 :
{
printf("Saisir la valeur du noeud \205 supprimer : \n");
scanf("%d",&valeur);
Racine=OterNoeud(Racine,valeur);
printf("\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nAppuyez sur une touche pour retourner au menu principal");
getch();
}
break;

}
}
Choix=Menu();
}
}
0
Rejoignez-nous