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 :

[Débutant] Aide avec les Switch


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 66
    Par défaut [Débutant] Aide avec les Switch
    Bonjour,
    Je cherchne déséperement de l'aide
    Je voudrais savoir s'il ya un moyen de faire un switch avec un
    case 'nombreàtroisdigits' :

    Où nombreàtroisdigits est un nombre à trois chiffres de n'importe qu'elle sorte par ex 100.
    Ca marche avec un chiffre comme '1' mais pas avec plus gros.
    Connaissez vous un moyen?

    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
     
    number = sentencein[i]+sentencein[i+1]+sentencein[i+2] ;
    		switch(number){
     
    			//convert to str to support more than one number
    			case '100' :
    				boardde[i] = 'a' ;
    				break;
     
    			default :
    				cout << number << " is an illegal sign , please type your sentence again" << endl;		
    				error = 1;
    				break;
    		}
    	}
    Merci de m'aider; j'apprecie,
    ggcourtois

  2. #2
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 395
    Par défaut
    ben, tu peux toujours parser le nombre pour en faire une vraie valeur entière, et faire le switch dessus...
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  3. #3
    Membre Expert
    Avatar de Eusebe
    Inscrit en
    Mars 2006
    Messages
    1 992
    Détails du profil
    Informations personnelles :
    Âge : 47

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 992
    Par défaut
    D'après ton code, number est une chaîne de caractères ?
    Si c'est bien le cas, il faut que tu le convertisses en numérique (int par exemple) avant de faire ton switch.

    Autre solution : se passer qu'un switch, et utiliser des if...

  4. #4
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Par défaut
    Si tu additionnes des caractères, qui ne sont que des entiers, tu obtiens un entier. Donc 100 (sans les quotes) devrait suffire. Ensuite il faut voir si le calcul que tu fais est bien ce à quoi tu t'attends.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 66
    Par défaut
    Merci,
    J'ai enlevé les quotes
    Le calcul que j'ai fait devrais normalement prendre les trois premiers characters de sentencein et les mettres côté à côte puis l'enregistrer dans number.
    Est-ce bien cela?
    mais un autre problème : je ne peux voir le output car des que j'execute et que je tape 100, le programme ce ferme
    voici le main; si ca peux aider :

    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
     
    #include "function.h"
     
     
    using namespace std;
     
    //creation of variables
    string inputencryption;
    int number;
     
     
    int main()
    {
     
    	//std::ostringstream oss;
    	//*cin >> inputencryption;
    	//encrypt(inputencryption);*/
     //  
     
     
     
    	// convertis number en std::string
     
        std::ostringstream oss(number);
    	cin >> number;
    	oss << number;
     
        std::string result = oss.str();
    	decrypt(result);
     
     
    	system("PAUSE");
     
    }
    MErci de votre aide, vos reponses me sont précieuses,
    ggcourtois

  6. #6
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Par défaut
    Donc si je comprends bien tu fais '1' + '0' + '0' ? Effectivement ça ne fait pas 100.

    Bon. Tu veux faire quoi, au juste ?

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 66
    Par défaut
    Non je voulais que les trois nombre ne s'ajoutent pas mais s'alignent de gauche à droite.
    Imagine sentencein est 100
    je veux que ca aligne les trois mais pas que ca les additionent bref, je veux que ce soit le input.
    Remarque :
    J'ai pas mis les autres cases mais je veux faire pareil pour les autres lettres de l'alphabet.
    Merci,
    ggcourtois

Discussions similaires

  1. [Débutant]Problème avec les timers
    Par mickael777 dans le forum MFC
    Réponses: 1
    Dernier message: 11/04/2005, 11h00
  2. [Language] aide sur les switch case
    Par pouss dans le forum Langage
    Réponses: 3
    Dernier message: 05/04/2005, 11h34
  3. [Débutant] Pb avec les paramètres dans lien dynamique
    Par hackwell69 dans le forum Struts 1
    Réponses: 2
    Dernier message: 21/02/2005, 11h33
  4. [Débutant]Commencer avec les BDD
    Par Pill_S dans le forum Débuter
    Réponses: 6
    Dernier message: 29/06/2004, 14h02
  5. Réponses: 2
    Dernier message: 29/08/2003, 17h52

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