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 :

Petit programme simple avec portée d'une variable


Sujet :

C

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    54
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 54
    Points : 46
    Points
    46
    Par défaut Petit programme simple avec portée d'une variable
    Bonjour à tous,

    Je suis en train de m'amuser avec un petit programme qui dispose de plusieurs fonctions pour faire fonctionner mon programme.
    Ce dernier est simple mais j'ai un soucis avec ma variable tableau, j'aimerai pouvoir la porter sur les différentes fonctions sans avoir à la re déclarer et perdre son contenu à chaque fois.

    J'espère que ma description a été claire, merci de votre aide et voici le source :

    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
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    #include <stdio.h>
     
    int creer();
     
    int affich();
     
    int tri();
     
    int main()
    {
      int choix;
     
      do
        {
          printf("*** MENU ***\n");
          printf("1. Créer le tableau\n");
          printf("2. Afficher le tableau\n");
          printf("3. Trier le tableau\n");
          printf("0. Quitter\n");
          printf("**********\n");
     
          printf("Quel est votre choix ? ");
          scanf("%d", &choix);
     
          switch(choix)
    	{
    	case 1:
    	  {
    	    creer();
    	  } break;
     
    	case 2:
    	  {
    	    affich();
    	  } break;
     
    	case 3:
    	  {
    	    tri();
    	  } break;
     
    	case 0:
    	  {
    	    printf("FIN\n");
    	  } break;
    	}
        } while(choix!=0);
     
      return 0;
    }
     
     
    /* Fonction permettant la création de notre tableau */
    int creer()
    {
      int i, tab[10];
     
      for(i=0; i<10; i++)
        {
          printf("Veuillez entrer la valeur : ");
          scanf("%d", &tab[i]);
        }
     
      return 0;
    }
     
     
    /* Fonction permettant l'affichage de notre tableau */
    int affich()
    {
      int i, int tab[10];
     
      printf("**********\n");
      for(i=0; i<10; i++)
        {
          printf("%d\n", tab[i]);
        }
      printf("**********\n");
     
      return 0;
    }
     
     
    /* Fonction permettant le tri de notre tableau */
    int tri()
    {
      int i, j, temp, tab[10];
     
      for(i=0; i<9; i++)
        {
          for(j=i+1; j<10; j++)
    	{
    	  if(tab[i]>tab[j])
    	    {
    	      temp=tab[i];
    	      tab[i]=tab[j];
    	      tab[j]=temp;
    	    }
    	}
        }
     
      return 0;
    }
    A ce stade du source, la variable tableau est re déclarée à chaque fois ce qui me fait perdre mon contenu dès que je passe à son affichage.
    J'ai essayé de la déclarée en variable globale dans la fonction main mais ça ne fonctionne pas.

    Merci de votre aide.

  2. #2
    Membre habitué
    Inscrit en
    Avril 2010
    Messages
    99
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Avril 2010
    Messages : 99
    Points : 143
    Points
    143
    Par défaut
    Bonjour,

    il suffit de déclarer ton tableau dans la fonction main et donner ce tableau en argument à chacune de tes fonctions.

    J'écris le début du code, je te laisse faire la suite.

    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
    #include <stdio.h>
     
    int creer();
     
    int affich();
     
    int tri();
     
    int main()
    {
      int choix;
      int tab[10];
     
      do
        {
          printf("*** MENU ***\n");
          printf("1. Créer le tableau\n");
          printf("2. Afficher le tableau\n");
          printf("3. Trier le tableau\n");
          printf("0. Quitter\n");
          printf("**********\n");
     
          printf("Quel est votre choix ? ");
          scanf("%d", &choix);
     
          switch(choix)
    	{
    	case 1:
    	  {
    	    creer(tab);
    	  } break;
     
    	case 2:
    	  {
    	    affich(tab);
    	  } break;
     
    	case 3:
    	  {
    	    tri(tab);
    	  } break;
     
    	case 0:
    	  {
    	    printf("FIN\n");
    	  } break;
    	}
        } while(choix!=0);
     
      return 0;
    }
     
     
    /* Fonction permettant la création de notre tableau */
    int creer(int * tab)
    {
      int i;
     
      for(i=0; i<10; i++)
        {
          printf("Veuillez entrer la valeur : ");
          scanf("%d", &tab[i]);
        }
      
      return 0;
    }
     
      ...

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    54
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 54
    Points : 46
    Points
    46
    Par défaut
    Bonsoir,

    Merci pour tes conseils, je viens de les suivre et tout fonctionne parfaitement .

    Encore merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème avec la porté d'une variable public
    Par sab_info dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 13/06/2013, 13h07
  2. [C#] c# - mysql avec LIKE et une variable
    Par korben06 dans le forum Windows Forms
    Réponses: 3
    Dernier message: 12/06/2006, 23h39
  3. [XSLT] pb portée d'une variable
    Par NPortmann dans le forum XSL/XSLT/XPATH
    Réponses: 4
    Dernier message: 23/05/2006, 15h53
  4. Portée d'une variable globale
    Par Giill dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 27/12/2005, 10h13
  5. petite question sur la récupération d'une variable
    Par minusette dans le forum Langage
    Réponses: 6
    Dernier message: 17/11/2005, 16h57

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