Programmation » A peine je m'y mets que j'ai déjà des problèmes >.<...
Catégorie:  
Rappel du message précédent
   
A peine je m'y mets que j'ai déjà des problèmes >.<...
Publié le 15/08/2011 @ 21:32:06,
Par crodilus



Un switch ne test que la condition == non ? :chut:


edit:

crodilus => printf, scanf, ... sont des fonctions.



Oups :chut: !!

J'y comprend rien à votre charabia :kaola: ... :lol:

A vrai dire je n'ai fait encore que 100 pages sur les 500 :kiki:

Amicalement crodilus.


   
A peine je m'y mets que j'ai déjà des problèmes >.<...
Publié le 15/08/2011 @ 21:37:48,
Par Clandestino
Gollum > avec certains langages, il est possible de faire un switch sur une plage de valeur :itm:
   
A peine je m'y mets que j'ai déjà des problèmes >.<...
Publié le 15/08/2011 @ 22:05:00,
Par gollum33


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 :grin:

Et dans certains langages tu peux même faire un switch sur du string :ocube:



Je pensais à un

  1. case 0
  2. case 1
  3. case 2
  4. case 3
  5. case 4
  6. case 5
  7. ... 
  8. 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.
   
A peine je m'y mets que j'ai déjà des problèmes >.<...
Publié le 15/08/2011 @ 22:05:08,
Par crodilus
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' " :lol: !

Amicalement crodilus.

Dernière édition: 15/08/2011 @ 22:05:43
   
A peine je m'y mets que j'ai déjà des problèmes >.<...
Publié le 15/08/2011 @ 22:45:13,
Par Olaf
Et si l'utilisateur (quel c... cette utilisateur) rentre "quarante-deux"? ou "Ca te regarde?"?
:666:
   
A peine je m'y mets que j'ai déjà des problèmes >.<...
Publié le 16/08/2011 @ 08:47:28,
Par Clandestino
Certaines instanciations de gcc et d'autres compilateurs permettent des subtilités du genre :

  1. switch (variable) { 
  2.    case 1...3
  3.       //plop 
  4.       break
  5.    case 4...6
  6.       //plip 
  7.       break
  8.    default
  9.       //plup 
  10.       break
  11. }
   
A peine je m'y mets que j'ai déjà des problèmes >.<...
Publié le 16/08/2011 @ 09:03:09,
Par rfr
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");

To die is a time consuming activity, it often takes a lifetime (but some are faster than others ... though)
   
A peine je m'y mets que j'ai déjà des problèmes >.<...
Publié le 16/08/2011 @ 10:05:52,
Par zion
T'as pas fait de goto?

Je suis déçu :ddr555:
Je suis le Roy :ocube:
   
A peine je m'y mets que j'ai déjà des problèmes >.<...
Publié le 16/08/2011 @ 10:11:23,
Par rfr
C'est vrai tiens ça :tongue:



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");



:whistle:
To die is a time consuming activity, it often takes a lifetime (but some are faster than others ... though)
   
A peine je m'y mets que j'ai déjà des problèmes >.<...
Publié le 22/08/2011 @ 12:02:44,
Par crodilus
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 :

  1. #include <stdio.h> 
  2. #include <stdlib.h> 
  3. int main() 
  4. int nombreEntre = 0
  5. while (nombreEntre != 47
  6. printf("Tapez le nombre 47 ! "); 
  7. scanf("%d", &nombreEntre); 
  8. return 0
  9. }


Pourquoi devons-nous mettre un '!' après le nombreEntre ?


Prochain chapitre les boucles ! :smile:

Amicalement crodilus.

Dernière édition: 22/08/2011 @ 12:24:57
   
A peine je m'y mets que j'ai déjà des problèmes >.<...
Publié le 22/08/2011 @ 13:16:53,
Par Coyote
!= 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
Autant que possible, la gravité doit être le pire ennemi du Coyote.
   
A peine je m'y mets que j'ai déjà des problèmes >.<...
Publié le 22/08/2011 @ 16:23:38,
Par crodilus
Si je comprends bien le'!' marque la différence entre la variable
  1. int nombreEntre = 0;
et la fonction
  1. printf("nombreEntre !=47");
?

Dernière édition: 22/08/2011 @ 16:24:46
   
A peine je m'y mets que j'ai déjà des problèmes >.<...
Publié le 22/08/2011 @ 17:50:30,
Par Dr_Dan
Tu n'a pas bien compris :ddr555:

Initialisation des variables:

http://c.developpez.com/cours/poly-c/?page=page_1#LI-E-4

'!=' est un opérateur de comparaison
http://c.developpez.com/cours/poly-c/?page=page_2#LII-B-15
Se tromper est humain ; Vraiment foutre la merde necessite le mot de passe de root. :petrus:
   
