Programme en c ou c++ [Résolu]

Signaler
Messages postés
15
Date d'inscription
jeudi 11 décembre 2008
Statut
Membre
Dernière intervention
21 juin 2010
-
Messages postés
15
Date d'inscription
jeudi 11 décembre 2008
Statut
Membre
Dernière intervention
21 juin 2010
-
Salut !!!!!!!
j'espere que tout va de bon train pour vous .
j'ai ce code en le compilant me donne 2 erreurs :
1-declaration terminate incorrectly.
2-declaration syntax error.

SOS!!!!!!!!!!!st
soit une structure personne comprenant les champs suivants:nom,prenom,age.
ecrire un programme qui comprend les fonctions suivantes:
-saisie d'une personne
-suppression d'une personne
-affichage de la liste des personnes par ordre croissant en fonction du nom. Utilisez un arbre binaire de recherche pour trier les elements .
c'est ca le programme .

merci d'avance

#include<stdlib.h>
#include
#include<conio.h>
#include<string.h>
#define true 1
#define false 0

struct Noeud

{
char prenom[25];
char nom[15];
char age[10];
struct Noeud*per_gauche;
struct Noeud*per_droite;

};

typedef struct Noeud*Tarbre;
Tarbre=NULL;
pNoeud Maketree(char x)

{
pNoeud p;
p=new pnoeud();
p->prenom=x;
p->per_gauche=NULL;
p->per_droite=NULL;
return p;

}
pNoeud Maketree(char y)
{
pNoeud p;
p=new Noeud();

p->nom=y;
p->per_gauche=NULL;
p->per_droite=NULL;
return p;

}

pNoeud Maketree(char z)
{
pNoeud p;
p=new Noeud();

p->age=z;
p->per_gauche=NULL;
p->per_droite=NULL;
return p;
}

void setleft(pNoeud p,char x,y,z)

{
if (p==NULL)
{
cout<<"Insertion impossible\n";
exit (0);

}
if (p->per_gauche!=NULL)
{
cout<<"Insertion impossible\n";
exit (0);

}
p->per_gauche=Maketree(x);
p->per_gauche=Maketree(y);
p->per_gauche=Maketree(z);

}
void setright(pNoeud p,char x,y,z)
{

if(p==NULL)
{
cout<<"Insertion impossible\n";

exit(0);
}
if (p->per-droite!=NULL)
{
cout<<"Insertion impossible\n";
exit(0);

}
p->per_droite=Maketree(x);
p->per_droite=Maketree(y);
p->per_droite=Maketree(z);

}
void intrav(pNoeud p)

{
if(p!=NULL)
{

intrav(p->per_gauche);
cout

per_droite);
}
}
void saisie()
{

int n;
char x,y,z;
pNoeud p,q;
cout<<"Entrez le nombre de personnes:\n";
cin>>n<<endl;
cout<<"Entrez le premier prenom\n";
cin>>x;
cout<<"Entrez le premier nom\n";
cin>>y;
cout<<"Entrez le premier age\n";
cin>>z;

while(q!=NULL)
{
p=q;
if(x>p->prenom)
q=p->droite;
else
q=p->gauche;
if(y>p->nom)
q=p->droite;
else
q=p->gauche;
if(z>p->age)
q=p->droite;
else
q=p->gauche;

}
void suppression()
{
char vnom[15];
pNoeud p;
int trouver;
while(p!=NULL)
{
clrscr();
cout<<"Entrez le nom a supprimer:";
gets(vcode);
trouver=false;
if(strcmp(p->nom,vcode)==0)
trouver=true;
else
remove(p->prenom,p->nom,p->age);
if(!=trouver=false)
cout<<"Nom introuvable!";

}


}

void afficher()
{
int ligne;
char x,y,z;
pNoeud p;
while(p!=NULL)
{
gotoxy(1,ligne);

if(x>p->prenom)
setright(p,x);
else
{
setleft(p,x);
cout<<"les prenoms\n";
intrav(arbre);


}

goto xy(25,ligne);

if(y>p->nom)
setright(p,y);
else
{
setleft(p,y);
cout<<"Les noms\n";
intrav(Tarbre);

}
gotoxy(50,ligne);
if(z>p->age)
setright(p,z);
else
{ setleft(p,z);
cout<<"Les ages\n";
intrav(Tarbre);

}
}
void main()
{

char choix;
do{
clrscr();
goto xy(33,3);

cout<<"MENU PRINCIPAL";

gotoxy(30,5);
cout<<"1-Saisie des personnes";
gotoxy(30,7);
cout<<"2-Suppression des personnes";
gotoxy(30,9);
cout<<"3-Lister les personnes";
gotoxy(30,11);
cout<<"Q-Quitter le programme";
gotoxy(30,25);
cout<<"****************Faites votre choix s'il vous plait******************";
choix=getch();
switch(choix){

case'1':{
saisie();
break;

}
case'2':{

supression();
break;

}
case'3':{
afficher();
break;

}
case'Q':{


}
default:{
cout<<"\nMauvais choix.Veuillez choisir la bonne option";
getch();
}
}
}

}while(choix!='Q');
}



}

2 réponses

Messages postés
14982
Date d'inscription
lundi 11 juillet 2005
Statut
Modérateur
Dernière intervention
2 mars 2021
94
Hello,
A quelles lignes correspondent tes erreurs?
Je vois plusieurs choses incorrectes:
- pNoeud n'est défini nulle part
- Maketree(char x) --> prend en entrée un caractère...que tu mets dans une chaine de caractères. Je pense que ce n'est pas ce que tu veux

Je m'arrête là.

@+
Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
Messages postés
15
Date d'inscription
jeudi 11 décembre 2008
Statut
Membre
Dernière intervention
21 juin 2010

salut
merci ...

la ligne 28 et 21
Tarbre=NULL;