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

Un pti peu d'aide en c++

Yecerr
Yecerr
Niveau 7
10 janvier 2006 à 15:05:47

Bonjour, je m´amuse a programmer un pti jeu pour voir si j´ai bien appris quelques cour de c++ (je viens de débuter)et donc voici le code ou j´orai besoin d´aide (le code n´est pas terminé):
[code]#include <stdlib.h>

  1. include <iostream>
  2. include <time.h>

using namespace std;

int main()
{
int direction ;
int force , courage , force2 , courage2 ;
cout <<"Bienvenue Général, par ou allons nous attaquer ?" << endl;
cout <<"Dans quel direction allons- nous ?" << endl;
cout <<"1.Le nord?"<< endl ;
cout <<"2.Le sud?"<< endl ;
cout <<"3.L´Ouest?"<< endl ;
cout <<"4.L´Est?"<< endl ;
cout <<"autre. Battre en retraite ?" << endl ;
cin >> direction;
switch (direction)
{
case 1:
cout << " Bien nous allons vers le nord."<< endl;
break;
case 2:
cout << "Bien nous allon vers le sud."<< endl;
break;
case 3:
cout << "Bien nous allons vers l´ouest."<< endl;
break;
case 4:
cout << "Bien nous allons vers l´est."<< endl;
break;
default:
cout << "Bien nous battons en retraite."<<endl;
}
/*
Ici je voudrai savoir comment faire pour que direction = la reponse par ex
si on tape 1(pour le nord) direction prend pour valeure 1.
*/
if(direction)
{
srand(time(NULL));
force = rand ();
courage = rand ();
force2 = rand ();
courage2 = rand ();
if (force*courage >= force2*courage)
cout << "Nous avons remporté la bataille sur le front %ld" , &direction << endl;//ICI
else
cout << "Nous avons perdu la bataille sur le fron %ld" , &direction << endl;//ICI
}
/*
pour les //ICI :Je ne connais que cette façon de reprendre une valeure de variable dans un texte,
je sais que c´est du c mais je voudrai avoir quel est l´équivalent en c++.
*/

system("PAUSE");
return 0;
}
[/code]

godrik
godrik
Niveau 30
10 janvier 2006 à 15:08:39

en fait, c´est tres facil
int toto = 14;
cout<<"la valeure de toto est "<<toto<<endl;

Yecerr
Yecerr
Niveau 7
10 janvier 2006 à 15:11:56

a ok merci :) utrement personne n´aurai une solution pour le 1er problème ?

Yecerr
Yecerr
Niveau 7
10 janvier 2006 à 15:14:05

dsl pour le double post mais je pense que j´ai trouvé la soluce pour le 1er problème ^^

godrik
godrik
Niveau 30
10 janvier 2006 à 15:18:28

"cin >> direction;" le fait.
avec les main ca veut dire: "extraire une valuere du clavier et la mettre dans direction".
a moins que je n´ai pas compris ton probleme...

Yecerr
Yecerr
Niveau 7
10 janvier 2006 à 15:24:21

En fait il y a tjrs un problème...
godrik => j´espère que ce sera plus clair:
#include <stdlib.h> #include <iostream> #include <time.h> using namespace std; int main() { int direction ; char direction1 ; int force , courage , force2 , courage2 ; cout <<"Bienvenue Général, par ou allons nous attaquer ?" << endl; cout <<"Dans quel direction allons- nous ?" << endl; cout <<"1.Le nord?"<< endl ; cout <<"2.Le sud?"<< endl ; cout <<"3.L´Ouest?"<< endl ; cout <<"4.L´Est?"<< endl ; cout <<"autre. Battre en retraite ?" << endl ; cin >> direction; switch (direction) { case 1: cout << " Bien nous allons vers le nord."<< endl; break; case 2: cout << "Bien nous allon vers le sud."<< endl; break; case 3: cout << "Bien nous allons vers l´ouest."<< endl; break; case 4: cout << "Bien nous allons vers l´est."<< endl; break; default: cout << "Bien nous battons en retraite."<<endl; } if (direction, direction1)// PROBLEME direction == 1; // PROBLEME direction1 = "nord";// PROBLEME if else // PROBLEME direction == 2;// PROBLEME direction1 = "sud";// PROBLEME if else// PROBLEME direction ==3;// PROBLEME direction1 = "l´ouest";// PROBLEME if else // PROBLEME direction == 4;// PROBLEME direction1 = "l´est";// PROBLEME { srand(time(NULL)); force = rand (); courage = rand (); force2 = rand (); courage2 = rand (); if (force*courage >= force2*courage) cout << "Nous avons remporté la bataille sur le front " <<direction << endl; else cout << "Nous avons perdu la bataille sur le fron " << direction << endl; } system("PAUSE"); return 0; }

godrik
godrik
Niveau 30
10 janvier 2006 à 15:34:56

d´accord tu voudrais stocker dans la variable direction1 "nord". En fait, il te faut pour cela utiliser une chaine de caractere et non un caractere.
je suposes que tu suis un tuto, tu verra cela au chapitre "tableau" probablement, mais je vais te donner la solution
"char* direction1;" et pas char car char represente UN caractère. char* en represente (eventuellement) plusieurs. je fais expres de ne pas detailler.

ensuite tu pourras faire direction1 = "ouest";

Yecerr
Yecerr
Niveau 7
10 janvier 2006 à 15:36:08

ok merci beaucoup :)

dnob700
dnob700
Niveau 10
10 janvier 2006 à 19:03:12

absolument n´importe quoi...
Ce que t´as dit godrik est très aproximatif (la gestion des chaines de caractères en C ne se fait pas du tout aussi facilement) voir carrément faux (ensuite, on ne peut pas faire direction1="ouest"); par exemple).

Le mieux est de faire comme tu le voulais, c´est à dire en C++ : pour cela tu inclue l´en tête <string> (et non pas string.h qui n´a rien à voir) et tu déclare des variables de type string pour les chaines de caractères :
string directions1;
à la place de la déclarer de type char ou char*.

ensuite tu peut faire :
if (direction==1)
direction1="nord";
else if (direction==2)
directio1="sud";
...

et dans le cout à la fin, tu affiche
cout << "vous avez gagné au " << direction1;

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