Bonjour, depuis que je suis passé de code::blocks a 16.04 à 17.12, mon algorithme ne marche plus, je voudrais savoir si il ya de nouvelle directives pour les fonctions case-switch. voici mon code :
int MAX , MIN ;
int choixMenu;
do{
do
{
printf("=== Menu ===\n\n");
printf("Quel est le le niveau de difficultée ? \n");
printf("1/ de 1 à 100 ? \n");
printf("2/ de 1 à 1000 ? \n");
printf("3 /de 1 à 10000 ? \n");
printf("\nVotre choix ? ");
scanf("%d", &choixMenu);
switch (choixMenu)
{
case 1:
MAX = 100, MIN = 1;
break;
case 2:
MAX = 1000, MIN = 1;
break;
case 3:
MAX = 10000, MIN = 1;
break;
default:
printf("Vous n'avez pas rentre un nombre correct. choisissez entre 1, 2 et 3 !\n");
break;
}
}while (&choixMenu != 1 || &choixMenu != 2 || &choixMenu != 3 );
Si je met la valeur de choixMenu avec l'adresse code::blocks me retourne une erreur
Bonjour ! Code::Blocks est un environnement de développement, pas un compilateur. C'est le compilateur qui détecte des erreurs. De plus le langage C n'a pas changé.
Dans le 'switch', tu dois mettre la variable, pas son adresse. C'est normal que, si tu mets son adresse, le compilateur indique une erreur. D'ailleurs le code que tu as posté contient la variable, pas son adresse, du coup je ne sais pas quel est le problème.
(Ah, je vois que dans le 'while' final tu utilises les adresses au lieu des variables. Corrige ça !)
(Autre chose : n'importe quel nombre est différent de 1 ou différent de 2 ou différent 3. Par exemple 1 est différent de 2 (et aussi de 3). La condition du 'while' est à corriger.)
On écrit "j'ai tort", pas "tord" qui est le verbe "tordre" à la 3ème personne de l'indicatif présent
code::blocks a 16.04 à 17.12
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
On écrit "j'ai tort", pas "tord" qui est le verbe "tordre" à la 3ème personne de l'indicatif présent