Programme en c ou c++

Résolu
cs_desco182 Messages postés 15 Date d'inscription jeudi 11 décembre 2008 Statut Membre Dernière intervention 21 juin 2010 - 23 juil. 2009 à 04:16
cs_desco182 Messages postés 15 Date d'inscription jeudi 11 décembre 2008 Statut Membre Dernière intervention 21 juin 2010 - 24 juil. 2009 à 03:34
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

BunoCS Messages postés 15472 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 25 mars 2024 103
23 juil. 2009 à 09:21
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...
3
cs_desco182 Messages postés 15 Date d'inscription jeudi 11 décembre 2008 Statut Membre Dernière intervention 21 juin 2010
24 juil. 2009 à 03:34
salut
merci ...

la ligne 28 et 21
Tarbre=NULL;
0
Rejoignez-nous