15/08/2011 @ 21:37:48: Clandestino: A peine je m'y mets que j'ai déjà des problèmes >.< !
Gollum > avec certains langages, il est possible de faire un switch sur une plage de valeur
15/08/2011 @ 22:05:00: gollum33: A peine je m'y mets que j'ai déjà des problèmes >.< !
Non, tu peux utiliser une suite, si tu fais un switch avec 18 cas tu te prends des claques, tu dois juste faire 0..17 et zoupla
Et dans certains langages tu peux même faire un switch sur du string
Je pensais à un
- case 0:
- case 1:
- case 2:
- case 3:
- case 4:
- case 5:
- ...
- case 17: printf("..."); break;
Il y a une autre manière de faire en C sous windows ?
Clandestino => oui j'imagine, mais malheureusement en C ... après quelques recherches je vois que ça se fait en VB.
15/08/2011 @ 22:05:08: crodilus: A peine je m'y mets que j'ai déjà des problèmes >.< !
J'étais à la page 90 tentôt quand je vous ai demandé qu'est ce c'était que le switch.
Maintenant je suis à la page 93.. Intitulé de la page " La condition 'switch' "
!
Amicalement crodilus.
15/08/2011 @ 22:45:13: Olaf: A peine je m'y mets que j'ai déjà des problèmes >.< !
Et si l'utilisateur (quel c... cette utilisateur) rentre "quarante-deux"? ou "Ca te regarde?"?
16/08/2011 @ 08:47:28: Clandestino: A peine je m'y mets que j'ai déjà des problèmes >.< !
Certaines instanciations de gcc et d'autres compilateurs permettent des subtilités du genre :
- switch (variable) {
- case 1...3:
-
- break;
- case 4...6:
-
- break;
- default:
-
- break;
- }
16/08/2011 @ 09:03:09: rfr: A peine je m'y mets que j'ai déjà des problèmes >.< !
Puisque tout le monde joue à "je peux te coder la même chose autrement que toi..."
(age1 >= 18) ? printf("\nBravo tu as plus de 18 ans tu peux etre fiere\n") :
printf("\nTu n'as pas encore 18 ans donc tu ne peux pas lire la suite\n");
16/08/2011 @ 10:05:52: zion: A peine je m'y mets que j'ai déjà des problèmes >.< !
T'as pas fait de goto?
Je suis déçu
16/08/2011 @ 10:11:23: rfr: A peine je m'y mets que j'ai déjà des problèmes >.< !
C'est vrai tiens ça
if (age1 >= 18)
goto more;
printf("\nTu n'as pas encore 18 ans donc tu ne peux pas lire la suite\n");
goto end;
more:
printf("\nBravo tu as plus de 18 ans tu peux etre fiere\n");
end:
printf("\nNow zion is goto-happy\n");
22/08/2011 @ 12:02:44: crodilus: A peine je m'y mets que j'ai déjà des problèmes >.< !
Salut à tous et à toutes,
Après quelques jours d'arrêt me voilà remis en route !
Maintenant le switch n'est plus un secret pour moi ^^ !
J'ai une petite question sur la boucle que voici :
- #include <stdio.h>
- #include <stdlib.h>
- int main()
- {
- int nombreEntre = 0;
- while (nombreEntre != 47)
- {
- printf("Tapez le nombre 47 ! ");
- scanf("%d", &nombreEntre);
- }
- return 0;
- }
Pourquoi devons-nous mettre un '!' après le nombreEntre ?
Prochain chapitre les boucles !
Amicalement crodilus.
22/08/2011 @ 13:16:53: Coyote: A peine je m'y mets que j'ai déjà des problèmes >.< !
!= opérateur de différence
Vérifie qu'une variable est différente d'une valeur
Exemple :
x!=3
Retourne 1 si $x est différent de 3, sinon 0
22/08/2011 @ 16:23:38: crodilus: A peine je m'y mets que j'ai déjà des problèmes >.< !
Si je comprends bien le'!' marque la différence entre la variable
et la fonction
- printf("nombreEntre !=47");
?
22/08/2011 @ 17:50:30: Dr_Dan: A peine je m'y mets que j'ai déjà des problèmes >.< !
22/08/2011 @ 18:24:11: Clandestino: A peine je m'y mets que j'ai déjà des problèmes >.< !
Pour faire simple...
- int main() {
- int MaVariable = 47;
- if(MaVariable != 47) {
- printf("MaVariable est différent de 47\n");
- }
- else {
- printf("MaVariable est égal à 47\n");
- }
- }
Tout comme '==', l'opérateur '!=' est un opérateur de comparaison. '==' signifie "est égal à", alors que '!=' signifie "est différent de". Comme dans :
- if(variable_1 == variable_2) {...}
- if(variable_1 != variable_2) {...} 2
C'est plus clair ?
22/08/2011 @ 21:41:27: crodilus: A peine je m'y mets que j'ai déjà des problèmes >.< !
Beaucoup plus clair !
Merci bien !
27/08/2011 @ 12:36:47: crodilus: A peine je m'y mets que j'ai déjà des problèmes >.< !
Encore et toujours des problèmes
- #include <stdio.h>
- #include <stdlib.h>
- int triple(int nombre)
- {
- int resultat = 0;
- resultat = 3 * nombre;
- return resultat;
- }
Quand j'introduis ceci dans code::block j'ai ce message d'erreur :
"undifined reference winmain@16" qu'est ce que c'est ?
- int triple(int nombre)
- {
- return 3 * nombre;
- }
Et j'ai le même problème quand j'introduis celle-ci, un peu logique me direz-vous vu que c'est un condensé de la première
!
27/08/2011 @ 12:41:03: zion: A peine je m'y mets que j'ai déjà des problèmes >.< !
Pour créer un programme en C il faut au moins une fonction main. Pas de main, pas de chocolat
27/08/2011 @ 12:44:58: crodilus: A peine je m'y mets que j'ai déjà des problèmes >.< !
Pour créer un programme en C il faut au moins une fonction main. Pas de main, pas de chocolat
éffectivement !
27/08/2011 @ 16:24:22: crodilus: A peine je m'y mets que j'ai déjà des problèmes >.< !
- int menu()
- {
- int choix = 0;
-
- while (choix < 1 || choix > 4)
- {
- printf("Menu :\n");
- printf("1 : Poulet de dinde aux escargots rotis a la sauce bearnaise\n");
- printf("2 : Concombres sucres a la sauce de myrtilles enrobee de chocolat\n");
- printf("3 : Escalope de kangourou saignante et sa gelee aux fraises poivree\n");
- printf("4 : La surprise du Chef (j'en salive d'avance...)\n");
- printf("Votre choix ? ");
- scanf("%d", &choix);
- }
-
- return choix;
- }
- int main(int argc, char *argv[])
- {
- switch (menu())
- {
- case 1:
- printf("Vous avez pris le poulet\n");
- break;
- case 2:
- printf("Vous avez pris les concombres\n");
- break;
- case 3:
- printf("Vous avez pris l'escalope\n");
- break;
- case 4:
- printf("Vous avez pris la surprise du Chef. Vous etes un sacre aventurier dites donc !\n");
- break;
- }
-
- return 0;
- }
L'objectif de cet exercice, c'est de faire en sorte que lorsque l'on rentre un chiffre autre que 1,2,3 ou 4 que le programme nous affiche un message comme quoi on s'est trompé au lieu de réafficher le menu.
Bon à la base je me suis dis je vais introduire dans swictch un :
- default :
- printf("tu n'es même pas capable de choisir ton menu!");
- break;
Mais celà n'a rien changé, en relisant le programme j'ai compris que cela venait du fait que la boucle while indiquait que lorsque le nombre était inférieur à 1 ou supérieur à 4 la boucle se répetait.
Mais comment lui dire que si le nombre est inférieur à 1 ou supérieur à 4 de ne pas recommencer et d'afficher le message "tu n'es même pas capable de choisir ton menu!"
27/08/2011 @ 17:17:06: philfr: A peine je m'y mets que j'ai déjà des problèmes >.< !
Un if après le scanf ?
27/08/2011 @ 18:38:12: crodilus: A peine je m'y mets que j'ai déjà des problèmes >.< !
Effectivement sa marche, la phrase s'affiche, mais j'ai toujours le menu qui revient quand même
!