select case - C++ - Programmation
Marsh Posté le 08-11-2002 à 15:21:34
charlene a écrit a écrit : message d'erreur STP ? |
28
parse error before `switch'
32 case label `"-"' does not reduce to an integer constant
32 confused by earlier errors, bailing out
voila
Marsh Posté le 08-11-2002 à 15:23:02
il manque pas un ; avant le switch ?
Y a une merde en totu cas
Marsh Posté le 08-11-2002 à 15:32:10
entre "" c une chaine de caractère ca marche pas avec les case qui demande un argument de type nombre entier dinc met entre '' qui correspond en fait au code ascii du caractere qui est donc un nombre entier
Marsh Posté le 08-11-2002 à 15:32:31
charlene a écrit a écrit : il manque pas un ; avant le switch ? Y a une merde en totu cas |
j'ai plus d'erreur mais mes boucles tournent a l"infini
#include <iostream>
#include <stdio.h>
int main()
{
int a,b,result;
char op;
//------------------------------------------------
do
{
cout << "Entrez le premier nombre: ";
cin >> a;
}
while (a<=0);
//---------------------------------------------------
do
{
cout << "Entrez le deuxième nombre: ";
cin >> b;
}
while (b<=0);
//---------------------------------------------------
do{
cout << "Entrer l'opération souhaiter :+,-,*";
cin >> op;
}
while(op =='+',op =='-',op =='*';
//---------------------------------------------------
switch (op) // selon op
{
case'+':result=a+b;
break;
case'-':result=a-b;
break;
case'*':result=a*b;
default:cout << "erreur de saisie!";
}
cout << "le résultat est:"<< result ;
}
Marsh Posté le 08-11-2002 à 15:55:14
Bonjour,
les switch, cela marche uniquement pour les entiers (integer) et pour les caractères, donc lorsque le sélecteur est un caractère, on doit écrire pour traiter un cas :
case 'a' : xxxxx
"a" est considéré comme une chaîne et donc ne marche pas...
Sonia
Marsh Posté le 08-11-2002 à 15:59:14
kason a écrit a écrit : Bonjour, les switch, cela marche uniquement pour les entiers (integer) et pour les caractères, donc lorsque le sélecteur est un caractère, on doit écrire pour traiter un cas : case 'a' : xxxxx "a" est considéré comme une chaîne et donc ne marche pas... Sonia |
j'ai pas tres bien compris
donc pr faire select case
il faut taper le ASCII de texte ?
et pourkoi est considéré comme une chaine
Marsh Posté le 08-11-2002 à 16:00:51
bol972 a écrit a écrit : j'ai pas tres bien compris donc pr faire select case il faut taper le ASCII de texte ? et pourkoi est considéré comme une chaine |
quand tu rentres un truc entre double quote, c est considere comme une chaine, donc ca marche pas pour un switch
non, faut pas taper le ascii, si tu mets
Code :
|
c est OK
Marsh Posté le 08-11-2002 à 16:06:41
charlene a écrit a écrit : quand tu rentres un truc entre double quote, c est considere comme une chaine, donc ca marche pas pour un switch non, faut pas taper le ascii, si tu mets
c est OK |
Pourkoi moi do while ne se stop , kd je lance le prog j'ai toujours la meme question meme si je mais une valeur supérieur a 0
Marsh Posté le 08-11-2002 à 22:02:04
do
{
cout << "Entrer l'opération souhaiter :+,-,*";
cin >> op;
}
while(op =='+',op =='-',op =='*';
on en sort bien que quand op n'est NI '+', NI '-', NI '*' ?
do
{
cout << "Entrez le premier nombre: ";
cin >> a;
}
while (a>=0);
on en sort que quand a < 0 ?
While veut dire qu'on fait le do 'tant que' la valeur de a est > 0 ou nulle.
Peut-être essayer
do
{
cout << "Entrez le premier nombre: ";
cin >> a;
}
while (a < 0);
//---------------------------------------------------
do
{
cout << "Entrez le deuxième nombre: ";
cin >> b;
}
while (b < 0);
//---------------------------------------------------
do{
cout << "Entrez l'opération souhaitée :+,-,*";
cin >> op;
}
while(op !='+',op !='-',op !='*'
Marsh Posté le 08-11-2002 à 22:22:52
Ca existe dans les for (,,; ; ) mais ici sais pas du tout si c'est valide ??
while((op != '+' && (op != '-' && (op != '*')
Marsh Posté le 08-11-2002 à 22:23:44
LE WHILE!!!!!!
Comment tu combines tes conditions toi! C'est des ET ou des OU?
Marsh Posté le 09-11-2002 à 04:21:33
La même question ailleurs, avec un pseudo proche: http://www.developpez.net/forums/v [...] p?p=196132
Marsh Posté le 09-11-2002 à 10:59:32
Musaran a écrit a écrit : La même question ailleurs, avec un pseudo proche: http://www.developpez.net/forums/v [...] p?p=196132 |
c moi tt simplement
Marsh Posté le 08-11-2002 à 15:12:57
Salut
j'ai erreur au niveau de mon switch , je vois pas pourkoi
#include <iostream>
int main()
{
int a,b,result;
char op;
//------------------------------------------------
do
{
cout << "Entrez le premier nombre: ";
cin >> a;
}
while (a>=0);
//---------------------------------------------------
do
{
cout << "Entrez le deuxième nombre: ";
cin >> b;
}
while (b>=0);
//---------------------------------------------------
do{
cout << "Entrer l'opération souhaiter :+,-,*";
cin >> op;
}
while(op =='+',op =='-',op =='*'
//---------------------------------------------------
switch (op) // selon op
{
case"+":result=a+b;
break;
case"-":result=a-b;
break;
case"*":result=a*b;
default:cout << "erreur de saisie!";
}
cout << "le résultat est:"<<result
}
---------------
http://www.independza.com