pb de compilation C - C - Programmation
Marsh Posté le 31-01-2006 à 21:41:33
pas la peine de reposter ton topic
et utilsi eles balises cpp s'il te plait, ton code est illisible
Marsh Posté le 31-01-2006 à 22:29:15
#define Malloc(t) (t *)malloc(sizeof(t))
Inutile et potentiellement dangereux.
enum boolean {true, faulse};
false sans doute.
void main()
les prototypes de main sont
int main(void)
ou
int main(int argc, char **argv).
Marsh Posté le 31-01-2006 à 21:35:34
Bonsoir
j essai de realiser un programme en c qui permet de definir les listes chainees et dy effectuer ttes les operation necessaires (ajout, suppression...)
Cependant le compilateur affiche deux erreurs
1- ' , expected' (1)
2- 'declaration syntax error' (2)
si vs pouvez m aider je vs serai reconnaissante
merci d'avance.
Voici mon programme
#include<stdio.h>
#include<stddef.h>
#include<stdlib.h>
#define Malloc(t) (t *)malloc(sizeof(t))
enum boolean {true, faulse};
typedef struct_noeud
{ char nom[15]; (1)
struct_noeud *suivant;} adh;
adh *creer(char *nom) (2)
{
adh *tete; tete =NULL;
adh *p;
p=NULL;
p=Malloc(adh);
p->nom= nom;
p->suivant=NULL;
return(p);
}
void inserer(adh *nom)
{
adh *tete;
adh *p1;
adh *p2;
p1=tete; p2=NULL;
while ((p1!= NULL) && (strcmp (nom, p1->nom) >0))
{
p2=p1;
p1=p1->suivant;
}
if (p1==NULL)
p1=creer(nom);
else
{
p2=creer(nom);
p2->suivant=p1;
}
}
void afficher()
{
adh *p;
p=tete;
while(p) prrintf("%s -> %s", p, p->suivant);
}
boolean chercher(char *nom)
{
adh *tete;
while ((tete-> nom != nom) && (tete -> suivant != NULL))
tete=tete-> suivant;
if (tete -> nom == nom)
return(true);
else return(faulse);
}
adh * supprimer(adh *nom)
{
adh *pred, *p; boolean found;
pred=NULL;
p=NULL;
if (tete==NULL) perror("liste vide" );
else
{
if (tete-> nom==nom)
{
p=tete; tete=tete->suivant;
free(p);
}
else
{
found = chercher(nom);
if (! found) peror("pas dans la liste" );
else
{
pred-> suivant= p-> suivant;
free(p);
}
return(tete);
}
}
}
void main()
{
creer(farid);
ajouter(fatine);
afficher();
getch();
}