IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C Discussion :

procédure dans procédure


Sujet :

C

  1. #1
    Membre à l'essai
    Inscrit en
    Octobre 2010
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 22
    Points : 15
    Points
    15
    Par défaut procédure dans procédure
    Bonjour,
    j'aimerai utiliser une procédure dans une autre procédure avec des mêmes arguments.
    Je serai bien tenté d'utiliser à la fois le * et le & sur la même variable mais je sais pas comment l'écrire.
    Pour être plus clair voici mon bout de programme (la variable qui me pose problème est listesommet)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    #include <stdio.h>  
    #define Max 100  
     
    /********************************************************************************/  
    /*                       DECLARATIONS DES TYPES                             */  
    /********************************************************************************/  
     
    typedef int couleur[Max];  
     
    typedef struct sommet   
    {  
     int numero;  
     int degre;  
     couleur couleursommet;  
    }sommet;  
     
    typedef struct arc   
    {  
     sommet sommetdedepart;  
     sommet sommetdarrivee;  
    }arc;  
     
     
    /********************************************************************************/  
    /*                       PROCEDURES ET FONCTIONS CORRECTES                       */  
    /********************************************************************************/  
    void calculdegre(sommet *sommet1, arc listearc[],int nbarc)      
    {  
     int i=0;   
     int compteur=0;  
     
     for (i=0;i<=nbarc-1;i++)                     
     {  
      if((listearc[i].sommetdedepart.numero==(*sommet1).numero)||(listearc[i].sommetdarrivee.numero==(*sommet1).numero))  
      {  
       compteur=compteur+1;  
      }   
     }  
     (*sommet1).degre=compteur;                   
    }  
     
     
    /********************************************************************************/  
    /*                       PROCEDURE EN COUR DE CREATION                          */  
    /********************************************************************************/  
     
    void calculertouslesdegres(arc listearc[],sommet listesommet[],int nbsommet,int nbarc)      
    {  
     int i;  
     for(i=0;i<=nbsommet-1;i++)  
     {  
     calculdegre(&listesommet[i],listearc,nbarc);  
     }    
    }  
     
    /********************************************************************************/  
    /*                       PROGRAMME PRINCIPAL                                   */        
    /********************************************************************************/  
     
    void main (void)  
    {  
     sommet listesommet[Max],listesommetretour[Max];  
     arc listearc[5*Max];   
     sommet a;  
     int nbsommet=2;  
     int nbarc=3;  
     a.numero=1;  
     listesommet[0]=a;  
     listearc[0].sommetdedepart=a;  
     listearc[1].sommetdedepart=a;  
     listearc[2].sommetdedepart=a;  
     calculertouslesdegres(listearc,&listesommet,nbsommet,nbarc);  
     printf("\n%d\n",a.degre);    
     
    }

  2. #2
    Expert éminent
    Avatar de Melem
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2006
    Messages
    3 656
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 3 656
    Points : 8 389
    Points
    8 389
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    void premiere_fonction_a_utiliser_n(int n)
    {
        deuxieme_fonction_a_utiliser(&n); /* &n = l'adresse de n */
        printf("n = %d.\n", n);
    }
     
    void deuxieme_fonction_a_utiliser_n(int * adresse_de_n)
    {
        (*adresse_de_n)++; /* (*adresse_de_n) donne l'acces a la variable n. */
    }
    Pour les tableaux c'est un peu plus compliqué que ça. Le mieux c'est de te remettre à la lecture. Prends celui-là, il contient tout ce dont tu as besoin de connaître.

  3. #3
    Rédacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Mai 2007
    Messages
    11 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2007
    Messages : 11 517
    Points : 50 367
    Points
    50 367
    Par défaut
    Un petit oubli dans le code probablement

    Raymond
    Vous souhaitez participer à la rubrique Réseaux ? Contactez-moi

    Cafuro Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
    e-verbe Un logiciel de conjugaison des verbes de la langue française.

    Ma page personnelle sur DVP
    .

  4. #4
    Expert éminent
    Avatar de Melem
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2006
    Messages
    3 656
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 3 656
    Points : 8 389
    Points
    8 389
    Par défaut
    Merci. C'est corrigé .

Discussions similaires

  1. Réponses: 7
    Dernier message: 16/09/2005, 10h14
  2. Surcharge d'une procédure dans l'instance d'une frame
    Par damien.yep dans le forum Composants VCL
    Réponses: 3
    Dernier message: 14/09/2005, 15h28
  3. procédures stockées dans procédure stockée
    Par olivc dans le forum MS SQL Server
    Réponses: 8
    Dernier message: 30/05/2005, 16h58
  4. SQL dans Procédure stockée
    Par julure dans le forum Oracle
    Réponses: 13
    Dernier message: 02/11/2004, 16h57
  5. Appel de procédure dans une page ASP
    Par PrinceMaster77 dans le forum ASP
    Réponses: 5
    Dernier message: 02/04/2004, 16h59

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo