Pointeur en c
Haladou Issa Ali
Messages postés
23
Date d'inscription
Statut
Membre
Dernière intervention
-
pointeur avc liste chainnee -
pointeur avc liste chainnee -
Bonjour, se t-ce quelqu'un peut m'aider à créer un programme pointeur en c permettant de saisir la liste des étudiants d'une classe dont l'effectif n'est pas connu à priori. merci!
A voir également:
- Pointeur en c
- Pointeur souris - Guide
- Curseur Windows 10 : comment bien voir la souris à l'écran - Guide
- Le pointeur de mon pc portable ne marche plus - Guide
- Pointeur laser publicitaire ✓ - Forum Loisirs / Divertissements
- Pointeur souris avec rond de chargement qui clignote sans arrêts ✓ - Forum Windows
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<malloc.h>
typedef struct Classe
{ int note, mat;
char nom[255];
struct Classe *SVT;
}Etudiant;
Etudiant *teteliste, *ptr;
/*3.Ecrire un programme qui permet de saisir la liste des
etudiants de façon triée par ordre croissant des matricules */
void saisie_trie()
{ Etudiant *ptrC, *ptrP;
int n;
int choix = 0;
teteliste = ptr;
while(choix ==0)
{ ptr =(Etudiant *)malloc(sizeof(Etudiant));
printf("\nEntrer le nom de l'etudiant:\n");
scanf("\n%s", ptr->nom);
printf("\n Entrer le matricule de l'etudiant:\n");
scanf("\n%d", &ptr->mat);
printf("\nEntrer la note de l'etudiant:\n" );
scanf("\n%d", &ptr->note);
if(teteliste == NULL)
/* Cas de la saisie du premier element*/
{teteliste =ptr;
affichage();
}
else
{ while(choix ==0)
{ ptr =(Etudiant *)malloc(sizeof(Etudiant));
printf("\nEntrer le nom de l'etudiant1:\n");
scanf("\n%s", ptr->nom);
printf("\n Entrer le matricule de l'etudiant1:\n");
scanf("\n%d", &ptr->mat);
printf("\nEntrer la note de l'etudiant1:\n" );
scanf("\n%d", &ptr->note);
affichage();
if((teteliste->mat) > ptr->mat)
/*Cas d'une insertion en tête de liste*/
{ ptr->SVT = teteliste;
teteliste =ptr;
}
else
/*cas d'une insertion dans le corps de la liste*/
{ ptrC = teteliste;
ptrP = teteliste;
}
}
}
while((ptrC != NULL) && (ptrC->mat < ptr->mat))
}
fin du programme; au faite ça marche bien car sa affiche seulement le dernier etudiant saisi, merci!!!
{ ptrP = ptrC;
ptrC = ptrC->SVT;
}
ptrP->SVT =ptr;
ptr->SVT =ptrC;
}