[algo et C]

Voila, l'intitulé :
"Un joueur lance 2 dés. Si la somme des 2 dés est 2, il gagne, il gagne 10 euros.Si seulement l'un des 2 dés est 1; il gagne 5 euros. Il ne gagne rrien et ne perd rien si les 2 dés sont égaux et différents de 1. Dans les autres cas il perd 5 euros.

Il faut faire l'analyse de ce jeu en algorithme
Puis écrire en C, le programme du jeu qui simule ce jeu et afiche le gain ou la perte a l'écran.
Il est préciser les fonctions randomize() et random(n) ainsi que les bibliothèques stdlib.h et time.h"

Je ne sait vraiment pas par ou partir débutant en prog depuis à peine 2 semaines je suis totalement perdu. :cry:

Si quelqu'un pourais m'aider ce serais super sympas! merci @tous d'avance

11 réponses

  1. Contributeur
    eh ui la pratique du langage c. et de la politesse aussi. faut s'entrainer.

    c'est assez simple il te faut variable, et apppliquer la formule pseudo-aleatoire sur ces variables, et enfin comparer autant de fois que nécessaire les deux variables qui sont en fait les deux dés.
    0
    1. sérieux si tu trouve mon message trop impolie a ton gout bah tu y répond pas!!!sérieux je passe un gout de gueule contre les gens qui balance des "mal-poli" à tout bout de champs!! tu voulais quoi que je te raconte ma vie! Je suis venu là en espérant trouver quelqu'un qui puisse m'aider pas quelqu'un qui vienne me faire une leçon de morale juste pour ce donner un genre!!

      celui laa je te le dédicasse :
      merci de ta compréhenssion, je te prie d'accepter mees plus HONORABLE zé SINCERE salutation
      0
      1. Contributeur
        non c'est pas ca c'etait juste pour le bonjour mais y avait rien de méchant t'inquiete pas. bien ur ue tu peux trouver de l'aide ici, je peu meme t'aider si tu as besoin. le programme est assez simple en fait. voila bonne soirée
        0
        1. salut
          je pense ke c simple mais il fau ke je sache c koi dés c un jeu de condition voila merci
          0
          1. C'est gentil de m'aider.
            Voilà le début, je vais vous le copier en même temps sur le forum.

            Analyse :
            Données : 2 dés, dé 1, dé 2
            Résultat : Le gain ou la perte du jeu
            Traitement : Calculer la somme des deux dès pour en définir les gains ou les pertes du joueur
            0
            1. salut,
              Ton analyse succinte n'est pas assez précise pour arriver à l'algo
              données : la valeur du dé 1 , la valeur du dé 2, ces valeurs seront attribués par
              les fonctions aléatoires de l'ordinateur.
              Sortie : la valeur du gain ou de la perte du joueur du joueur
              Traitement :
              - attribuer de manière aléatoire la valeur des deux dés
              - suivant les valeurs des 2 dés calculés la valeur du gain (ou de la perte)
              - indiquer au joueur la valeur de ces dés et ses gains
              D'après ton énoncé si le joueur ne gagne rien, c'est une perte et pas un gain...
              ça peut jouer dans l'affichage du résultat.

              Maintenant il te reste à formuler en algo :
              - déclaration de tes variables d'entrée et de sortie
              - faire le tirage aléatoire
              - la série de test qui te permettrons d'évaluer le gain en fonction des règles
              du jeu (des 'si', 'alors' et 'sinon')
              - l'affichage du résultat

              Après tu t'interese sà la traduction de ton algo dans le langage demandé.
              0
              1. comment on écrit en algo pour avoir un nombre aléatoire compris entre 1 et 6?
                0
                1. Tu poses un postulat :
                  Je considére la fonction :
                  fonction hasard( entier min, entier max ) retourne entier
                  comme étant une fonction qui retourne de manière aléatoire un nombre
                  entier entre min et max.


                  Et ensuite tu l'utilises dans ton algo comme une fonction normale.
                  0
              2. /*On part du principe que tu as développer une fonction de génération des nombre aléatoires et que tu attend la saisie au calivier ou par clique pour quitter */

                //déclaration de variables
                int D1, D2, SomD, Solde
                long Gain, solde
                bool Quitter

                // intiatilsation des varaibles
                D1 = 0, D2=0, SomD=0, Gain=0, Quitter=0

                //une boucle concernant le lancement des dés

                Tant que Quitter <> 0

                D1=GénérerNb(Min,Max)
                D2=GénérerNb(Min,Max)
                SomD=D1+D2

                Si SomD == 2 alors
                Gain=10
                Sinon Si D1 == 1 OU D2 ==1 alors
                Gain=5
                Sinon Si D1==D2 alors
                Gain=0
                Sinon
                Gain=0-5
                Fin Si

                Solde=Solde+Gain
                Affiche(Gain)
                Affiche(Solde)
                Quitter=ReponseUtilsateur(SaisieOuClique)

                Fin Tant que
                //
                //ou
                bool Perte
                //une boucle concernant le lancement des dés
                Perte=0

                Tant que Quitter <> 0

                D1=GénérerNb(Min,Max)
                D2=GénérerNb(Min,Max)
                SomD=D1+D2

                Si SomD == 2 alors
                Gain=10
                Solde=Solde+10
                Sinon Si D1 == 1 OU D2 ==1 alors
                Gain=5
                Solde=Solde+5
                Sinon Si D1==D2 alors
                Gain=0
                Sinon
                Solde=Solde-5
                Perte=1
                Fin Si

                Si Perte==1 alors
                Affiche("La perte est de -5")
                Sinon
                Affiche("Le gain est de : ",Gain)
                Fin Si

                Affiche("Le solde est de : ",Solde)
                Quitter=ReponseUtilsateur(SaisieOuClique)
                Fin Tant que

                //
                Ya certainement mieux

                Xaruf
                0
                1. lude<stdlib.h>
                  #include<time.h>
                  #include<stdio.h>
                  #include<conio.h>
                  
                  void lancdes(int de1, int de2)
                  void majscore(int de1, int de2)
                  
                  void main()
                  {
                      int de1,de2,scorej;
                      scorej = 0;
                      de1 = 0;
                      de2 = 0;
                      randomize();
                      do
                      {
                          lancdes(&de1, &de2);
                  	majscore(&score, de1, de2);
                      }
                      
                      while (1);
                      return 0;
                  }
                   
                  void lancdes(int *de1, int *de2)
                  {
                      printf("Appuyez sur une touche pour lancer les d‚s");
                      getch();
                      *de1 = 1+random(6);
                      *de2 = 1+random(6);
                  }
                   
                  void majscore(int score, int de1, int de2)
                  {
                  int score,de1,de2;
                      if(de1 + de2 == 2)
                      {
                  	score = 10;
                      }
                      else
                      {
                          if(de1 == 1)
                          {
                  	    score = 5;
                          }
                          else
                          {
                              if(de2 == 1)
                              {
                  		score = 5;
                              }
                              else
                              {
                                  if(de1 == de2)
                                  {
                  		    score = 0;
                                  }
                                  else
                                  {
                                      score = -5;
                                  }
                              }
                          }
                      }
                  }
                  
                  
                  
                  0
                  1. lude<stdlib.h>
                    #include<time.h>
                    #include<stdio.h>
                    #include<conio.h>
                    
                    void lancdes(int de1, int de2)
                    void majscore(int de1, int de2) //<-----"declaration syntax error ici!je suis totalement perdu : ' (
                    
                    void main()
                    {
                        int de1,de2,scorej;
                    
                    
                    0
                    1. Bonjour.

                      Dans ton code, tu écris :
                      void majscore(int de1, int de2)

                      puis, un peu plus loin, tu déclare :
                      void majscore(int score, int de1, int de2)

                      Ca serait ptêt mieux que les deux déclarations soient identiques, non ?
                      0