Aide pour programme - C++ - Programmation
Marsh Posté le 12-06-2005 à 17:12:32
et 15 et un mars aussi ?
Marsh Posté le 12-06-2005 à 17:13:45
Ben nan c'est simplement que je demande de l'aide, je pensait qu'un forum était fais pour sa...
non?
Marsh Posté le 12-06-2005 à 17:21:22
Dis, tu as cherché dans les pages d'or ?
Marsh Posté le 12-06-2005 à 17:22:33
c'est un expression
fait un recherche (google, koders, forums) avant de poser un question
Marsh Posté le 12-06-2005 à 17:23:15
bin tu utilises cin pour recuperer l'entrée utilisateur et tu fais un switch dessus
Marsh Posté le 12-06-2005 à 17:27:19
ReplyMarsh Posté le 12-06-2005 à 17:27:56
vla que je vais encore me faire gueuler dessus alors que j'aide
Marsh Posté le 12-06-2005 à 17:29:55
ReplyMarsh Posté le 12-06-2005 à 19:18:29
Taz a vu ce topic ?
Marsh Posté le 12-06-2005 à 19:25:38
Chrisbk, sa m'a bien aidé ce que tu m'a dis...
J'ai reussi à faire la fonction switch, et j'ai appris pas mal de chose....
Mais la, malgres mes recherches, je ne trouve pas comment allez plus loins...
C'est à dire, dans mon switch, j'ai 4 case, donc qui doivent renvoyer vers quelque chose, mais comment faire ces quelques choses?
Comment les introduire je veux dire....
Tu vois comment faire?
Marsh Posté le 12-06-2005 à 19:30:18
switch(monInt) {
case 1 :
...
break;
case 2 :
...
break;
}
tu remplace les ... par ce qui t'interesse
Marsh Posté le 12-06-2005 à 19:58:21
Code :
|
C'est ce que j'avais fais justement, mais c'est après que je ne sais pas comment faire....
Si je tape "1" par exemple, je devrais allé à la sous categorie: addition, mais comment faire cette sous categorie?
PS: Et à quoi sers le break? Je n'ai pas d'erreur de compil sans sa....
Encore merci de ton aide!
Marsh Posté le 12-06-2005 à 20:02:24
Le break permet de sortir du switch une fois que tu as fini avec le cas en cours.
Sinon, il exécutera tout à partir du cas trouvé, jusqu'à la fin du switch.
Marsh Posté le 12-06-2005 à 20:05:21
ReplyMarsh Posté le 12-06-2005 à 20:05:44
1- Tes catégories, tu les mets dans les "case"
2- Le break... le switch-case du C/C++ utilise le principe du fall-through.
Qu'est-ce que ça veut dire?
Tout simplement que quand tu arrives à la fin du "case 1", le programme va continuer non pas parce ce qui se trouve à la fin du switch mais par le "case 2".
Donc dans ton code si on rentre "1", le programme va exécuter:
Code :
|
et non pas simplement
Code :
|
J'ajouterais que les commandes sont quelque peu inutiles, dans la mesure où à chaque fois tu réaffectes dans "choix" la valeur qui y est déjà -_-
Donc ce que tu dois faire:
Code :
|
subshadow a écrit : A oki je vois, donc il est très necessaire. |
Il n'est pas nécessaire.
Il est important de savoir l'utiliser, nuance, mais on peut vouloir utiliser le fall-through, par exemple si on a des traitements qui s'effectuent sur plusieurs branches du switch.
Marsh Posté le 12-06-2005 à 20:13:00
Merci beaucoup normad!
Par contre, j'ai quelques difficultées la!!!
Enfait, le "case 1" veux dire "choix=1"???
Traitement en cas d'addition, etc, sa veus dire quoi traitement?
Desolé de toutes ces questions, mais je debute...
Marsh Posté le 12-06-2005 à 20:18:57
subshadow a écrit : Merci beaucoup normad! |
Oui
switch(xyz) va dire au compilateur "teste les valeurs de xyz"
et les "case ijk" signifient "si la valeur testée [dans le switch] est ijk alors fait ça"
Donc quand t'as
Code :
|
ben le /* code */ va s'effectuer si x==1
Citation : Traitement en cas d'addition, etc, sa veus dire quoi traitement? |
Le traitement, ce sont les opérations que tu effectues.
Tu as une entrée, tu traites ton entrée (effectue des traitements dessus > des calculs par exemples) et tu récupères une sortie.
Marsh Posté le 12-06-2005 à 20:21:19
Si tu es dans le case 1, ça veut dire que l'utilisateur veut faire une addition, donc à toi de l'amener à faire une addition, par exemple :
demander a,demander2,retourner a+b.
Code :
|
Marsh Posté le 12-06-2005 à 20:21:45
subshadow a écrit : Merci beaucoup normad! |
Oui, apparement "case 1" veut dire "choix=1" et le traitement en cas d'addition, c'est ce que le programme va faire si l'utilisateur choisi de faire une addition : tu demande à l'utilisateur de rentrer deux chiffres successivement, et après le programme additionne les deux entrées.
Marsh Posté le 12-06-2005 à 21:16:18
Oki merci à tous, j'essais sa!
Mais mon but de faire avec 4 termes, sa va etre très dur....
Marsh Posté le 12-06-2005 à 22:28:29
Sa y es j'ai reussi!
Merci à tous!
Seulement, encore besoin de votre aide....
Code :
|
Voila, enfait, l'utilisateur est obliger de rentrer 4 termes à additionner, mais je voudrais qu'il puisse en rentrer 2 3 ou 4 comme il veux....
J'ai pensé refaire un switch par dessus, mais bon....
Alors, qu'en pensez vous?
Marsh Posté le 13-06-2005 à 00:51:35
Esce que tu prefere qu'il dise à l'avance le nombre de termes qu'il souhaite entrer ou es ce qu'une fin de saisie de terme se caracterise par quelque chose de particulier (comme un caractère * ou ce que tu veux) ?
Sinon ce que je peux te conseiller c'est pas un switch (lol ca risque d'etre super lourd) mais de faire une boucle où le nombre d'executions correspond au nombre de termes (ou au nombre de termes -1, tout dépend de comment tu fais ton algo).
Enfin mon principal conseil serait quand même de bien penser l'algorithme de ton programme plutot que de vouloir sortir des switch à chaque coin de rue
EDIT: Un autre petit conseil: une addition de 4 termes n'implique pas la présence de 4 variables, imagine je veux additionner 1000 termes... tu crois que je vais m'amuser à déclarer 1000 variables ?
Marsh Posté le 13-06-2005 à 07:45:13
Merci!!!!
Mais non, je prefere le caractere * ou autre qui designe qu'il n'ya pas de nombre....
Je pense que ce sera plus court.....
Et pour ton edit, j'ai pas tout compris....?
Marsh Posté le 13-06-2005 à 12:28:09
subshadow a écrit : Merci!!!! |
Mon edit signifie que:
Code :
|
Equivaut à:
Code :
|
Meme résultat avec 2 variables.
Et une addition de 1000 termes se fait aussi avec 2 variables.
Enfin j'avais mal lu le post de fhr donc si comme lui tu veux réécrire littéralement l'addition à la fin ca change tout ce que je viens de dire
Sinon je te laisse de débrouiller si t'as compris ce que je voulais dire avec mon histoire de boucle.
Marsh Posté le 13-06-2005 à 12:56:49
J'ai pas super bien compris, mais je vais essayer de chercher....
PArce que j'ai pas compris ta technique est plus longue, donc quel interet?
Mais merci beaucoup....
Marsh Posté le 13-06-2005 à 13:32:40
C'est pas le nombre de lignes qui compte
Et puis ma méthode vu que c'est toujours la mm chose qui se repete tu peux la transformer en boucle qui tournera autant que necessaire... (et qui peut tourner 1000 fois pour une addition de 1000 termes).
Je serais curieux de voir comment tu programmerais une addition de 1000 termes.
Marsh Posté le 13-06-2005 à 23:36:29
LOL!
Je debut juste, faut se rappeller!
Merci beaucoup de ton aide!
J'avance graçe à tout le monde!
Marsh Posté le 14-06-2005 à 12:03:37
le mieux c'est de faire une boucle while qui continue tant qu'on a pas rentré '*' par exemple, et de mettre tous les termes de l'addition dans un tableau. Et on fait l'addition à la sortie de la boucle, ou à chaque occurence de la boucle, au choix.
Voila, je te laisse chercher "boucle" et "tableau"
Marsh Posté le 15-06-2005 à 19:32:33
Merci beaucoup!
Je viens de commander: "C++ pour les nuls", un petit livre sympatique qui devrait bien m'inicier au c++!
Marsh Posté le 15-06-2005 à 19:56:40
Je pense que tu aurais mieux fait de commander Le langage C++, de Bjarne Stroustrup.
C'est le monsieur qui est à l'origine du C++.
Marsh Posté le 16-06-2005 à 02:07:23
Ouai mais c'set pas le même price, et peut etre pas la même fasson d'expliquer, alors que l'autre edition, je connais!
Sa je connaissait pas!
Marsh Posté le 12-06-2008 à 18:24:28
y a pas une edition pour les tres nuls...parce que ca risque d'etre compliqué...
d
Marsh Posté le 14-06-2008 à 17:10:00
inblack a écrit : y a pas une edition pour les tres nuls...parce que ca risque d'etre compliqué... |
En même temps vu le code qui est présent dans ton thread, c'est un peu osé de se moquer des débutants.
Bonne chance Subshadow. edit de la pelle
Marsh Posté le 14-06-2008 à 21:34:57
Pelle d'or of teh day.
Marsh Posté le 12-06-2005 à 17:09:04
Salut à tous,
Je debute depuis ce matin dans le c++, et j'essais de créer un prog....
Voici les lignes:
Le probleme est que je ne sais pas comment continuer pour faire le choix entre 1/2/3/4 pour les different modes de calculs....
Et ensuite, quand on fait un choix, que sa renvois vers quelque chose....
Si vous pouvez m'aider....
Merci d'avance!
---------------
Mon Topic à Upper