1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64
| #include<stdio.h>
#include<stdlib.h>
#include<conio.h>
#include<iostream.h>
struct cellule
{
char nom[50];
struct cellule *next; // pointeur vers la cellule suivante
};
typedef struct cellule cell;
cell *creation_de_ma_liste(char nom_famille[50])
{
int n; /* nombre d'element a saisir */
int i; /* Un compteur jusqu'à n */
cell *ptr; /* Pointeur */
do
{
clrscr();
printf("Donnez le nombre déléments de votre liste:");
scanf("%d",&n);
}while(n<=0);
for(i=0;i<n;i++)
{
ptr=(cell*)malloc(sizeof(cell));
printf("Veuillez Saisir un entier : ");
scanf("%3c",&nom_famille);
ptr->nom=nom_famille; //cannot convert from 'char []' to 'char [50]' voici mon probleme //
ptr->next=head;
head=ptr;
}
return head;
}
void insertion_dune_famille(char nom_insere[50])
{
// le nom a verifier l'existance //
int pos=1; // Pour l'indice de l'occurence //
cell *ptr=head; // pointeur sur la liste //
cell*nouvelelement=(cell*)malloc(sizeof(cell));
puts(" Introduisez le nom à insere dans la liste :");
scanf("%c",&nom_insere);
while((ptr!=NULL)&&(ptr->nom!=nom_insere))
{
pos++;
ptr=ptr->next;
}
if(ptr!=NULL)
{
printf(" %d existe à la position %d dans la liste.",nom_insere,pos);
}else // on insere la famille a la fin de la liste //
{
nouvelelement->nom=nom_insere;
nouvelelement->next=null;
ptr->next=nouvelelement;
}
return head;
} |
Partager