A peine je m'y mets que j'ai déjà des problèmes >.<...
Publié le 22/08/2011 @ 18:24:11,
Par Clandestino
Pour faire simple...

  1. int main() { 
  2.     int MaVariable = 47
  3.     if(MaVariable != 47) { 
  4.         printf("MaVariable est différent de 47\n"); 
  5.         } 
  6.     else { 
  7.         printf("MaVariable est égal à 47\n"); 
  8.         } 
  9.     }


Tout comme '==', l'opérateur '!=' est un opérateur de comparaison. '==' signifie "est égal à", alors que '!=' signifie "est différent de". Comme dans :

  1.     if(variable_1 == variable_2) {...} // Si variable_1 est égal à variable_2 
  2.     if(variable_1 != variable_2) {...} // Si variable_1 est différent de variable_2


C'est plus clair ?

Dernière édition: 22/08/2011 @ 18:24:40
   
A peine je m'y mets que j'ai déjà des problèmes >.<...
Publié le 22/08/2011 @ 21:41:27,
Par crodilus
Beaucoup plus clair !

Merci bien !
   
A peine je m'y mets que j'ai déjà des problèmes >.<...
Publié le 27/08/2011 @ 12:36:47,
Par crodilus
Encore et toujours des problèmes :bombe:

  1. #include <stdio.h> 
  2. #include <stdlib.h> 
  3. int triple(int nombre) 
  4. int resultat = 0
  5. resultat = 3 * nombre; 
  6. return resultat; 
  7. }


Quand j'introduis ceci dans code::block j'ai ce message d'erreur :

"undifined reference winmain@16" qu'est ce que c'est ?

  1. int triple(int nombre) 
  2. return 3 * nombre; 
  3. }


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 :crazy: !

Dernière édition: 27/08/2011 @ 12:39:01
   
A peine je m'y mets que j'ai déjà des problèmes >.<...
Publié le 27/08/2011 @ 12:41:03,
Par zion
Pour créer un programme en C il faut au moins une fonction main. Pas de main, pas de chocolat :tinostar:
Je suis le Roy :ocube:
   
A peine je m'y mets que j'ai déjà des problèmes >.<...
Publié le 27/08/2011 @ 12:44:58,
Par crodilus
Pour créer un programme en C il faut au moins une fonction main. Pas de main, pas de chocolat :tinostar:


:shy: éffectivement !

Dernière édition: 27/08/2011 @ 12:46:21
   
A peine je m'y mets que j'ai déjà des problèmes >.<...
Publié le 27/08/2011 @ 16:24:22,
Par crodilus
  1. int menu() 
  2.     int choix = 0
  3.      
  4.     while (choix < 1 || choix > 4
  5.     { 
  6.         printf("Menu :\n"); 
  7.         printf("1 : Poulet de dinde aux escargots rotis a la sauce bearnaise\n"); 
  8.         printf("2 : Concombres sucres a la sauce de myrtilles enrobee de chocolat\n"); 
  9.         printf("3 : Escalope de kangourou saignante et sa gelee aux fraises poivree\n"); 
  10.         printf("4 : La surprise du Chef (j'en salive d'avance...)\n"); 
  11.         printf("Votre choix ? "); 
  12.         scanf("%d", &choix); 
  13.     }     
  14.      
  15.     return choix; 
  16. }     
  17. int main(int argc, char *argv[]) 
  18. {     
  19.     switch (menu()) 
  20.     { 
  21.         case 1
  22.             printf("Vous avez pris le poulet\n"); 
  23.             break
  24.         case 2
  25.             printf("Vous avez pris les concombres\n"); 
  26.             break
  27.         case 3
  28.             printf("Vous avez pris l'escalope\n"); 
  29.             break
  30.         case 4
  31.             printf("Vous avez pris la surprise du Chef. Vous etes un sacre aventurier dites donc !\n"); 
  32.             break;     
  33.     } 
  34.         
  35.     return 0
  36. }


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 :

  1.  default : 
  2. printf("tu n'es même pas capable de choisir ton menu!"); 
  3. 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!" :ohwell:

Dernière édition: 27/08/2011 @ 16:26:02
   
A peine je m'y mets que j'ai déjà des problèmes >.<...
Publié le 27/08/2011 @ 17:17:06,
Par philfr
Un if après le scanf ?
   
A peine je m'y mets que j'ai déjà des problèmes >.<...
Publié le 27/08/2011 @ 18:38:12,
Par crodilus
Un if après le scanf ?



Effectivement sa marche, la phrase s'affiche, mais j'ai toujours le menu qui revient quand même :ohwell: !

Dernière édition: 27/08/2011 @ 18:38:44
Répondre - Catégorie:  
Informaticien.be - © 2002-2024 AkretioSPRL  - Generated via Kelare
The Akretio Network: Akretio - Freedelity - KelCommerce - Votre publicité sur informaticien.be ?