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

Mes programmes en C++

KAKOL
KAKOL
Niveau 10
27 mai 2005 à 21:05:46

Bon ben salut, c´est la premiere fois que je poste sur ce topic car sa m´interessai pas tro avant, mai vu ke je me suis mis au C++,
alors voila, pas la peine de me dire :rechercher: , je l´ai déja fai,
premiere question : crée t-on des jeux en C++ ? si oui, comment ?
deuxieme question : bon voila, je crée un programme que est sensé tenir la conversation à l´utilisateur, avant, mon programe répondait la meme chose koike l´utilisateur disait, le prog répondait la meme chose, mai maintenant,
avec la fonction If ( ..), je peu créer un programme qui réponde, mai probleme,

  1. include < cstdio>
  2. include < cstdlib>
  3. include < iostream>

using namespace std;

int main(int nNumberofArgs, char* pszArgs[])

{
cout.setf(cout.boolalpha);

string nom;
cout<<"Entre ton nom : " ;
cin>>nom;

string texte1;
cout<<"Salut " <<nom<<" sa farte ? : " ;
cin>>texte1;

bool b;
string oui;
b = texte1 == oui;
if ( b == true)

{
cout<<"Ah ben moi ossi ! "<<endl;
}
bool b2;
string non;
b2 = texte1 == non;
if ( b2 = true AND) b = false)

{
cout<<"Mais pourquoi ? "<<endl;
}

system("PAUSE");
return 0;
}

que mette comme if si la reponse de l´utilisateur est non ? ? moi sa ne marche pas ! !
aidez moi svp !
merci d´avance :hap:

KAKOL
KAKOL
Niveau 10
27 mai 2005 à 21:39:07

UP eh bin ? personne s´y connai ou koi ?

dnob700
dnob700
Niveau 10
27 mai 2005 à 21:47:45

va voir ce site pour bien comprendre ce à quoi tu t´attaque : http://www.jiraf.org/modules.php?name=News&file=article&sid=134 .
Puis, si tu veux toujours faire des jeux vidéo et que tu te pose des questions sur la manière d´y arriver, va voir la F.A.Q. de Lapintade : http://perso.wanadoo.fr/ck/Langages.htm qui répond à toutes les questions.
Si après tout ça tu veux plus tard travailler dans le monde du jeu vidéo, vas voir le dossier de jv.com la dessus : https://www.jeuxvideo.com/articles/0000/00004365_dossier.htm qui présente tout les métier de cette filière.

Moule53
Moule53
Niveau 10
27 mai 2005 à 22:02:03

if ( b2 = true AND) b = false)

And ?
Ca existe en C++ ? Je serais curieux de savoir...

Fenix[74]
Fenix[74]
Niveau 10
27 mai 2005 à 22:02:56

avant de t´attaquer a des choses aussi compliquées ( tout est relatif, mais au vu de tes erreurs, ceci est compliqué pour toi), essaie de comprendre le principe des chaines de caracteres.

Fenix[74]
Fenix[74]
Niveau 10
27 mai 2005 à 22:05:20

oui l´operateur AND existe en C/C++
C´est &&

if( condition1 && condition2 )
{
traitement_si_vrai
}
else
{
traitement_si_faux
}

Moule53
Moule53
Niveau 10
27 mai 2005 à 22:06:37

Ok,
Je m´endormirais moins con ce soir :ok:

dnob700
dnob700
Niveau 10
27 mai 2005 à 22:28:30

version corrigé de mon post précédent :

va voir ce site pour bien comprendre ce à quoi tu t´attaque : http://www.jiraf.org/modules.php?name=News&file=article&sid=134 .
Puis, si tu veux toujours faire des jeux vidéo et que tu te pose des questions sur la manière d´y arriver, va voir la F.A.Q. de Lapintade : http://perso.numericable.fr/ckckck/Langages.htm qui répond à toutes les questions.
Si après tout ça tu veux plus tard travailler dans le monde du jeu vidéo, vas voir le dossier de jv.com la dessus : https://www.jeuxvideo.com/articles/0000/00004365_dossier.htm qui présente tout les métier de cette filière.

Lapintade
Lapintade
Niveau 30
27 mai 2005 à 22:30:10

UP eh bin ? personne s´y connai ou koi ?

T´en gentil, c´est pas un supermarché ici. Donc tu attends patiement et tu post pas des trucs de ce genre svp.

Ptival
Ptival
Niveau 10
27 mai 2005 à 22:53:51

personne s´y connai ou koi ?

-> En tout cas pas toi :\

Je connais pas string, si c´est juste un typedef pour un char* alors le prob vient du faire que :

b = texte1 == oui;

Signifie :

b = ( /*Est-ce que l´adresse du premier élément de texte1 est égal à l´adresse du premier élément de oui*/);

Ce qui est obligatoirement faux ( le programme va pas créer deux variables à la même adresse ! )

