Language C boucle
Résolu/Fermé
A voir également:
- Language C boucle
- Xiaomi s'éteint tout seul et se rallume en boucle - Forum Xiaomi
- Windows 10 language pack french download - Forum Windows 10
- Mon pc s'allume et s'éteint en boucle ✓ - Forum Matériel & Système
- Problème xiaomi redmi note 8t s'allume et s'éteint vibre - Forum Xiaomi
- Redémarrage en boucle Xiamo mi note 10 - Forum Xiaomi
8 réponses
Gord21
Messages postés
918
Date d'inscription
samedi 21 novembre 2009
Statut
Membre
Dernière intervention
20 mars 2013
289
3 sept. 2010 à 18:55
3 sept. 2010 à 18:55
Bonjour,
Les boucles sont plutôt du type while ou for. Pour case, la syntaxe est :
Soit par exemple
@+
Les boucles sont plutôt du type while ou for. Pour case, la syntaxe est :
switch (expression) { case cste1 : instruction ; case cste2 : instruction ; ... default : instruction ; }
Soit par exemple
switch (c) /* on teste la valeur du caractère c*/ { case 'a' : i=1 ; /* si le caractère c est la lettre a, on affecte 1 à i*/ case 'b' : i=2 ; ... default : i=999 ; /*si le caractère c n'est aucun des case, on affecte 999 à i */ }
@+
merci meme si je nai aps tres bien compris comment peut me servir les case mais merci quands meme a +
ps je dois metre switch a la place de main ou je le met apres et switch sert a revenir au debut ?
ps je dois metre switch a la place de main ou je le met apres et switch sert a revenir au debut ?
kidator.quitador
Messages postés
18
Date d'inscription
mardi 31 août 2010
Statut
Membre
Dernière intervention
13 septembre 2010
3
Modifié par kidator.quitador le 3/09/2010 à 21:12
Modifié par kidator.quitador le 3/09/2010 à 21:12
Salut,
Le "switch(x)" n'est pas une boucle, c'est une sorte de if()else imbriqué.
Les "case 1: ...;break;" (les cas) correspondent donc à if(x == 1){...}.
Bonne Chance!
Kidator.
Le "switch(x)" n'est pas une boucle, c'est une sorte de if()else imbriqué.
Les "case 1: ...;break;" (les cas) correspondent donc à if(x == 1){...}.
Bonne Chance!
Kidator.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Gord21
Messages postés
918
Date d'inscription
samedi 21 novembre 2009
Statut
Membre
Dernière intervention
20 mars 2013
289
3 sept. 2010 à 21:24
3 sept. 2010 à 21:24
Bonsoir,
Switch est une instruction au même titre que if ou printf, elle ne remplace pas main. Par contre, comme je te l'ai dis plus haut, elle ne sert pas à faire une boucle, elle sert à tester une condition. Par exemple, de manière textuelle, tu pourrais avoir :
Si contante = 1 alors faire action a
Sinon, si constante = 2 alors faire action b
Sinon, ...
Ce qui se traduirait par
La fonction switch se traduirait plutôt par :
tester la valeur de la constante
si la constante vaut 1, faire l'action a
si la constante vaut 2, faire l'action b
...
sinon
soit
J'espère que c'est plus clair.
Pour ce qui est des boucles, décris moi ce que tu veux faire, je te proposerai quelque chose.
@+
Switch est une instruction au même titre que if ou printf, elle ne remplace pas main. Par contre, comme je te l'ai dis plus haut, elle ne sert pas à faire une boucle, elle sert à tester une condition. Par exemple, de manière textuelle, tu pourrais avoir :
Si contante = 1 alors faire action a
Sinon, si constante = 2 alors faire action b
Sinon, ...
Ce qui se traduirait par
if (constante==1) : action a ; else if (constante==2) : action b ; ... else ...
La fonction switch se traduirait plutôt par :
tester la valeur de la constante
si la constante vaut 1, faire l'action a
si la constante vaut 2, faire l'action b
...
sinon
soit
switch (constante) { case 1 : action a ; case 2 : action b ; ... default : ... }
J'espère que c'est plus clair.
Pour ce qui est des boucles, décris moi ce que tu veux faire, je te proposerai quelque chose.
@+
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 844
3 sept. 2010 à 23:29
3 sept. 2010 à 23:29
A Gord21,
Les deux exemples que tu as mis ne correspondent pas exactement. Pour que ça corresponde, il faut mettre : break à la fin de chacun de tes cases.
Cdlt,
Les deux exemples que tu as mis ne correspondent pas exactement. Pour que ça corresponde, il faut mettre : break à la fin de chacun de tes cases.
Cdlt,
strato-boy
Messages postés
769
Date d'inscription
mercredi 11 février 2009
Statut
Membre
Dernière intervention
19 janvier 2011
100
4 sept. 2010 à 00:36
4 sept. 2010 à 00:36
oui, sans l'instrucion break, ça n'as plus d'intéret, il faut dire un programme "si 1 est vérifie ( case 1:) alors tu balance les action que j'ai mis dans le case, mais a la fin tu t'arrete et tu pars voir ce qu'il y à après le switch ! (break;)" sinon, le programme, il est tout bete, il continue son chemin sans s'arreté ! et le pire : a la compilation, t'auras pas d'eror, ni même un petit warning pour te prévenir !
après les boucle c'est différent, mais c'est pas méchant ! il y a 3 modele possble, chacun avec ses petite différence, tout dépend de ce que tu compte faire ;-)
après les boucle c'est différent, mais c'est pas méchant ! il y a 3 modele possble, chacun avec ses petite différence, tout dépend de ce que tu compte faire ;-)
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 844
4 sept. 2010 à 00:49
4 sept. 2010 à 00:49
Si ça a des intérêts d'utiliser sans break; c'est d'ailleurs pour ça que c'est pas obligatoire. Des petites astuces bien pratiques en algorithme.
merci a tous me jaimerait savoir concretement (par un example de programe) a quoi serve les case et quands vous dite switch (experssion) vous pensser a quoi en disant expression ?
Gord21
Messages postés
918
Date d'inscription
samedi 21 novembre 2009
Statut
Membre
Dernière intervention
20 mars 2013
289
4 sept. 2010 à 14:53
4 sept. 2010 à 14:53
Effectivement, il faut ajouter des break, l'exemple n'est pas complet, désolé.
Mais j'attend les réponses de 0231jon pour savoir ce qu'il attend (boucles ou case)
Regarde par exemple : https://www.commentcamarche.net/contents/111-langage-c-les-structures-conditionnelles
Mais j'attend les réponses de 0231jon pour savoir ce qu'il attend (boucles ou case)
Regarde par exemple : https://www.commentcamarche.net/contents/111-langage-c-les-structures-conditionnelles
ses bon grace a votre aide jy suis arrvie mais si vous pouvier maider jai un bug au niveau de la case 2
#include <stdio.h> #include <stdlib.h> #include <time.h> int main() { int nombrecoups = 0; int choixlvl = 0; int max = 0; int min = 1; int continuer = 0; printf("........bienvenue dnas plus ou moingt de jonathan delean......."); while (continuer ==1) { while (choixlvl <1 ||choixlvl >5) { printf("difficulter\n"); printf("1.facile 1 a 100\n"); printf("2.moyen 1 a 200\n"); printf("3.difficile 1 a 500\n"); printf("4.impossible tes malade tu vas pas y arriver 1 a 10000\n"); printf("5.bon ba choisit combient tu veut ^^\n"); scanf("%d" , &choixlvl); printf("\n"); switch (choixlvl) { case 1: printf("tu a choisit le mode facile , petit joueur\n"); break; case 2: printf("tu a choisi le mode moyen aller tu va y arriver\n"); break; case 3: printf("tu a choisit difficile voila un homme\n"); break; case 4: printf("tu a choisit IMPOSIBLE mais tes malade\n"); break; case 5: printf("tu a choisit personnaliser aller amuse toi bien\n"); break; } } int nombremystere = 0; int nombrejoueur = 0; while(max < min) { switch(choixlvl) case 1: max = 100; break; case 2: max = 200; break; case 3: max = 500; break; case 4: max = 10000; break; case 5: printf("entre le chifre max : "); scanf("%d" , &max); if(max < min) { printf("La valeur max est inferieure a la valeur Min recommence\n\n"); } else { } break srand(time(NULL)); nombremystere = (rand() % (MAX - MIN + 1)) + MIN; while (nombrejoueur != nombremystere) { printf(" quel est le nombre mystere ? "); scanf("%d",&nombrejoueur); if (nombreMystere > nombrejoueur) { printf("C'est plus !\n\n"); nombrecoups++; } else if (nombremystere < nombrejoueur) { printf("C'est moins !\n\n"); nombrecoups++; } else printf ("Bravo, vous avez trouve le nombre mystere qui etait %d en %d coups ! !!!\n\n",nombremystere,nombrecoups); } choixlvl = 0 nombrecoups = 0 printf(" voulez vous refaire une partie ? \n"); printf("1. *** OUI ***\n"); printf("2. *** NON ***\n"); scanf("%d",&continuer); } printf("\n\n Ok , je te dis a bientot !"); return 0; }