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

[C++] question idiote d'un débutant

Ammoniac
Ammoniac
Niveau 10
03 janvier 2006 à 18:51:37

bonjour tout le monde!
j´ai voulu commencer le c++,je me suis donc acheté un petit bouquin,mais leur explication de la fonction (je ne sais pas is c´est le bon mot) "return" est treees tres vague...pouvez vous m´eclairer dessus,parce que moi j´ai rien compris ^^
merci d´avance!

DantePC
DantePC
Niveau 10
03 janvier 2006 à 18:57:11

Salut cher ami: Si ici tu ne trouves ton explication c´est qu´il y a un probléme :

http://www.siteduzero.com/tuto-3-2842-1-les-fonctions.html

PS : c´est du C et non du C++ mais je pense pas qu´il y ai une différence avec return

Bonne chance

Ammoniac
Ammoniac
Niveau 10
03 janvier 2006 à 18:58:29

aah!
le site du zero se met au C++?!
et moi qui croyait qu´il ne fesait que le html,le css et le php!
je fonce dessus,merci beaucoup! ^^

Mordorik
Mordorik
Niveau 10
04 janvier 2006 à 21:09:39

ammoniac :d) les questions des débutants ne sont jamais idiotes ? enfin presque jamais y´a qu´a voir les miennes pour rigoler ^^

Ikki_2504
Ikki_2504
Niveau 11
05 janvier 2006 à 18:53:54

:salut:
Voilà je commence avec la programmation (10jours que j´ai commencé ^^) et j´ai essayé de réaliser un petit programme tout bidon (en C), c´est un jeu de + ou -, l´ordi tire un chiffre mystère, le joueur doit le deviner et à chaque essai du joueur, l´ordi dit son chiffre est plus ou moins grand que celui du joueur...

Et j´ai un problème, j´ai voulu améliorer un peu ce concept et en fait, qd le joueur trouve le nombre mystere, je voudrai que l´ordi propose au joueur de faire une nouvelle partie. Voilà mon code source (j´espère qu´il sera lisible une fois posté :$ )

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

int main(int argc, char *argv[])
{

int envie_de_jouer =1;
while (envie_de_jouer ==1)
{

const long MAX=100, MIN=1;
long nombreMystere = 0, nombre_du_joueur=0, nombre_de_coups=0, nombre_de_partie=0;

srand(time(NULL));
nombreMystere = (rand() % (MAX - MIN + 1)) + MIN;

while (envie_de_jouer ==1)
{

if (nombre_de_partie==0);
{
//Règles du jeu pour nombre_de_parties ==0
printf("Le but de ce jeu et de trouver un nombre aleatoire compris entre 1 et 100.\n");
printf("Entrez un nombre.\n");
printf("L´ordi vous dira si le bon nombre est superieur ou inferieur\n");
printf("a celui que vous avez entre\n\n\n");
}

do //Boucle du jeu
{
printf("Entrez un nombre \n"); //Demande d´entrer un nombre
scanf("%ld", &nombre_du_joueur); //Joueur entre son nombre
nombre_de_coups++; //Incrementation du nombre de coups

if (nombre_du_joueur < nombreMystere)
printf("C´est plus ! \n\n\n");

else if (nombre_du_joueur > nombreMystere)
printf("C´est moins ! \n\n\n");

else printf("Bravo ! Vous avez trouve le nombre mystere en %ld coups ! \n\n\n", nombre_de_coups);
}
while (nombre_du_joueur != nombreMystere);
//Fin de la boucle du jeu

//Commentaires en fonction du nombre de coups necessaires

if (nombre_de_coups == 1)
{
printf("Eh ben y´en a qu´ont de la chance !! !\n\n");
}

else if (nombre_de_coups ==2 || nombre_de_coups ==3 || nombre_de_coups ==4 || nombre_de_coups ==5 )
{
printf("Pas mal, pas mal du tout meme !\ n\n");
}

else if (nombre_de_coups == 6 || nombre_de_coups == 7)
{
printf("Bof pas super...\n\n");
}

else
{
printf("Plus de 7, t´es une vraie merde !\ n\n");
}
//Fin des commentaires en fonction du score du joueur

//Demande si on veut rejouer
printf("T´en refait une ?\ n");
printf(" 1 : Oui\n");
printf(" 2 : Non\n");
scanf("%ld", envie_de_jouer);

if (envie_de_jouer =! 1)
{
printf("Merci d´avoir joue !\ n Un super jeu de Alex ´Ikki_2504´ B. (mdr)");
}
else
{
(nombre_de_partie++);
}

system("PAUSE");
return 0;
}
}
}

Si quelqu´un voit ou est le problème, une petite aide serait la bienvenue :)

dnob700
dnob700
Niveau 10
05 janvier 2006 à 22:34:26

ci n´est pas à nous de voir où est le problème, mais à toi de nous dire quel est le problème. Là on peut peut-être en trouver la cause.

Mais si tu ne nous dit pas en quoi il consiste c´est peine perdue.

Il y a une erreur à la compilation ? (si oui, laquel et sur quelle ligne), ou à l´exécution ?

J´ais quand même vu un truc : tu défini la variable nombre_de_partie à l´intérieur de la boucle while, ce qui fait qu´elle vaut zéro à chaque nouvelle partie. Ce n´est évidemment pas ce que tu veux. Déclare là au début de ton programme et pas dans la boucle.

Pour poster des codes source et être sur qu´il sont lisible, tu peut utiliser ce site :
http://rafb.net/paste/

dk53
dk53
Niveau 9
05 janvier 2006 à 22:45:54

c´est ptet le scanf essaye scanf("%d"&,envie_de-jouer

dk53
dk53
Niveau 9
05 janvier 2006 à 22:47:59

nan nan c pas ca excuse moi

guyver2
guyver2
Niveau 10
06 janvier 2006 à 10:21:20

je suis en train de tout relire avant de compiler et deja il manque un &
ici
scanf("%ld",envie_de_jouer);
il faut mettre
scanf("%ld",&envie_de_jouer);

guyver2
guyver2
Niveau 10
06 janvier 2006 à 10:33:00

a la fin tu tape
else
{
(nombre_de_partie++);
}

a quoi servent ces parentheses ?

guyver2
guyver2
Niveau 10
06 janvier 2006 à 10:39:03

bon ça y est ça marche.

je poste le code (legerement remixé)
http://www.rafb.net/paste/results/k99gdS90.html

en gros j´ai changé les tests qui étaient du genre :
if (Varriable == 1)
en
if (Varriable)

et
if (nombre_de_coups == 1)
{
printf("Eh ben y´en a qu´ont de la chance !! !\ n\n");
}

else if (nombre_de_coups ==2 || nombre_de_coups ==3 || nombre_de_coups ==4 || nombre_de_coups ==5 )
{
printf("Pas mal, pas mal du tout meme !\ n\n");
}

else if (nombre_de_coups == 6 || nombre_de_coups == 7)
{
printf("Bof pas super...\n\n");
}

en
if (nombre_de_coups == 1)
{
printf("Eh ben y´en a qu´ont de la chance !! !\ n\n");
}

else if (nombre_de_coups < 5 )
{
printf("Pas mal, pas mal du tout meme !\ n\n");
}

else if (nombre_de_coups < 7)
{
printf("Bof pas super...\n\n");
}

et viré des parentheses qui n´avais pas leur place.

guyver2
guyver2
Niveau 10
06 janvier 2006 à 10:44:24

et zut j´en ai oublier un bout:
il me reste 3 warnings
48 C:\Documents and Settings\Alphonse\Bureau\+ou-.cpp:39 [Warning] ´\040´
23 C:\Documents and Settings\Alphonse\Bureau\+ou-.cpp:41 [Warning] ´\040´
41 C:\Documents and Settings\Alphonse\Bureau\+ou-.cpp:48 [Warning] ´\040´
les trois sont des warning ´\040´ => y a t´il un rapport avec le caractère ´(´ ?

guyver2
guyver2
Niveau 10
06 janvier 2006 à 10:51:40

bon désolé de poster 15 fois mais cette fois c´est la bonne; j´ai trouvé d´ou viennent les warnings du post précedent.
Aux lignes 39, 41 et 48 tu a mis des trucs du genre printf("blabla \ n");
avec un espace entre \ et n hors "\ " ne correspond a aucun caractere d´echapement.
voila voila je poste le bon code qui marche impec et qui compile impec aussi.
http://www.rafb.net/paste/results/tFIrEL75.html

Ikki_2504
Ikki_2504
Niveau 11
07 janvier 2006 à 20:14:43

Merci de m´avoir répondu :)

guyver :d) Ton dernier lien est mort aussi...^^

