e-Babillard - plateforme pédagogique interactive
Pensez à mettre un avatar personnel Bienvenue, Invité. Veuillez vous connecter ou vous enregistrer.
22 Juillet 2018 à 22:36:59

Connexion avec identifiant, mot de passe et durée de la session
Recherche:     Recherche +
* Flux RSS www.jpdelx.com Accueil Aide Identifiez-vous Enregistrez-vous
+  e-Babillard - plateforme pédagogique interactive
|-+  Ressources pédagogiques communes concernant...
| |-+  Langage C
| | |-+  Sujet: Allocation dynamique - 2 exemples
« sujet précédent | | sujet suivant »
Pages: [1] Imprimer
Auteur Sujet: Allocation dynamique - 2 exemples  (Lu 55 fois)
jpdelx
Administrator
Hero Member
*****
Hors ligne Hors ligne

Sexe: Homme
Messages: 12736


Il n'y a pas de questions idiotes...


WWW
Allocation dynamique - 2 exemples
« le: 20 Octobre 2012 à 17:41:12 »

Bonjour


Code:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

typedef struct {
        char *prenom; /* 1 chaine = 1 pointeur sur ... */
        char *nom;
        int age;
} Information;

void saisie(Information *info){
            printf("Enter le prenom.....: ");
            (*info).prenom=(char *)malloc(26*sizeof(char)); /* allocation dynamique obligatoire */
            scanf("%s",(*info).prenom);       
            printf("Enter le nom........: ");
            info->nom=(char *)malloc(26*sizeof(char));
            scanf("%s",(*info).nom);   
            printf("Enter l'age.........: ");
            scanf("%d",&info->age);
     }         
 
void affichage(Information info){
        printf("Monsieur: %s %s, qui a %d ans\n",info.nom, info.prenom,info.age); 
   }               
                     
int main (int argc, char *argv[])
{   

    Information monInfo;
       
    saisie(&monInfo);
    affichage(monInfo);
   
   
    system("PAUSE");
    return 0;
   
}   



Code:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX 10

typedef struct
{
char *nom;
char *prenom;
char *matiere;
float note;
}
Etudiant;

void saisieEtudiant(Etudiant *etudiantLocal)
{
printf("saisissez le nom de l'étudiant......: ");
(*etudiantLocal).nom=(char *)malloc(sizeof(char)*26);
gets((etudiantLocal)->nom);

printf("saisissez le prenom de l'étudiant...: ");
(*etudiantLocal).prenom=(char *)malloc(sizeof(char)*26);
gets((etudiantLocal)->prenom);

printf("Saisissez la matiere de l'étudiant..: ");
(*etudiantLocal).matiere=(char *)malloc(sizeof(char)*26);
gets((etudiantLocal)->matiere);

printf("Saisissez la note de la matière.....: ");
scanf("%f%*c",&etudiantLocal->note);

}

void affichageEtudiant(Etudiant etudiant){
printf("%s %s a eu %6.2f pour la matiere %s\n", etudiant.nom, etudiant.prenom, etudiant.note, etudiant.matiere);
}


void saisieEtudiantMultiple(int x, Etudiant *ptr){
int i;
for(i=0; i<x; i++) {
         printf("Etudiant %2d :\n",i);saisieEtudiant(ptr+i);
         }
}


void affichageEtudiantMultiple(int x, Etudiant *ptr){
int i;
for(i=0; i<x; i++) affichageEtudiant(*(ptr+i));
}

int main (int argc, const char * argv[]){
int n;
Etudiant *tabEtudiant;

printf("Combien voulez vous rentrer d'étudiants ? : ");
scanf("%i%*c", &n);

tabEtudiant=(Etudiant *)malloc(n*sizeof(Etudiant));

saisieEtudiantMultiple(n,tabEtudiant);
affichageEtudiantMultiple(n,tabEtudiant);

system("pause");
return 0;
}





@lpf

J.Phil.
Journalisée

J.Phil. DELCROIX
www.jpdelx.com

Merci de rédiger vos messages dans un français compréhensible par tous !
Pages: [1] Imprimer 
e-Babillard - plateforme pédagogique interactive  |  Ressources pédagogiques communes concernant...  |  Langage C  |  Sujet: Allocation dynamique - 2 exemples « sujet précédent | | sujet suivant »
Aller à:  

Propulsé par MySQL Propulsé par PHP e-Babillard - plateforme pédagogique interactive | Propulsé par SMF 1.0.6 modifié par jpdelx.
© 2001-2005, Lewis Media. Tous droits réservés.
XHTML 1.0 Transitionnel valide ! CSS valide !
Page générée en 0.082 secondes avec 19 requêtes.