begin process at 2012 05 28 16:59:18
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Divers

 > 

Débutant(e)

 > 

Besoin d'aides pour un petit code en c++


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Besoin d'aides pour un petit code en c++

vendredi 8 avril 2011 à 17:17:45 | Besoin d'aides pour un petit code en c++

wannabesuper

Bonjour à tous,

alors voilà j'essaye avec mes faibles connaissances en c++ de réaliser un petit programme sur le jeux des cochons dont vous pouvez trouver ici quelques informations*: http://jeudecochons.free.fr/PAGE2.htm
Alors voilà je dispose déjà des probabilités d'obtention des différents points, et mon programme est fait pour enfait comparer deux choix de méthodes. Je souhaites faire combatre un ordi contre un autre avec un par exemple qui laisse la main tout es 20 points et l'autres tous les 15 pour voir sur le long terme, admettons 1000 parties lequel serait le plus stratégique et permetrait un maximum de victoire. Voilà pour le programme de base, auquel je pense déjà quelques améliorations...
Mais voilà je bloque. J'arrive à un niveau ou je ne sais plus trop quoi faire. Alors si vous pouvez m'aider en sachant que j'aimerai rester simpliste dans les fonctions ( if, while, compteur … enfin vous voyez )...
Sinon j'utilise devc++
Voici mon code*:
Code:

# include <iostream.h>
# include <stdlib.h>
# include <time.h>

int main()
{
srand(time(NULL));
int bidon=rand();
float tirage;
tirage=(rand()+0.0)/RAND_MAX;
int a;
a=0;
for(a=0;a>100;a=a+1)
{
if (tirage<=0.409295)
{
a=a+5;
}
else {
if ((tirage>0.409295) && (tirage<=0.6190857))
{
a=a+1;
}
else {
if ((tirage>0.6190857) && (tirage<=0.8216263))
{
a=a+0;
}
else {
if ((tirage>0.8216263) && (tirage<=0.89334133))
{
a=a+10;
}
else {
if ((tirage>0.89334133) && (tirage<=0.92358694))
{
a=a+15;
}
else {
if ((tirage>0.92358694) && (tirage<=0.99477799))
{
a=a+20;
}
else {
if ((tirage>0.99477799) && (tirage<=0.99532248855))
{
a=a+25;
}
else {
if ((tirage>0.99532248855) && (tirage<=0.9960650373))
{
a=a+40;
}
else {
if ((tirage>0.9960650373) && (tirage<=0.9961656501))
{
a=a+60;
}
else {
if ((tirage>0.9961656501) && (tirage<=1))
{
a=1000;
}
}
}
}
}
}
}
}
}
}
int b;
b=a;
if (b==1000)
{
cout << "Banqueroute !\n";

}
else{
cout << b << " points !!\n";
}
}
system ("PAUSE");
return(0);
}

Merci à ceux qui accepteront de m'aider ;)
vendredi 8 avril 2011 à 18:58:06 | Re : Besoin d'aides pour un petit code en c++

CptPingu

Administrateur CodeS-SourceS
- Évite les "using namespace", voir: [ Lien ]
- Dev-C++ n'est plus mis à jour depuis des années, et il embarque un très vieux compilateur ! Je te conseille: QtCreator (mon préféré), Code::Blocks ou Visual Studio Express.
- iostream.h => iostream. iostream.h est l'ancienne version de iostream (de 1994).
- Pas besoin d'autant d'accolades.
- Si tu sais qu'une valeur ne changera plus jamais, après son initialisation, déclare la comme constante, via le mot clé const.

Je t'ai fait une version "propre" de ton code:
Code C/C++ :
#include <iostream>
#include <cstdlib>
#include <ctime>

int main()
{
  srand(time(0));
  const double tirage = (double) rand() / (double) RAND_MAX;

  std::cout << tirage << std::endl;
  int score = 0;
  for (int a = 0; a < 100; ++a)
  {
    if (tirage <= 0.409295)
      score += 5;
    else if (tirage > 0.409295 && tirage <= 0.6190857)
      ++score;
    else if (tirage > 0.6190857 && tirage <= 0.8216263)
      ; // score += 0
    else if (tirage > 0.8216263 && tirage <= 0.89334133)
      score += 10;
    else if (tirage > 0.89334133 && tirage <= 0.92358694)
      score += 15;
    else if (tirage > 0.92358694 && tirage <= 0.99477799)
      score += 20;
    else if (tirage > 0.99477799 && tirage <= 0.99532248855)
      score += 25;
    else if (tirage > 0.99532248855 && tirage <= 0.9960650373)
      score += 40;
    else if (tirage > 0.9960650373 && tirage <= 0.9961656501)
      score += 60;
    else if (tirage > 0.9961656501 && tirage <= 1)
      score = 1000;
  }

  if (score == 1000)
    std::cout << "Banqueroute !" << std::endl;
  else
    std::cout << score << " points !!" << std::endl;

  //system ("PAUSE"); // Windows only
  return(0);
}


