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 :

Problème fonction switch


Sujet :

C

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    61
    Détails du profil
    Informations personnelles :
    Âge : 31
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 61
    Points : 35
    Points
    35
    Par défaut Problème fonction switch
    Bonjour alors voila j'ai un petit problème, je suis sous dev c ++
    et quand je mets ce code source il me mets une grosse bar rouge sur le switch (age) voiçi le code:

    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
     #include <stdio.h>
    #include <stdlib.h>
     
    int main(int argc, char *argv[])
    {
      switch (age) // grosse bar rouge içi:aie: 
    {
    case 2:
      printf("Salut bebe !");
      break;
    case 6:
      printf("Salut gamin !");
      break;
    case 12:
      printf("Salut jeune !");
      break;
    case 16:
      printf("Salut ado !");
      break;
    case 18:
      printf("Salut adulte !");
      break;
    case 68:
      printf("Salut papy !");
      break;
    default:
      printf("Je n'ai aucune phrase de prete pour ton age ");
      break;
    }
      system("PAUSE");    
      return 0;
    }

  2. #2
    Membre expert
    Avatar de hiko-seijuro
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    2 011
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 011
    Points : 3 065
    Points
    3 065
    Par défaut
    ta variable age n'est pas déclarée

  3. #3
    Membre éclairé Avatar de AuraHxC
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2006
    Messages
    652
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2006
    Messages : 652
    Points : 662
    Points
    662
    Par défaut
    Carrement age il vient d'ou --> faudrait t'il peut etre la déclarer comme dis plus haut

    Genre : int age;

    Mais bon après faut donner une valeur a ta variable age --> soit l'utilisateur qui la tape ou bien une valeur que tu lui donne (peu d'interet).

  4. #4
    Membre Expert

    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Juin 2003
    Messages
    4 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 506
    Points : 5 723
    Points
    5 723
    Par défaut
    Petite précision : switch n'est pas une fonction.C'est plutôt une structure de controle comme if,else,..

  5. #5
    Expert confirmé
    Avatar de Thierry Chappuis
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Mai 2005
    Messages
    3 499
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Suisse

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 499
    Points : 5 360
    Points
    5 360
    Par défaut
    Voilà ce qui est dit sur la page concernant le code :

    Construire un switch


    Les informaticiens détestent faire des choses répétitives, on a eu l'occasion de le vérifier plus tôt

    Alors, pour éviter d'avoir à faire des répétitions comme ça quand on teste la valeur d'une seule et même variable, ils ont inventé une autre structure que le "if... else"
    Cette structure particulière s'appelle "switch". Voici un switch basé sur l'exemple qu'on vient de voir :

    Code : C
    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
    switch (age)
    {
    case 2:
      printf("Salut bebe !");
      break;
    case 6:
      printf("Salut gamin !");
      break;
    case 12:
      printf("Salut jeune !");
      break;
    case 16:
      printf("Salut ado !");
      break;
    case 18:
      printf("Salut adulte !");
      break;
    case 68:
      printf("Salut papy !");
      break;
    default:
      printf("Je n'ai aucune phrase de prete pour ton age ");
      break;
    }

    Imprégnez-vous de mon exemple pour créer vos propres switch. On les utilise plus rarement, mais c'est vrai que c'est pratique car ça fait (un peu) moins de code à taper

    L'idée c'est donc d'écrire "switch (maVariable)" pour dire "Je vais tester la valeur de la variable maVariable".
    Vous ouvrez ensuite des accolades que vous refermez tout en bas.

    Ensuite, à l'intérieur de ces accolades, vous gérez tous les "cas" : case 2, case 4, case 5, case 45... 3
    Il ne dit pas qu'il ne faut pas déclarer la variable age. Je suppose qu'une notion telle que la structure de base d'un programme est traitée plus en amont dans le tutoriel. Ci-dessus, seule la structure de contrôle switch est présentée.

    Thierry

Discussions similaires

  1. Problème avec la fonction switch
    Par khroutchev dans le forum Access
    Réponses: 1
    Dernier message: 03/05/2013, 13h11
  2. aide pour fonction switch problème
    Par mitherkiller dans le forum C
    Réponses: 10
    Dernier message: 02/03/2007, 15h03
  3. [Tableaux] Problème avec Switch case
    Par philippef dans le forum Langage
    Réponses: 4
    Dernier message: 07/09/2005, 16h37
  4. Problème fonction et trigger sous 7.2
    Par anoukhan dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 22/06/2005, 22h53
  5. Réponses: 2
    Dernier message: 20/08/2004, 17h10

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