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++Builder Discussion :

problème avec case


Sujet :

C++Builder

  1. #1
    Membre à l'essai
    Inscrit en
    Mai 2007
    Messages
    43
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 43
    Points : 21
    Points
    21
    Par défaut problème avec case
    for(i=1;i<=j;i++) {
    switch (i) {
    case 1: { tab[i][3]=0;
    tab[i][4]=tab[i][2]; }
    case k: {tab[i][3]=tab[i-1][4];
    tab[i][4]=1;}
    default tab[i][3]=tab[i-1][4];
    tab[i][4]=tab[i-1][4]+tab[i][2];}
    y'a t-il quelqu'un qui peut me dire comment je peux travailler avec le case car la variable k prend plusieures valeurs mise aprat le 1!! et le default ne marche pas aussi

  2. #2
    Rédacteur
    Avatar de blondelle
    Homme Profil pro
    Inscrit en
    Mars 2006
    Messages
    2 738
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 738
    Points : 3 766
    Points
    3 766
    Par défaut
    Tire de l'aide en ligne BCB:
    Example
    /* Illustrates the use of keywords break, case, default, and switch. */
    #include <iostream>
    using namespace std;
    int main(void) {
    char ch;
    cout << "PRESS a, b, OR c. ANY OTHER CHOICE WILL TERMINATE THIS PROGRAM." << endl;
    for ( /* FOREVER */; cin >> ch; )
    switch (ch) {
    case 'a' : /* THE CHOICE OF a HAS ITS OWN ACTION. */
    cout << endl << "Option a was selected." << endl;
    break;
    case 'b' : /* BOTH b AND c GET THE SAME RESULTS. */
    case 'c' :
    cout << endl << "Option b or c was selected." << endl;
    break;
    default :
    cout << endl << "NOT A VALID CHOICE! Bye ..." << endl;
    return(-1);
    }
    }

  3. #3
    Membre chevronné

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    1 390
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 1 390
    Points : 1 777
    Points
    1 777
    Par défaut
    Salut !

    Personnellement j'aurais utilisé un arbre logique en lieu et place du switch (sauf erreur de ma part).

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    if(  ==1)
        {
        }
    else
        {
        if( == k) // tu dis k != 1
            {
            }
        else
            {
            //donc != 1 et != k
            }
        }
    Je pense d'ailleurs que BCB doit très certainement le compiler ainsi.
    Au niveau exécution, je pense même que c'est le plus rapide !

    A plus !

  4. #4
    Membre expérimenté Avatar de rtg57
    Homme Profil pro
    Autodidacte
    Inscrit en
    Mars 2006
    Messages
    1 341
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Autodidacte
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 341
    Points : 1 577
    Points
    1 577
    Par défaut
    Bonjour,

    il ne faut pas oublier l'instruction break; après chaque case:, car le C++ à la spécificité de continuer dans les case: suivants.

  5. #5
    Membre chevronné
    Avatar de Crayon
    Inscrit en
    Avril 2005
    Messages
    1 811
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 811
    Points : 2 189
    Points
    2 189
    Par défaut
    Comme j'ai dis dans un autre post qui t'étais adresser:

    Fais dans BCB comme l'a dis blondelle

    Met si les réponses te convienne

    Et lorsque tu mets du code sur le forum.

  6. #6
    Membre à l'essai
    Inscrit en
    Mai 2007
    Messages
    43
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 43
    Points : 21
    Points
    21
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    for(i=1;i<=j;i++) {
    
    if(i=1) { tab[i][3]=0;
           tab[i][4]=tab[i][2]; } k=!1;
    else if(i=k){tab[i][3]=tab[i-1][4];
             tab[i][4]=1;}
    else { tab[i][3]=tab[i-1][4];
            tab[i][4]=tab[i-1][4]+tab[i][2];}
    j'ai essayé mais on me dis que le else en rouge is misplaced

  7. #7
    Membre à l'essai
    Inscrit en
    Mai 2007
    Messages
    43
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 43
    Points : 21
    Points
    21
    Par défaut
    C'est bon merci j'ai trouvé la solution

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

Discussions similaires

  1. Insérer une case à cocher
    Par francky74 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 17
    Dernier message: 02/08/2011, 09h39
  2. Problème avec case et group by
    Par queryz dans le forum Langage SQL
    Réponses: 4
    Dernier message: 22/07/2010, 17h40
  3. problème avec case
    Par Amethyste dans le forum Langage SQL
    Réponses: 1
    Dernier message: 06/03/2007, 18h47
  4. problème avec CASE
    Par PAYASS59 dans le forum Requêtes
    Réponses: 1
    Dernier message: 22/11/2006, 14h08
  5. [PL SQL] Problème avec 'case' dans une fonction
    Par divail dans le forum Oracle
    Réponses: 14
    Dernier message: 13/03/2006, 16h50

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