Switch loupé... [Résolu]

Signaler
Messages postés
295
Date d'inscription
mercredi 26 octobre 2005
Statut
Membre
Dernière intervention
21 mai 2008
-
Messages postés
3212
Date d'inscription
lundi 7 novembre 2005
Statut
Membre
Dernière intervention
16 février 2009
-
dans mon code, il me sort toujours le choix 4 le choix defaut, sniff j'arrive pas ma comparaison

#include <stdlib.h>
#include
#include <stdio.h>



void main ()
{
char rep;

cout << "1: entrer un nouveau groupe/artiste ? " << endl;
cout << "2: visualiser la mediatheque ? " << endl;
cout << "3: modifier la mediatheque ? " << endl;
cout << "4: quitter ? " << endl;
cout << "Votre choix: ";
cin >> rep;



int itoa(const char *rep); //je ne sais pas si c'est necessaire


switch (rep)
{
case (1):
cout << " choix 1" << endl;
break;
case (2):
cout << " choix 2" << endl;
break;
case (3):
cout << " choix 3" << endl;
break;
default:
cout << " choix 4" << endl;
break;
}
}

10 réponses

Messages postés
3212
Date d'inscription
lundi 7 novembre 2005
Statut
Membre
Dernière intervention
16 février 2009
12
Tu peut pas mettre en switch une chaine de caratère. Tu ferais mieu de mettre ton rep directement en int. La ça va marcher.

___________________________________________
Les plus grands esprits trouvent toujours une solution
Messages postés
3212
Date d'inscription
lundi 7 novembre 2005
Statut
Membre
Dernière intervention
16 février 2009
12
Ouais mais si ton choix est des chiffre, met ton rep directement en int. Et floche ton itoa. C'est inutile.

___________________________________________
Les plus grands esprits trouvent toujours une solution
Messages postés
1787
Date d'inscription
lundi 22 novembre 2004
Statut
Membre
Dernière intervention
31 janvier 2009
2
Bé ui cin accepte tous les types je pense...
if(!Meilleur("Joky")) return ERREUR;<
Messages postés
3212
Date d'inscription
lundi 7 novembre 2005
Statut
Membre
Dernière intervention
16 février 2009
12
Attend. Wow. Pourquoi itoa. En effet c'est pas nécessaire.

___________________________________________
Les plus grands esprits trouvent toujours une solution
Messages postés
65
Date d'inscription
dimanche 8 janvier 2006
Statut
Membre
Dernière intervention
27 février 2011
1
bonjour
int itoa(const char *rep); //je ne sais pas si c'est necessaire
ouais pas trop utile

dans le switch tu testes rep qui est un char donc:
case 'n' : ......
case 'Z': ......

les char entre ' ' ou tu peux mettre le code ASCII si vraiment tu veux mettre "une valeur".
Messages postés
1787
Date d'inscription
lundi 22 novembre 2004
Statut
Membre
Dernière intervention
31 janvier 2009
2
Sinon tu fais :

switch(rep - 48)
{
case 1:
//...
break;
//Etc...
}

if(!Meilleur("Joky")) return ERREUR;<
Messages postés
295
Date d'inscription
mercredi 26 octobre 2005
Statut
Membre
Dernière intervention
21 mai 2008

oui en fait j'ai declarer ma reponse en char et mon swich en int, c'et sur que ca cloché... merci les gars (on va dire erreur de debutant...:p)
Messages postés
2023
Date d'inscription
mardi 24 septembre 2002
Statut
Membre
Dernière intervention
28 juillet 2008
5
Un char n'est pas une chaine de caractère, donc aucun problème pour le mettre en switch.
Messages postés
3212
Date d'inscription
lundi 7 novembre 2005
Statut
Membre
Dernière intervention
16 février 2009
12
ben dison qu'un char n'est pas tout à fait désigné pour prendre des chiffres (limité de -127 à 128) mais en effet, un char en switch n'est pas un probleme. Mais attention, cin va interpreter ton rep comme un char alors ta valeur sera en ANSI et pas 1.

___________________________________________
Les plus grands esprits trouvent toujours une solution
Messages postés
3212
Date d'inscription
lundi 7 novembre 2005
Statut
Membre
Dernière intervention
16 février 2009
12
Si évidament tu tape 1 à la console

___________________________________________
Les plus grands esprits trouvent toujours une solution