CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

[C] Boucler un default dans un switch

cruc
cruc
Niveau 8
09 avril 2008 à 23:44:23

:salut: ,
alors voila je fais en ce moment un petit programme et je me pose une question, la voici :

donc dans mon programme au bout d' un moment j' ai un switch qui, à la fin dispose d' un default qui dit : Erreur, veuillez recommencez
mais je me piège moi-même :) parce que si je boucle en do .... while jusqu' a la fin de mon default ben les scanf vont êtres mal enregistrés (les valeurs seront toujours 0...), et je crois que le programme ne se terminera qu' en "Erreur veuillez recommencez" a l' infini :-(

donc je me pose cette question, comment faire pour que l' utilisateur retape son choix, dans un menu en switch ( je sais pas si on dit ocmme ça ^^) ou autrement dit, ou mettre une boucle (et laquelle ?) pour que le nombre soit juste

bref je parie que c' est un truc tout con mais je demande quand même c' est loccasion de gagner un peu d' intelligence :)

:merci: d' avance pour vos réponses

dnob700
dnob700
Niveau 10
10 avril 2008 à 00:53:44

je n'ai pas compris du tout ton problème. Essaye d'être plus clair. Mais en effet ça m'ajuste l'air d'être un problème de conception.

cruc
cruc
Niveau 8
10 avril 2008 à 09:55:35

j' etait sur que vous me diriez ça ^^
bon alors le probleme est que je voudrai faire une boucle dans le default du switch ...

genre :

switch(variable)

case 1:
printf(" .....");
break;

case 2:
printf("......");
break;
--------Boucle a partir d' içi --------
default:
printf("erreur recommencez");
break;
--------mais seulement si l' utilisateur se trompe : / ------

voila donc en gros je voudrai une boucle avec un if mais bon j' ai deja essayer plein de chose et ça ne marche pas.

voila j' éspère avoir été clair
encore :merci:

Chaos_Clad
Chaos_Clad
Niveau 10
10 avril 2008 à 11:07:45

Mets la boucle à l'extérieur et tu boucles infiniment, jusqu'à ce que l'utilisateur ait rentré une valeur correcte.

int continue = 1;

while(continue)
{
switch(variable)
{
case 1:
...
continue = 0; // Important sinon tu sortiras pas de la boucle
break;
case 2:
...
continue = 0;
break;
...
...
default:
break; // sort du switch mais recommence le while
}

scanf("%d", &variable);
} // fin while

________________________________________
Ma vidéo du moment :
http://youtube.com/watch?v=96Fm5SPsjD0 (Les Kiss Kool, à voir absolument :coeur: )

"Suicide par défénestration : encore une victime de Qt :( "

Chaos_Clad
Chaos_Clad
Niveau 10
10 avril 2008 à 11:08:51

Mets le scanf avant le switch, sinon quelque soit le choix de l'utilisateur il va devoir rerentrer une valeur pour variable ^^
Ou alors rajoute un "if (continue)" (si continue n'est pas égal à 0 c'est qu'il faut une nouvelle valeur pour variable).

________________________________________
Ma vidéo du moment :
http://youtube.com/watch?v=96Fm5SPsjD0 (Les Kiss Kool, à voir absolument :coeur: )

"Suicide par défénestration : encore une victime de Qt :( "

cruc
cruc
Niveau 8
10 avril 2008 à 11:38:07

Alors d' abord grand merci a toi :)
mais bon je me pose une question et bon comme je suis sur le forum :
qu' est-ce que le mot ( la fonction, la commmande je sais absolument pas quoi ) mais qu' est-ce que " continue " ?

Chaos_Clad
Chaos_Clad
Niveau 10
10 avril 2008 à 12:19:53

Mea culpa ^^
J'avais oublié que "continue" était un mot clé du langage. En fait c'est quand tu es dans une boucle, le continue te permet de recommencer une nouvelle boucle sans finir celle que tu es en train de faire.

while(un = 1)
{
if(truc) continue;
else if(machin) prout;
else break;)

Si la condition truc est validée, il va recommencer une nouvelle boucle. Alors qu'avec break, il sort de la boucle.
Mets donc plutôt continueR à la place ^^

________________________________________
Ma vidéo du moment :
http://youtube.com/watch?v=96Fm5SPsjD0 (Les Kiss Kool, à voir absolument :coeur: )

"Suicide par défénestration : encore une victime de Qt :( "

cruc
cruc
Niveau 8
10 avril 2008 à 13:09:07

AAHH ok ^^
d' accord je savais pas j' ai appris un bon truc la jte remercie.
@++

Sous forums
  • Aide à l'achat Mac
  • Création de sites web
  • Internet
  • Macintosh
  • Création de Jeux
  • Linux
  • Programmation
  • Steam Deck
  • Hardware
La vidéo du moment