Alors que ce que tu veux c´est comparer les chaînes...Il faut déjà donner la valeur " oui" à la chaîne oui ( car c pas son nom qui fait sa valeur, t´as pas l´air de l´avoir compris) et utiliser des fonctions de comparaison ( tel que strcmp pour les char*...à voir selon la définition de string)

Enfin, si tu comprends rien du tout à ce dont je parle, retourne sur tes cours de C/C++ ; -)

dnob700
dnob700
Niveau 10
27 mai 2005 à 23:31:21

bon, excuse moi Ptival, mais malheureusement tu te trompe, car les string ne sont pas de simple ypedef pour les char*

par contre dans le programme ce n´est pas pare que tu appelle une string oui qu´elle contient oui.

remplace la ligne :
string oui;

par la ligne:
sstring oui("oui");
et tout marchera ( en tout cas ça) car là tu dit au programme que ta chaine oui contient le mot oui.

LGV
LGV
Niveau 28
28 mai 2005 à 00:34:12

notez quand meme que ça depend si on parle de string en générale, ou de std::string ( ou autre implémentation encapsulée maison..)

( au passage, pour ceux que les AND à la place de && amusent, certains compilos aiment aussi les digraphes : pour pondre du code imbuvable, c´est tres pratique.. par ex taper :> pour symboliser un ] . pour l´utilité, c´est si vous devez coder sur des claviers qui n´ont pas ces symboles, ou des tables ascii ou certains caracteres manquent.. bref, super utilisé donc..)

lalelale
lalelale
Niveau 5
28 mai 2005 à 08:25:18

Je n´vois pas trop comment il peut dire que des gens ne s´y connaissent pas ici en ayant attendu seulement 30 mins pour avoir une réponse . .. Et puis, à mon avis tu ferais bien de relire quelques tutos, parce qu´il y a certaines bases qui t´ont échappé là. Pour de bons tutos ( enfin je trouve) va sur www.fvirtman.fr.st .

Ptival
Ptival
Niveau 10
28 mai 2005 à 09:42:45

dnob -> Oki bah j´ai expliqué un peu pour rien :lol:

Sinon l´opérateur == est surchargé pour les strings ?

dnob700
dnob700
Niveau 10
28 mai 2005 à 16:42:21

ya of course, c´est très pratique.

Enfin c´est une question de convénience personelle. Moi je les utilise pas parce que j´aime pas ne pas savoir ce qui se cache sous le code que j´utilise, mais ça reste pratique.

Fenix[74]
Fenix[74]
Niveau 10
29 mai 2005 à 12:16:12

je ne me rapelle plus exactement les priorités d´operateurs entre = et == mais:

si = prioritaire:

b = texte1 == oui; / /assigne l´adresse de texte1 à b ( copie l´adresse du pointeur texte1 dans le pointeur b, il faut que texte1 et b soient des pointeurs char), puis compare le résultat de l´assignation avec oui ( qui doit etre une variable bolléene).

si == prioritaire:

b = texte1 == oui; / /compare ( LES REFERENCES de)texte1 et oui, pas les chaines elles mêmes, donc texte1 et oui seront obligatoirement différents a partir du moment où ils ne pointent pas sur la même chaine, meme si les contenus des chaines sont identiques. Pour comparer des chaines, il faut utiliser
int strcmp(char[] string1,char[] string2);
( ou exactement la meme chose:
int strcmp(char* string1,char* string2);
)

le résultat de cette fonction est 0 si les chaines sont égales, < 0 is string1 est + petit que string2 et > 0 is string1 est + grand que string2

Pour finir, voila ta ligne corrigée:

b = ! strcmp(texte1,oui);

KAKOL
KAKOL
Niveau 10
29 mai 2005 à 23:22:58

oula tant de reps ! !
lapintade -> le club des " gentils" modos !

et en fait, je me sui trompé ac le compier collé ! ! le AND c t juste pr tester ! ! merci encore !

dnob700
dnob700
Niveau 10
29 mai 2005 à 23:25:59

Fenix[74] : c´est ça sauf que

si == prioritaire:
b = texte1 == oui;

b vaudra peut-être true car texte1 et oui sont des string ( si elle sont bien initialisé) et donc == compare vien le contenu des chaine ( et non pas juste le poitneur comme avec des char*).

KAKOL
KAKOL
Niveau 10
29 mai 2005 à 23:29:11

bon alors, je vais poser clairement la quest :
je voudrai ke l´ordi réponde ( si texte1 = oui) : " ah cool"
et ke si il rep non il dise : " ah bon ? mais pourquoi ? "

merci de vos futures reps ( si vs pouviez m´envoyer le passage en fichier source ´copier-coller´ ce serai super ! !)

JeanYvesYves
JeanYvesYves
Niveau 10
30 mai 2005 à 00:58:30

Avec la classe string, rien de plus simple :

string s;
cin > > s;
if ( s=="oui")
{
. ..
}
if ( s=="non")
{
. ..
}

Pour plus d´infos sur la classe string, regarde mon tuto ( cf ma carte) chapitre F.2.

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