Aute chose : si tu mets :
else if (nombre_de_coups < 5 )
{
printf("Pas mal, pas mal du tout meme !\ n\n");
}

else if (nombre_de_coups < 7)
{
printf("Bof pas super...\n\n");
}
et que le joueur trouve en 4 coups : 4 est inférieur au "5" du premier else if et aussi inférieur au 7 du second else if... Donc si ça se produit, l´ordi écrit les 2 commentaires à l´écran ! (C´est ce qu´il m´a fait l´autre fois...)

Les parenthèses qui servent à rien, je les ai virées (enfin celles que j´ai vues^^)

Mon code source est ici : http://rafb.net/paste/results/Zx69IM78.html

Et le pb est qu´en fin de partie, je voudrais que l´ordi propose au joueur de refaire une partie ; qu´il arrete le prog si le joueur dit non et qu´il recommence le prog s´il dit oui...
Et c´est ça que j´arrrive pas à faire...

shima5
shima5
Niveau 8
07 janvier 2006 à 20:56:00

Probleme resolut , avec "goto" (pas recommandé mais tres simple ici), bref j´ai remanier 2,3 truc et ca marche tres bien.

http://rafb.net/paste/results/UQoR6S76.html

dnob700
dnob700
Niveau 10
08 janvier 2006 à 00:07:22

je viens du monde du Basic, je n´ais donc pas forcément d´aversion pour le goto, mais en C,je n´en utilise jamais.

On remarqued´ailleur que ton programme peut s´écrire aussi simplement, sans rien changer, sans goto :

au tout début, à la place du "rejouer:", tupeut mettre un "while(1){"

et à la fin, juste avant "system("pause");", tu ferme l´accolade du goto, et bien sur tu vire le "else goto rejouer;".

Il n´y a rien d´autre à changer, car si le joueur veut quitter, il y a le "return 0" qui termine directement le programme.

De plus, je te conseille d´aligner tes accolades ouvrantes et fermantes sur la même colonne : ton code sera bien plus lisible. Là c´est vraiment difficile de voir à quel accolades ouvrantes correspond une accolades fermante et vice-versa.

shima5
shima5
Niveau 8
08 janvier 2006 à 19:20:33

Ouai javou encore plus simple ,mais ils y a encore pleins de manieres differentes pour coder ca.

guyver2
guyver2
Niveau 10
08 janvier 2006 à 22:42:24

Ikki_2504 >>

else if (nombre_de_coups < 5 )
{
printf("Pas mal, pas mal du tout meme !\ n\n");
}
else if (nombre_de_coups < 7)
{
printf("Bof pas super...\n\n");
}

et que le joueur trouve en 4 coups : 4 est inférieur au "5" du premier else if et aussi inférieur au 7 du second else if... Donc si ça se produit, l´ordi écrit les 2 commentaires à l´écran ! (C´est ce qu´il m´a fait l´autre fois...)

NON !

si il n´y avait eu que des if ça aurai posé probleme mes les else évite ce prob. je vais te le réécrire avec encore plus d´acolades pour que tu vois bien les different blocs d´instruction. meme si sans les tabulation ça rend le code legerement ilisible...

else
{
if (nombre_de_coups < 5 )
{
printf("Pas mal, pas mal du tout meme !\ n\n");
}
else
{
if (nombre_de_coups < 7)
{
printf("Bof pas super...\n\n");
}
} //fin du 2eme else
}//fin du 1er else

gollumkawder
gollumkawder
Niveau 10
09 janvier 2006 à 23:02:49

Question ´bête´: vous ne pensez pas qu´on devrait plutôt dire ++C..? 8´)

guyver2
guyver2
Niveau 10
09 janvier 2006 à 23:34:20

le c++ c´est une sorte de niveau au dessus du C et donc une sorte d´incrémentation. Et quand tu pense incrémentation tu pense plus a machin++ qu´a ++machin donc j´imagine que c++ est plus logique.

Et niveau prononciation c´est mieux...

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