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

J´aide les personne en C/C++

Ruffi
Ruffi
Niveau 9
29 juillet 2004 à 17:30:53

variable1=variable2
copie la valeur de variable1 dans variable2, et renvoi true

variable1==variable2
renvoi true si la valeure de variable1 est la meme que celle de variable2, false sinon

Ruffi
Ruffi
Niveau 9
29 juillet 2004 à 17:32:01

Quelque chose de chi*** avec le C++ c´est que même si ton code est bon, et bah il peut ne pas fonctionner

Normalement s´il est bon, il marche :)
Il faut pas jeter la faute sur les autres

Mordorik
Mordorik
Niveau 10
29 juillet 2004 à 17:32:09

ok merci ruffi, peux tu maintenant m´expliquer le truc que tu as marqué juste avant pour que mon code soit plus propre ? je n´ai pas vraiment saisi...

Mordorik
Mordorik
Niveau 10
29 juillet 2004 à 17:34:10

je dis que des fois la syntaxe est bonne mais tu n´obtiens pas ce que tu veux? C´et ce qui m´ait ariivé juste avant avec les " =" et les " ==" et c´est ( je le reconnais) entierement de ma faute...
:)

JeanYvesYves
JeanYvesYves
Niveau 10
29 juillet 2004 à 17:38:25

c´est un piege classique du C le = et ==
mais bon !

le switch te remplace une série de if sur la meme valeur :

if ( a==1) plouf();
else if ( a==2) paf();
else if ( a==3) pif();

< =>

switch(a)
{
case 1:
plouf();
break;
case 2:
paf();
break;
case 3:
pif();
break;
};

sinon, un conseil : je vois que dans chaque if, tu mets :
cout < < " Veuillez entrer le premier nombre..." < < endl;
cin > > a;
cout < < " Veuillez entrer le second nombre..." < < endl;
cin > > b;

pkoi est ce que tu ne mets pas ça AVANT tous les if ? ? comme ça, il te le demande a chaque fois, et donc, tu n´as plus a les remettre dans les if, puisque ça le demande dans tous les cas, tu vois ce que je veux dire ? :)
et ton programme sera + compacte !

Ruffi
Ruffi
Niveau 9
29 juillet 2004 à 17:40:10

Regarde la facon dont j´ai reformater ton code :

cin > > choix;
case(choix)
{
case 1 :
cout < < " Veuillez entrer le premier nombre..." < < endl;
cin > > a;
cout < < " Veuillez entrer le second nombre..." < < endl;
cin > > b;
cout < < " Le resultat est " < < a+b < < endl;
break;
case 2 :
cout < < " Veuillez entrer le premier nombre..." < < endl;
cin > > a;
cout < < " Veuillez entrer le second nombre..." < < endl;
cin > > b;
cout < < " Le resultat est " < < a-b < < endl;
break;
case 3 :
cout < < " Veuillez entrer le premier nombre..." < < endl;
cin > > a;
cout < < " Veuillez entrer le second nombre..." < < endl;
cin > > b;
cout < < " Le resultat est " < < a*b < < endl;
break;
case 4 :
cout < < " Veuillez entrer le premier nombre..." < < endl;
cin > > a;
cout < < " Veuillez entrer le second nombre..." < < endl;
cin > > b;
cout < < " Le resultat est " < < a/b < < endl;
break;
default :
cout < < " Mauvais choix" < < endl;
}

en gros, sa permet d´eviter trop de if a la suite
si tu met pas de break, il te fait meme la suivante ( sa peu etre pratique)

JeanYvesYves
JeanYvesYves
Niveau 10
29 juillet 2004 à 17:43:42

lol, ruffi, petite confusion :

case(choix) --> switch(choix)

et puis morderik : regarde ce que je te disais : il n´y a que du copier coller dans tous les cas dans le code :
comme en maths : factorise ! !
quand en maths tu as :

3*x + 3*y + 3*z = 3* ( x+y+z)

la pareil :)
tu mets les cin et les cout qui sont tous les meme avant le switch ( ou tes if)

Ruffi
Ruffi
Niveau 9
29 juillet 2004 à 17:45:34

Oups... fin de journee, il faut me pardonner

JeanYvesYves
JeanYvesYves
Niveau 10
29 juillet 2004 à 17:46:02

po grave, lol :) ça arrive :)

Mordorik
Mordorik
Niveau 10
29 juillet 2004 à 17:47:42

c´est super ça je ne comprend rien ! !! JY² tu m´as expliqué un truc ou il fallait faire le truc des choix des nombre avant les if. Je ne comprend pas vraiament ce que tu veux dire qd aux trucs avec les switchs, ce n´est pas tres clair non plus...
merci qd même...

JeanYvesYves
JeanYvesYves
Niveau 10
29 juillet 2004 à 17:51:13

voila ton code :

if ( choix==1)
{
cout < < " Veuillez entrer le premier nombre..." < < endl;
cin > > a;
cout < < " Veuillez entrer le second nombre..." < < endl;
cin > > b;
cout < < " Le resultat est " < < a+b < < endl;
}
if ( choix==2)
{
cout < < " Veuillez entrer le premier nombre..." < < endl;
cin > > a;
cout < < " Veuillez entrer le second nombre..." < < endl;
cin > > b;
cout < < " Le resultat est " < < a-b < < endl;
}
if ( choix==3)
{
cout < < " Veuillez entrer le premier nombre..." < < endl;
cin > > a;
cout < < " Veuillez entrer le second nombre..." < < endl;
cin > > b;
cout < < " Le resultat est " < < a*b < < endl;
}
if ( choix==4)
{
cout < < " Veuillez entrer le premier nombre..." < < endl;
cin > > a;
cout < < " Veuillez entrer le second nombre..." < < endl;
cin > > b;
cout < < " Le resultat est " < < a/b < < endl;
}