________________________________________________________________________
Historique de mes créations, et quelques articles:
http://0217021.free.fr/portfolio
Merci d'utiliser Réponse acceptée si un post répond à votre question
samedi 9 avril 2011 à 17:26:54 | Re : Besoin d'aides pour un petit code en c++

wannabesuper

Réponse acceptée !
Rebonjour tout le monde, alors voilà j'ai crus comprendre que le bu du programme n'est pas très clair &#8230;
Je souhaite donc le repréciser ici...
Alors voilà ce que j'aimerai qu'il se passe :
2 JOUEURS ordinateurs, x et y
x joue en premier une partie sur deux.
Partie 1 :
x joue : plusieurs possibilité (voir ma chaine de sequence avec les if et else)
soit : x marque 0 point ( correspondant à « if ((tirage>0.6190857)&&(tirage<=0.8216263)) » ), dans ce cas la main passe au joueur Y.
x marque 1,5, 10 ou 15 points : dans ce cas il rejoue. (Si on fixe , j'imagine une bpoucle while pour rejouer jusqu'à ce que son score soit de 20 points)
troisième possibilité : x marque 20 points ou plus : dans ce cas il passe la main à y
Enfin, en cas de banqueroute ( ce qui correspond à ''if ((tirage>0.9961656501) && (tirage<=1)){ a=1000))'' ), x perds tous ces points et la main revient à y.

Quand la main vient au joueur 2, il joue de la même façon a la différence que son score limite avant de passer la main sera différent, imaginons 25.

Enfin, la partie s&#8217;arrête quand x ou y atteint 100 points.

La partie 2 se produit comme la 1 à l&#8217;exception que l'ordinateur y obtient la première main.


Ensuite, un compteur devra faire tourner ce programme sur un nombre important de partie, disons 10000. Et s'affichera sur la commande le nombre de partie gagné par x et le nombre gagné par y ainsi que le score cumulé de leur points (pour savoir si les parties ont été serrées ou pas .
Voilà mon but, la je suis paumé ou j'en suis et je peine pas mal, donc si quelqu'un peut m'aider à le réaliser avec les contraintes que j'ai dis plus haut (dev c++ et expressions ''basiques'' comme if, for , while &#8230;). J'aimerai qu'il soit le plus simple et basique possible dans l'idée du début de programme. Je sais que cela est possible, un ami a réalisé ce programme avec cela...

Merci et à très vite j'espère !!!:D


Cette discussion est classée dans : programme, voil, code, int, tirage0


Répondre à ce message

Sujets en rapport avec ce message

programme de debutant [ par MoveX ] je suis un ultra debutant et pour decouvrir un peu le c++, j ai pondu un petit truc, seulement je comprends pas pourquoi les valeurs s arretent a 6553 sémaphore pour deux applications [ par boy09 ] Bonjour tout le monde, J'ai deux programmes, programme A écrit dans le fichier programme B lit à partir du fichier Je désire synchroniser entre ses de programme puissance suivant le protocole rpc [ par imoum ] j'ai une structure [code=cpp]param{int a; int b;}; [/code]et j'ai une fonction dans le programme serveur [code=cpp]pui_2_svc(param *argp, struct svc_ sdl et vc++2010 [ par hb2012 ] slt tout le monde, je sais bien mes amis que c'est pas possible d'afficher une image avec c++. par contre je m'adresse à vous pour savoir s'il existe calculatrice matricielle avec boost::shared_array [ par mosaidrd ] le code ne genere aucune ereur mais il rencotre un problem d'assertion merci pour votre aide voici mon code : [code=cpp] //fichier Matrix.h #ifndef M le temps d'éxécution d'un programme en scheme [ par donatty ] Bonjour, Je cherche un moyen d'évaluer les performances de mes algorithmes en scheme, pour ce faire je veux réaliser un programme qui calcule le temp ShellExecute et 'NULL' : identificateur non déclaré [ par alilou2955 ] Bonjour. Je voudrais utiliser la commande [b]ShellExecute[/b] pour lancer une appli. Pour cela j'ai créé un petit programme avec "Visual Studio" (Nouv recherche valeur min dans un tableau ? [ par cur2009 ] Bonjour, J'ai besoin de votre aide pour me corriger le code que j'ai crée ci-dessous. ce code permet d'afficher la valeur minimale qui se trouve dans Question triviale: Qui suis-je ? [ par ArthurAuguste ] Bonjour, Trivial certainement pour un non débutant ! J'écris un petit programme en C++ qui utilise l'API 32 sous Windows XP, il commence donc par: int Erreur de segmentation [ par cool2source ] Bon je dois encore avoir du mal avec les pointeurs ( visiblement)... Je compile le code ci-dessous avec gcc et le seul résultat que j'obtiens est : "E


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,310 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales