Programme en c
Fermé
Nin@
-
17 mai 2008 à 17:49
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 - 17 mai 2008 à 18:52
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 - 17 mai 2008 à 18:52
A voir également:
- Programme en c
- Programme demarrage windows 10 - Guide
- Désinstaller programme windows 10 - Guide
- Mettre en veille un programme - Guide
- Programme démarrage windows 10 - Guide
- Forcer la fermeture d'un programme - Guide
2 réponses
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
17 mai 2008 à 17:59
17 mai 2008 à 17:59
c'est toujours toi?
http://www.commentcamarche.net/forum/affich 6448905 aide exercice en c
http://www.commentcamarche.net/forum/affich 6448905 aide exercice en c
salut, lami20j t'a normalement parfaitement aidé mais j'ai un petit programme aussi.
voilou, +
#include <stdio.h> #include <string.h> #include<iostream.h> /* ================================ Gestion d'une Pile par liste cha?n?e Ici Pile de pr?noms, par j?r?mie obert ================================ */ /* =========================== d?finition du type de structure qui représente un jeton de la pile =========================== */ typedef struct Pile{ char prenom[20]; struct Pile *suivant; }Pile; /* =========================== D?finition de la t?te de pile par un pointeur de pointeur =========================== */ typedef Pile* ListePile; /* ====================== Fonction Empiler ====================== */ void empiler(ListePile *maPile, char* pre) /* ou void empiler(Pile **maPile, char* pre) */ { /* 1) cr?er un nouveau jeton vide */ Pile *nouveau = (Pile*) malloc(sizeof(Pile)) ; /* 2) remplir le nouveau jeton par les donn?es (ici pr?nom) */ strcpy(nouveau->prenom,pre); /* 3) Inserer le nouveau jeton en t?te de pile */ nouveau->suivant=*maPile ; /* 4) Donner au nouveau jeton l'adresse de t?te de liste */ *maPile = nouveau ; } /* ============================ Fonction Depiler ============================ */ char* depiler(ListePile *maPile){ /* 1) r?cup?rer les donn?es (ici le pr?nom) du jeton du haut */ char pren[20]; Pile *pcourant = *maPile ; strcpy(pren,pcourant->prenom); /* 2) le jeton en dessous de celui du haut devient le jeton du haut */ *maPile = pcourant->suivant; /* 3) supprimer l'ancien jeton du haut : lib?rer le pointeur */ free(pcourant); /* 4) renvoyer les donn?s d?pil?es (ici le pr?nom)*/ return pren; } /* ===================================== Fonction Principale : main() ===================================== */ int main() { /* initialiser le pointeur du sommet de la pile */ ListePile maPile = NULL; /* ou Pile* *maPile=NULL; */ /* Ajouter un jeton sur la pile : appeler la fonction empiler */ empiler(&maPile,"alain"); empiler(&maPile,"annie"); empiler(&maPile,"gilles"); /* D?piler toute la pile : boucle sur appel de la fonction depiler */ while(maPile) { char pr[20]; strcpy(pr,depiler(&maPile)); printf(" prenom = %s\n ",pr) ; } system("pause"); }
voilou, +
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
17 mai 2008 à 18:52
17 mai 2008 à 18:52
Salut,
tant mieux ;-)
pour un paresseux comme môa écrire un code si longue samedi ....... ;-)
tant mieux ;-)
pour un paresseux comme môa écrire un code si longue samedi ....... ;-)