voila un code + compacte :

cout < < " Veuillez entrer le premier nombre..." < < endl;
cin > > a;
cout < < " Veuillez entrer le second nombre..." < < endl;
cin > > b;
if ( choix==1)
{
cout < < " Le resultat est " < < a+b < < endl;
}
if ( choix==2)
{
cout < < " Le resultat est " < < a-b < < endl;
}
if ( choix==3)
{
cout < < " Le resultat est " < < a*b < < endl;
}
if ( choix==4)
{
cout < < " Le resultat est " < < a/b < < endl;
}

voila
faut comprendre que dans ton cas, ça revient au meme.
sinon, pour le switch, lis l´exemple de Ruffi ! c´est ton programme réécrit avec switch !

Mordorik
Mordorik
Niveau 10
29 juillet 2004 à 18:03:48

ok merci, je comprend mieux omme ça par contre je ne sais tjs pas ce que sont les switchs et à quoi ç sert...

JeanYvesYves
JeanYvesYves
Niveau 10
29 juillet 2004 à 18:05:25

c´est pour éviter de faire des séries de if
mais bon, si tu es bien avec les if, y´a pas de soucis :)
switch n´est pas fondamental.

lockscash
lockscash
Niveau 6
29 juillet 2004 à 18:16:54

Pitite explication d´un switch :

int nombre;
cout < < " Tapez un nombre inferieur strictement a 3" < < endl;
cin > > nombre;

switch ( nombre)
/ /tu fais un test sur la variable nombre
{
case 0: / /Si nombre = 0
cout < < " vous avez appuiye sur 0" < < endl;
break;

case 1: / /si nombre = 1
cout < < " vous avez appuiye sur 1" < < endl;
break;

case 2: / /si nombre = 2
cout < < " vous avez appuiye sur 2" < < endl;
break;

default:// si nombre different de 0, 1, et 2
cout < < " vous devez entrer un nombre inferieur strictement a 3" < < endl;
break;

}

En fait c´est tout simple.
Si le nombre = 0, le programme va executer les actions qui se trouve entre le
case 0:
et le premier break qu´il rencontrera.
si nombre = 0, dans l´exemple il ecrira " vous avez appuye sur 0" puis il sortira du switch et n´executera pas les autres ´case´

J´espere m´etre bien exprimer et que tu aura compris que l´on peut remplacer un switch par un if.

a toi de voir ce que tu prefere.

Mordorik
Mordorik
Niveau 10
29 juillet 2004 à 18:45:00

ok merci pour l´explication, je comprend bcp mieux comme ça !

lockscash
lockscash
Niveau 6
29 juillet 2004 à 18:53:50

de nada !

overkill666
overkill666
Niveau 8
29 juillet 2004 à 20:46:34

Re tout le monde. Devinez pourquoi je viens là... et oui une question encore! Cette fois ci c´est au sujet des fonctions avec uneliste variable d´arguments. Comment on fait pour utiliser les arguments définis puisque qu´on ne sais pas combien il y en a. Exemple on veut faire un système d´addition. Donc un certain nombre d´arguments sont définis mais comment faire pour que l´on les additionnes à la fin de la fonction vu qu´on ne sais pas combien il y en aura. Quelle fonction utiliser? Je peux vous donner l´esquisse de mon code mais c´est inachevé, mal fait et un peu barbare. Le voilà quand même(comme ça vous saurez de quoi je parle)

  1. include < stdio.h>
  2. include < stdlib.h>
  3. include < stdarg.h>

int main()
{
char tableau[13];

printf(" Voulez vous effectuer une addition ou une soustraction?\n");

scanf(" %s " , tableau);

if(tableau[0] = ´s´)
{
soustraction(int *argument1, . ..);
}

else if(tableau[0] = ´a´)
{
addition(int *argument1, . ..);
}

system("PAUSE");
return 0;
}

void addition(int *argument1, . ..)
{
int increment = 0;
int termes;

va_list pargument;

printf(" Entrez le premier terme de l´addition.\n");

scanf(" %d", &_start(pargument, argument1));

printf(" Entrez le nombre de termes restant dans l´addition.\n");

scanf(" %d", &);

for(increment = 0; increment < termes; increment++);
{
printf(" Terme numero %d :\n", increment+2);

scanf(" %d", &_arg(pargument, int));
}

overkill666
overkill666
Niveau 8
29 juillet 2004 à 22:04:20

Hmm apparemment je me suis complètement trompé
au niveau du fonctionnement de va_start

overkill666
overkill666
Niveau 8
29 juillet 2004 à 22:10:35

Ou ça doit être ça mais ça ne change rien à ma première question.

overkill666
overkill666
Niveau 8
29 juillet 2004 à 22:22:05

En fait je viens de remarquer que pas mal de problèmes venaient de ma mauvaise utilisation des
va_xxx . En gros prenez pas compte du code. J´espère que vous voyez au moins de quoi je parle.

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