Aller au contenu

Le truc dont tout le monde se branle...


ClarkGaybeul

Messages recommandés

Posté(e) (modifié)
Le couple en or Laure Manaudou - Philippe Lucas serait-il sur la voie du divorce ? En tout cas, c'est ce qu'a annoncé l'émission Stade 2 sur France Télévisions dimanche. La nageuse française, quadruple championne d'Europe, championne du monde et détentrice du record du monde du 400 m libre, serait en froid avec Lucas et pourrait quitter Canet en Roussillon, club où elle est arrivée avec son entraîneur en septembre 2006 pour s'installer en Italie et se rapprocher ainsi de son fiancé, le nageur transalpin Luca Marin.

La semaine derniere elle était chez Drucker avec Lucas et disait "j'espere que notre collaboration durera encore longtemps" :ninja:

Modifié par Jneb
Posté(e)
Shuis pas pd enflure :blink:

:ninja:

c'est pas de moi, juste une petite cartographie des clichés du français :grin: :blagounette: :ninja:

les grecques n'étaient pas hhomos il vouaient seulement un culte au corps humain c'est tout.

Yoda pourra confirmer

Posté(e)
A ce sujet, dorénavant, j'exige une juste rétribution pour mon effort à cet honneur. Une rémunération à la hauteur de mes apports serait fortement souhaitable. C'est fini le temps de l'assistanat sans contrepartie.

C'est du donnant/ donnant. Je te donne mon score, tu me donnes quelque chose en échange.

:ninja:

C'est quand même un forum de gauchiste ici. :blush:

J'ai remarqué que tu faisais de jolis scores oui, je t'en remercie d'ailleurs. Mais tu fais ça pour l'amour que tu portes au TFC, ça s'arrête là, il n'y aura donc aucune rétribution de ma part. ;)

Je répond à gnafron, ça n'a rien à voir avec les élections, donc j'me le permet..

Posté(e) (modifié)
et les commentaires... :ninja:

Yep, j'allais le faire (et c'est fait)

//************************ Application console (C++)****************************
//******************************************************************************
// PROGRAMME : Le compte est bon
// DATE : 02/05/07
// OBJET : ou pas
// LIMITES : ou pas
// AUTEUR(S) : bluejark
//******************************************************************************
/* si vous construisez un projet et si vous utilisez une des bibliothèques de
iutupadte (cf. aide en ligne) : -1- décommentez la ligne suivante et cliquez
sur [projet|options du projet|parametre|editeur de lieus|ajouter fichier]
puis rechercher la(les) bibliothèque(s) *.a sous ...\dev-cpp\lib\iut_tlse3
-2- dans le paragraphe suivant décommentez le(s) fichiers(s) d'entête *.h ou
*.hpp qui permet(tent) d'inclure les déclaration des fonctions utilisées */
//#define _IUT_TLSE3_PROJ

/* Ce paragraphe permet de déclarer les fonctions des fichiers suivants :
conio-bis - gestion de fenêtres dos, de couleurs, lecture sans écho...
dos-bis - gestion du temps, attentes...
frame - tracé de cadres, grilles, traits, flèches...
transcode - affichage avec accents ou sans accent sous dos ou windows
keys-fr - liste des clés sous forme de noms symboliques
iutupdate - inclut tous les fichiers précédents en une seule fois
(cf le fichier de présentation iutupdate.pdf dans l'aide en ligne)
=> pour utiliser les bibliothèques "décommenter" les lignes correspondantes */
//#include <iut_tlse3\iutupdate.hpp> //inclut en une fois tous les fichiers
//#include <iut_tlse3\frame.hpp> //inclut en outre conio-bis
//#include <iut_tlse3\conio-bis.h>
//#include <iut_tlse3\dos-bis.h>
//#include <iut_tlse3\transcode.hpp>
//#include <iut_tlse3\keys-fr.h>


#include <iostream> // flux d'entrée sortie
#include <iomanip> // manipulateurs de flux
#include <cstdlib> // bibliothèque c standart
#include <stdlib.h>
#include <string.h>
#include <stdio.h>
#include <fstream>
#include <iut_tlse3\iutupdate.hpp>

using namespace std; // permet d'utiliser les flux cin et cout

//*************************** Déclaration globale ******************************
/***** constante *****/

/******* type ********/
typedef int tabobjets [15];
typedef char regles[500];
/***** fonction ******/
void choix_menu (int &choixmenu) //Oriente le choix primaire de l'utilisateur
{
//Décla

//Actions
do{cout<<"1.Regles"<<endl<<"2.Le but defini"<<endl<<"3.Objets definis"<<endl<<"4.Random"<<endl;
cin>>choixmenu;
if(choixmenu!=1 && choixmenu!=2 && choixmenu!=3 && choixmenu!=4)
cout<<endl<<"Mauvais choix."<<endl<<endl;
}while(choixmenu!=1 && choixmenu!=2 && choixmenu!=3 && choixmenu!=4);
}

void choisirbut (int &lebut) //Permet de choisir le but à atteindre
{
//Décla

//Actions
do{
cout<<"Donnez moi un chiffre entre 100 et 999"<<endl;
cin>>lebut;
}
while (lebut<100 or lebut>999);
}

void choisirobjets (tabobjets &objets) //Permet de choisir les 6 nombres que l'utilisateur pourra utiliser
{
//Décla
int i,j;
int etat;
int a;
//Actions
for (i=0;i<6;i++)
objets[i]=0;
for (i=0;i<6;i++)
{
do
{
etat=0;
cout<<endl<<"Donnez votre chiffre n°"<<i+1<<" :"<<endl;
cin>>objets[i];
if (objets[i]==1 or objets[i]==2 or objets[i]==3 or objets[i]==4 or objets[i]==5 or //Vérifie que le nombre appartient à la liste
objets[i]==6 or objets[i]==7 or objets[i]==8 or objets[i]==9 or objets[i]==10 or
objets[i]==25 or objets[i]==50 or objets[i]==75 or objets[i]==100)
{for (j=0;j<i;j++)
if (objets[i]!=objets[j])//Vérifie que tous les nombres sont différents
{
etat=etat+0;
}
else etat=1;
}
else etat=1;
}
while (etat==1);
}
}
void creerbut (tabobjets objets, int &lebut) //Crée le but à atteindre en fonction des 6 nombres
{

//Décla
int i,j,k,inter;
tabobjets objects;
//Actions
srand(time(NULL)); //Débloque la commande du hasard (sans ça, le hasard ne s'effectue que la première fois)
do
{
for (k=0;k<6;k++)
{objets[k]=objects[k];}//Recopie les objets dans un nouveau tableau afin de garder les valeurs initiales en cas de redémarrage de boucle
i=rand()%6; //Via les rand(), la même ligne de calcul est effectué à chaque fois, mais les valeurs sont différentes à chaque tour de boucle
lebut=objets[i];
for (j=i;j<5;j++)
objets[j]=objets[j+1];//Ecrasement de la valeur déjà utilisée
i=rand()%5;
lebut=lebut*objets[i];
for (j=i;j<4;j++)
objets[j]=objets[j+1];
i=rand()%4;
inter=objets[i];
for (j=i;j<3;j++)
objets[j]=objets[j+1];
i=rand()%3;
lebut=lebut+objets[i]*inter;
for(j=i;j<2;j++)
objets[j]=objets[j+1];
i=rand()%2;
lebut=lebut*objets[i];
for(j=i;j<1;j++)
objets[j]=objets[j+1];
lebut=lebut+objets[0];
}
while (lebut<100 || lebut>999);//Vérifie la contrainte de valeur concernant le but à atteindre
}
void creerobjets (tabobjets &objets, int &possibilite, int lebut)//Crée les objets à partir du but
{
//Décla
tabobjets liste={1,2,3,4,5,6,7,8,9,10,25,50,75,100};
int i,j,k,l,m,n,a,op;
//Actions
possibilite=0;
for (i=0;i<14;i++)//Les 6 boucles sont là pour tester toutes les possibilités..
{for(j=0;j<14;j++)
{for(k=0;k<14;k++)
{for(l=0;l<14;l++)
{for(m=0;m<14;m++)
{for(n=0;n<14;n++)
{if (i!=j && i!=k && i!=l && i!=m && i!=n && j!=k && j!=l && j!=m && j!=n && k!=l && k!=m && k!=n && l!=m && l!=n && m!=n)//Permet de n'avoir aucune valeur identique
{srand(time(NULL));
op=rand()%4;//4 calculs sont possibles. Cette ligne en choisit un.
if(op==0)
{a=(liste[i]*liste[j])/(liste[k]+liste[l])-liste[m]+liste[n];}
else if(op==1)
{a=(liste[i]+liste[j])/(liste[k]*liste[l])+liste[m]-liste[n];}
else if (op==2)
{a=liste[i]*(liste[j]+(liste[k]*liste[l]))-(liste[m]*liste[n]);}
else
{a=(liste[i]-liste[j])*(liste[k]+liste[l])+liste[m]+liste[n];}
if(a==lebut)//Vérifie l'égalité entre le but à atteindre et la ligne de calcul.
{possibilite=possibilite+1;//Si possibilité=0, à la fin, alors il faut saisir un nouveau "but".
if (possibilite==1)//Ecriture des 6 nombres pour la première boucle.
{objets[0]=liste[i];
objets[1]=liste[j];
objets[2]=liste[k];
objets[3]=liste[l];
objets[4]=liste[m];
objets[5]=liste[n];
}
}
}
}
}
}
}
}
}
}
void genererbut(int &lebut)//Crée un but de manière aléatoire.
{
//Décla

//Actions
srand(time(NULL));
lebut=rand()%900+100;//Permet d'avoir un but compris entre 100 et 999.
}
void affichageobjetsbut (tabobjets &objets, int attempt)//Affiche les 6 nombres et le but à atteindre.
{
//Décla
int i;
//Actions
cout<<endl<<"Vos 6 nombres sont: "<<endl;
for (i=0;i<6;i++)
{cout<<objets[i]<<" ";
}
cout<<endl<<"Le but est: ";
cout<<attempt<<endl;
}
void traitement (tabobjets objects, int &lebut, int butreel)//Vérifie la syntaxe des calculs de l'utilisateur, et renvoie le total de l'utilisateur à la fin des calculs.
{
//Décla
char op;
int choix,a,b,i,test,valobjet,valobjet2;
tabobjets objets;
int testm,testd;
//Actions
do{
for(i=0;i<6;i++)
{objets[i]=objects[i];}//Recopie les 6 objets à chaque tour de boucle (si tel est le cas)
testm=0;
testd=0;
cout<<endl<<"Faites votre premier calcul (validez à chaque étape)"<<endl;
do{
test=0;
cin>>a;//Range dans la variable a le premier nombre utilisé
for(i=0;i<6;i++)
{if (a==objets[i])//Vérifie que ce nombre correspond bien à un des 6 nombres disponibles
{test=test+1;
valobjet=i;}//Stocke la valeur du nombre utilisé grâce à l'incrément
else test=test;
}
if (test==0)
{cout<<"Nombre 1 invalide. Rechoisissez-en un:"<<endl;}
}
while (test==0);
do{
cin>>op;//Stocke le choix de l'opération à effectuer
if (op!='+' && op!='-' && op!='/' && op!='*')
cout<<"Mauvais choix d'opérateur. Choix: +,-,*,/"<<endl;
}
while (op!='+' && op!='-' && op!='/' && op!='*');//Vérifie que cette opération correspond aux choix disponibles
do{
test=0;
cin>>b;//Stocke dans la variable b le second nombre utilisé
for(i=0;i<6;i++)
{if (b==objets[i] && i!=valobjet)//Vérifie que ce nombre correspond aux 5 nombres disponibles (le i!=valobjet correspond au 1er nombre utilisé)
{test=test+1;
valobjet2=i;}//Stocke la valeur du nombre utilisé grâce à l'incrément
else test=test;
}
if (test==0)
{cout<<"Nombre 2 invalide. Rechoisissez-en un:"<<endl;}
}
while (test==0);
if(op=='*')//Effectue l'opération choisie
{objets[6]=a*b;//dans la 6eme case du tableau le résultat du calcul
}
else if(op=='/')
objets[6]=a/b;
else if (op=='+')
objets[6]=a+b;
else if (op=='-')
objets[6]=a-b;
if (objets[6]<0)
{testm=1;}//Regarde si le résultat n'est pas inférieur à 0 (contrainte du cahier des charges)
if(op=='/')
{
if((objets[6]*!=a)//Regarde si a/b == (a/B)*b, pour voir s'il n'y a pas troncature (contrainte du cahier des charges)
{testd=1;}
}
if (testd==1)
cout<<endl<<w2d("Le reste de votre division n'est pas égal à 0.")<<endl;
if (testm==1)
cout<<endl<<w2d("Le nombre calculé est négatif.")<<endl;
}while(testm==1 || testd==1);//Reboucle en cas de non respect du cahier des charges
if(valobjet<valobjet2)//Regarde quel incrément est le + grand pour commencer par celui-ci
{
for(i=valobjet2;i<6;i++)
{objets[i]=objets[i+1];}//Décale vers la gauche les nombres à partir de l'incrément le + grand
for(i=valobjet;i<5;i++)//Décale vers la gauche à partir du + petit incrément
{objets[i]=objets[i+1];}
}
else{//Fait la même chose, dans l'autre cas (valobjet2<valobjet)
for(i=valobjet;i<6;i++)
{objets[i]=objets[i+1];}
for(i=valobjet2;i<5;i++)
{objets[i]=objets[i+1];}
}
for(i=0;i<5;i++)
cout<<endl<<"Ojbet"<<i+1<<":"<<objets[i];//Affiche les nouveaux nombres disponibles
cout<<endl<<"Le but est: "<<butreel;//Affiche de nouveau le but
do{
cout<<endl<<"Voulez vous arrêter ici?0/1: ";//Propose l'arrêt du jeu, dans le cas où le total serait atteint
cin>>choix;//Enregistre le choix de l'utilisateur
}
while(choix!=0 && choix!=1);//Vérifie la syntaxe de la réponse
if (choix==1)
{
do{
test=0;
cout<<endl<<"Entrez votre nombre: ";//Propose à l'utilisateur l'enregistrement du nombre final, dans le cas où le but serait atteint d'après l'utilisateur
cin>>lebut;//Enregistrement le but de l'utilisateur
for(i=0;i<5;i++)
{if(lebut==objets[i])//Vérifie que ce but correspond à un des nombres disponibles
{test=test+1;}
else test=test;
}
if (test==0)
cout<<"Tricheur.."<<endl;
}while(test==0);
cout<<endl<<"Votre total est "<<lebut;//Confirme le total
}
else//Continue le jeu (Répète les mêmes actions)
{
do{
testm=0;
testd=0;
cout<<endl<<"Faites votre deuxième calcul (validez à chaque étape)"<<endl;
do{
test=0;
cin>>a;
for(i=0;i<5;i++)
{if (a==objets[i])
{test=test+1;
valobjet=i;}
else test=test;
}
if (test==0)
{cout<<"Nombre 1 invalide. Rechoisissez-en un:"<<endl;}
}
while (test==0);
do{
cin>>op;
if (op!='+' && op!='-' && op!='/' && op!='*')
cout<<"Mauvais choix d'opérateur. Choix: +,-,*,/"<<endl;
}
while (op!='+' && op!='-' && op!='/' && op!='*');
do{
test=0;
cin>>b;
for(i=0;i<5;i++)
{if (b==objets[i] && i!=valobjet)
{test=test+1;
valobjet2=i;}
else test=test;
}
if (test==0)
{cout<<"Nombre 2 invalide. Rechoisissez-en un:"<<endl;}
}
while (test==0);
if(op=='*')
{objets[5]=a*b;
}
else if(op=='/')
objets[5]=a/b;
else if (op=='+')
objets[5]=a+b;
else if (op=='-')
objets[5]=a-b;
if (objets[5]<0)
{testm=1;}
if(op=='/')
{
if((objets[5]*!=a)
{testd=1;}
}
if (testd==1)
cout<<endl<<w2d("Le reste de votre division n'est pas égal à 0.")<<endl;
if (testm==1)
cout<<endl<<w2d("Le nombre calculé est négatif.")<<endl;
}while(testm==1 || testd==1);
if(valobjet<valobjet2)
{
for(i=valobjet2;i<5;i++)
{objets[i]=objets[i+1];}
for(i=valobjet;i<4;i++)
{objets[i]=objets[i+1];}
}
else{
for(i=valobjet;i<5;i++)
{objets[i]=objets[i+1];}
for(i=valobjet2;i<4;i++)
{objets[i]=objets[i+1];}
}
for(i=0;i<4;i++)
cout<<endl<<"Ojbet"<<i+1<<":"<<objets[i];
cout<<endl<<"Le but est: "<<butreel;
do{
cout<<endl<<"Voulez vous arrêter ici?0/1: ";
cin>>choix;
}while(choix!=0 && choix!=1);
if (choix==1)
{
do{
test=0;
cout<<endl<<"Entrez votre nombre: ";
cin>>lebut;
for(i=0;i<4;i++)
{if(lebut==objets[i])
{test=test+1;}
else test=test;
}
if (test==0)
cout<<"Tricheur.."<<endl;
}while(test==0);
cout<<endl<<"Votre total est "<<lebut<<endl;
}
else
{
do{
testm=0;
testd=0;
cout<<endl<<"Faites votre troisième calcul (validez à chaque étape)"<<endl;
do{
test=0;
cin>>a;
for(i=0;i<4;i++)
{if (a==objets[i])
{test=test+1;
valobjet=i;}
else test=test;
}
if (test==0)
{cout<<"Nombre 1 invalide. Rechoisissez-en un:"<<endl;}
}
while (test==0);
do{
cin>>op;
if (op!='+' && op!='-' && op!='/' && op!='*')
cout<<"Mauvais choix d'opérateur. Choix: +,-,*,/"<<endl;
}
while (op!='+' && op!='-' && op!='/' && op!='*');
do{
test=0;
cin>>b;
for(i=0;i<4;i++)
{if (b==objets[i] && i!=valobjet)
{test=test+1;
valobjet2=i;}
else test=test;
}
if (test==0)
{cout<<"Nombre 2 invalide. Rechoisissez-en un:"<<endl;}
}
while (test==0);
if(op=='*')
{objets[4]=a*b;
}
else if(op=='/')
objets[4]=a/b;
else if (op=='+')
objets[4]=a+b;
else if (op=='-')
objets[4]=a-b;
if (objets[4]<0)
{testm=1;}
if(op=='/')
{
if((objets[4]*!=a)
{testd=1;}
}
if (testd==1)
cout<<endl<<w2d("Le reste de votre division n'est pas égal à 0.")<<endl;
if (testm==1)
cout<<endl<<w2d("Le nombre calculé est négatif.")<<endl;
}while(testm==1 || testd==1);
if(valobjet<valobjet2)
{
for(i=valobjet2;i<4;i++)
{objets[i]=objets[i+1];}
for(i=valobjet;i<3;i++)
{objets[i]=objets[i+1];}
}
else{
for(i=valobjet;i<4;i++)
{objets[i]=objets[i+1];}
for(i=valobjet2;i<3;i++)
{objets[i]=objets[i+1];}
}
for(i=0;i<3;i++)
cout<<endl<<"Ojbet"<<i+1<<":"<<objets[i];
cout<<endl<<"Le but est: "<<butreel;
do{
cout<<endl<<"Voulez vous arrêter ici?0/1: ";
cin>>choix;
}while(choix!=0 && choix!=1);
if (choix==1)
{
do{
test=0;
cout<<endl<<"Entrez votre nombre: ";
cin>>lebut;
for(i=0;i<3;i++)
{if(lebut==objets[i])
{test=test+1;}
else test=test;
}
if (test==0)
cout<<"Tricheur.."<<endl;
}while(test==0);
cout<<endl<<"Votre total est "<<lebut<<endl;
}
else
{
do{
testm=0;
testd=0;
cout<<endl<<"Faites votre quatrième calcul (validez à chaque étape)"<<endl;
do{
test=0;
cin>>a;
for(i=0;i<3;i++)
{if (a==objets[i])
{test=test+1;
valobjet=i;}
else test=test;
}
if (test==0)
{cout<<"Nombre 1 invalide. Rechoisissez-en un:"<<endl;}
}
while (test==0);
do{
cin>>op;
if (op!='+' && op!='-' && op!='/' && op!='*')
cout<<"Mauvais choix d'opérateur. Choix: +,-,*,/"<<endl;
}
while (op!='+' && op!='-' && op!='/' && op!='*');
do{
test=0;
cin>>b;
for(i=0;i<3;i++)
{if (b==objets[i] && i!=valobjet)
{test=test+1;
valobjet2=i;}
else test=test;
}
if (test==0)
{cout<<"Nombre 2 invalide. Rechoisissez-en un:"<<endl;}
}
while (test==0);
if(op=='*')
{objets[3]=a*b;
}
else if(op=='/')
objets[3]=a/b;
else if (op=='+')
objets[3]=a+b;
else if (op=='-')
objets[3]=a-b;
if (objets[3]<0)
{testm=1;}
if(op=='/')
{
if((objets[3]*!=a)
{testd=1;}
}
if (testd==1)
cout<<endl<<w2d("Le reste de votre division n'est pas égal à 0.")<<endl;
if (testm==1)
cout<<endl<<w2d("Le nombre calculé est négatif.")<<endl;
}while(testm==1 || testd==1);
if(valobjet<valobjet2)
{
for(i=valobjet2;i<3;i++)
{objets[i]=objets[i+1];}
for(i=valobjet;i<2;i++)
{objets[i]=objets[i+1];}
}
else{
for(i=valobjet;i<3;i++)
{objets[i]=objets[i+1];}
for(i=valobjet2;i<2;i++)
{objets[i]=objets[i+1];}
}
for(i=0;i<2;i++)
cout<<endl<<"Ojbet"<<i+1<<":"<<objets[i];
cout<<endl<<"Le but est: "<<butreel;
do{
cout<<endl<<"Voulez vous arrêter ici?0/1: ";
cin>>choix;
}while(choix!=0 && choix!=1);
if (choix==1)
{
do{
test=0;
cout<<endl<<"Entrez votre nombre: ";
cin>>lebut;
for(i=0;i<2;i++)
{if(lebut==objets[i])
{test=test+1;}
else test=test;
}
if (test==0)
cout<<"Tricheur.."<<endl;
}while(test==0);
cout<<endl<<"Votre total est "<<lebut<<endl;
}
else
{
do{
testm=0;
testd=0;
cout<<endl<<"Faites votre dernier calcul (validez a chaque etape)"<<endl;
do{
test=0;
cin>>a;
for(i=0;i<2;i++)
{if (a==objets[i])
{test=test+1;
valobjet=i;}
else test=test;
}
if (test==0)
{cout<<"Nombre 1 invalide. Rechoisissez-en un:"<<endl;}
}
while (test==0);
do{
cin>>op;
if (op!='+' && op!='-' && op!='/' && op!='*')
cout<<"Mauvais choix d'operateur. Choix: +,-,*,/"<<endl;
}
while (op!='+' && op!='-' && op!='/' && op!='*');
do{
test=0;
cin>>b;
for(i=0;i<2;i++)
{if (b==objets[i] && i!=valobjet)
{test=test+1;}
else test=test;
}
if (test==0)
{cout<<"Nombre 2 invalide. Rechoisissez-en un:"<<endl;}
}
while (test==0);
if(op=='*')
{objets[2]=a*b;
}
else if(op=='/')
objets[2]=a/b;
else if (op=='+')
objets[2]=a+b;
else if (op=='-')
objets[2]=a-b;
if (objets[2]<0)
{testm=1;}
if(op=='/')
{
if((objets[2]*!=a)
{testd=1;}
}
if (testd==1)
cout<<endl<<w2d("Le reste de votre division n'est pas égal à 0.")<<endl;
if (testm==1)
cout<<endl<<w2d("Le nombre calculé est négatif.")<<endl;
}while(testm==1 || testd==1);
if(valobjet<valobjet2)
{
for(i=valobjet2;i<2;i++)
{objets[i]=objets[i+1];}
for(i=valobjet;i<1;i++)
{objets[i]=objets[i+1];}
}
else{
for(i=valobjet;i<2;i++)
{objets[i]=objets[i+1];}
for(i=valobjet2;i<1;i++)
{objets[i]=objets[i+1];}
}
lebut=objets[0];//Enregistre directement le dernier nombre possible dans la variable du but de l'utilisateur
cout<<endl<<"Votre total est: "<<lebut<<endl;//Confirme le but de l'utilisateur
}
}}}
}
void comparaison (int lebutreel, int lebututil, int &redemarrer)//Compare le but de l'utilisateur et le but à atteindre, et valide la comparaison de manière explicite. Propose à l'utilisateur de refaire le calcul avec les mêmes nombres s'il a échoué.
{
if (lebutreel==lebututil)//Compare les 2 buts (de l'utilisateur, et à atteindre)
{cout<<endl<<"Bravo! Le compte est bon.";//Confirme l'égalité
redemarrer=0;}//Réduit la proposition de redémarrage avec les mêmes nombres à néant
else {cout<<endl<<"Dommage.. le compte est mauvais. Aha..";//Confirme l'inégalité
do{
cout<<endl<<"Voulez vous refaire ce calcul?0/1: ";//Propose à l'utilisateur le redémarrage du calcul avec les mêmes nombres
cin>>redemarrer;//Enregistre le choix de l'utilisateur
}while(redemarrer!=0 && redemarrer!=1);}//Vérifie la syntaxe de l'enregistrement
}
//*************************** Programme principal ******************************
int main (int argc, char *argv[])
{
// Declaration locale
int choixdumenu, but, bututil;
tabobjets six;
int i;
int reboot;
int redemarrage;
int victoire, defaite;
int possible;
// Action
victoire=0;//Met le nombre de victoire de l'utilisateur à 0
defaite=0;//Met le nombre de défaite de l'utilisateur à 0
do
{
choix_menu(choixdumenu);//Propose le menu à l'utilisateur
if (choixdumenu==2)
{do{
choisirbut(but);//Demande à l'utilisateur le but à atteindre
creerobjets(six,possible,but);//Calcule 6 nombres
if (possible==0)//Vérifie via cette variable renvoyée par la procédure, qu'on peut atteindre le but avec ces 6 nombres
cout<<endl<<"Choisissez un autre but"<<endl;
}while(possible==0);
}
else if (choixdumenu==3)
{choisirobjets(six);//Demande à l'utilisateur les 6 nombres dont il disposera
creerbut(six,but);//Calcule un but à partir de ces 6 nombres
}
else if (choixdumenu==4)
{do{
genererbut(but);//Crée un but au hasard grâce à la fonction rand() (random) compris entre 100 et 999
creerobjets(six,possible,but);
}while(possible==0);
}
do{
affichageobjetsbut (six, but);//Affiche les données (les nombres et le but)
cout<<"Proposez votre solution";
traitement(six,bututil,but);//Récupère le total calculé par l'utilisateur
cout<<endl<<w2d("Le but était de: ")<<but<<endl;//Rappele le but à atteindre
if (but==bututil)
{victoire=victoire+1;}//Incrémentation du nombre de victoire s'il ya égalité entre le but atteint par l'utilisateur et le but à atteindre
else {defaite=defaite+1;}//Incrémentation du nombre de défaite s'il n'y a pas égalité entre le but atteint par l'utilisateur et le but à atteindre
cout<<endl<<"Victoire";//Affiche le nombre de victoire (une if en fonction du nombre de victoire et donc de l'utilisation du pluriel)
if(victoire>1)
{cout<<"s: "<<victoire<<endl;}
else {cout<<": "<<victoire<<endl;}
cout<<"Defaite";//Même chose pour les défaites
if(defaite>1)
{cout<<"s: "<<defaite<<endl;}
else {cout<<": "<<defaite<<endl;}
comparaison (but,bututil,redemarrage);//Propose un redémarrage avec les mêmes nombres
}while(redemarrage==1);
do{
cout<<endl<<"Voulez vous recommencer un nouveau calcul?0/1: "<<endl;//Propose un redémarrage du jeu depuis le début
cin>>reboot;//Enregistre le choix de l'utilisateur
}while(reboot!=0 && reboot!=1);//Vérifie la syntaxe
}
while (reboot==1);//Reboucle si l'utilisateur choisit un redémarrage du jeu
// retour au sytème d'exploitattion
cout << endl;
system("pause");
return (0);
}
//**************************** Fin du programme *******************************[/codebox]

ps: c'est fini, j'arrête de vous souler avec mon programme. ;)

Ps2: Franfrou, comment fait-on pour utiliser le défilement en utilisant le code? Parce que c'est chiant de créer des posts aussi longs, et j'ai vu que tu me l'avait réduit grâce à un défilement sur mon 1er post..

Les stat's m'ont toujours fait marrer. Les 11 premiers profils (de ceux qui ont le + posté sur ce forum) ont 4 étoiles, le 12ème en a 3.

Ce 12ème est akinos. :blush:

Modifié par nee_trimer_ue_ved
Posté(e)
Ps2: Franfrou, comment fait-on pour utiliser le défilement en utilisant le code? Parce que c'est chiant de créer des posts aussi longs, et j'ai vu que tu me l'avait réduit grâce à un défilement sur mon 1er post..

Les stat's m'ont toujours fait marrer. Les 11 premiers profils (de ceux qui ont le + posté sur ce forum) ont 4 étoiles, le 12ème en a 3.

Ce 12ème est akinos. :blush:

Au moins je me démarque ;):ninja:

Posté(e)
Yep, j'allais le faire (et c'est fait)

//************************ Application console (C++)****************************
//******************************************************************************
// PROGRAMME : Le compte est bon
// DATE : 02/05/07
// OBJET : ou pas
// LIMITES : ou pas
// AUTEUR(S) : bluejark
//******************************************************************************
/* si vous construisez un projet et si vous utilisez une des bibliothèques de
iutupadte (cf. aide en ligne) : -1- décommentez la ligne suivante et cliquez
sur [projet|options du projet|parametre|editeur de lieus|ajouter fichier]
puis rechercher la(les) bibliothèque(s) *.a sous ...\dev-cpp\lib\iut_tlse3
-2- dans le paragraphe suivant décommentez le(s) fichiers(s) d'entête *.h ou
*.hpp qui permet(tent) d'inclure les déclaration des fonctions utilisées */
//#define _IUT_TLSE3_PROJ

/* Ce paragraphe permet de déclarer les fonctions des fichiers suivants :
conio-bis - gestion de fenêtres dos, de couleurs, lecture sans écho...
dos-bis - gestion du temps, attentes...
frame - tracé de cadres, grilles, traits, flèches...
transcode - affichage avec accents ou sans accent sous dos ou windows
keys-fr - liste des clés sous forme de noms symboliques
iutupdate - inclut tous les fichiers précédents en une seule fois
(cf le fichier de présentation iutupdate.pdf dans l'aide en ligne)
=> pour utiliser les bibliothèques "décommenter" les lignes correspondantes */
//#include <iut_tlse3\iutupdate.hpp> //inclut en une fois tous les fichiers
//#include <iut_tlse3\frame.hpp> //inclut en outre conio-bis
//#include <iut_tlse3\conio-bis.h>
//#include <iut_tlse3\dos-bis.h>
//#include <iut_tlse3\transcode.hpp>
//#include <iut_tlse3\keys-fr.h>
#include <iostream> // flux d'entrée sortie
#include <iomanip> // manipulateurs de flux
#include <cstdlib> // bibliothèque c standart
#include <stdlib.h>
#include <string.h>
#include <stdio.h>
#include <fstream>
#include <iut_tlse3\iutupdate.hpp>

using namespace std; // permet d'utiliser les flux cin et cout

//*************************** Déclaration globale ******************************
/***** constante *****/

/******* type ********/
typedef int tabobjets [15];
typedef char regles[500];
/***** fonction ******/
void choix_menu (int &choixmenu) //Oriente le choix primaire de l'utilisateur
{
//Décla

//Actions
do{cout<<"1.Regles"<<endl<<"2.Le but defini"<<endl<<"3.Objets definis"<<endl<<"4.Random"<<endl;
cin>>choixmenu;
if(choixmenu!=1 && choixmenu!=2 && choixmenu!=3 && choixmenu!=4)
cout<<endl<<"Mauvais choix."<<endl<<endl;
}while(choixmenu!=1 && choixmenu!=2 && choixmenu!=3 && choixmenu!=4);
}

void choisirbut (int &lebut) //Permet de choisir le but à atteindre
{
//Décla

//Actions
do{
cout<<"Donnez moi un chiffre entre 100 et 999"<<endl;
cin>>lebut;
}
while (lebut<100 or lebut>999);
}

void choisirobjets (tabobjets &objets) //Permet de choisir les 6 nombres que l'utilisateur pourra utiliser
{
//Décla
int i,j;
int etat;
int a;
//Actions
for (i=0;i<6;i++)
objets[i]=0;
for (i=0;i<6;i++)
{
do
{
etat=0;
cout<<endl<<"Donnez votre chiffre n°"<<i+1<<" :"<<endl;
cin>>objets[i];
if (objets[i]==1 or objets[i]==2 or objets[i]==3 or objets[i]==4 or objets[i]==5 or //Vérifie que le nombre appartient à la liste
objets[i]==6 or objets[i]==7 or objets[i]==8 or objets[i]==9 or objets[i]==10 or
objets[i]==25 or objets[i]==50 or objets[i]==75 or objets[i]==100)
{for (j=0;j<i;j++)
if (objets[i]!=objets[j])//Vérifie que tous les nombres sont différents
{
etat=etat+0;
}
else etat=1;
}
else etat=1;
}
while (etat==1);
}
}
void creerbut (tabobjets objets, int &lebut) //Crée le but à atteindre en fonction des 6 nombres
{

//Décla
int i,j,k,inter;
tabobjets objects;
//Actions
srand(time(NULL)); //Débloque la commande du hasard (sans ça, le hasard ne s'effectue que la première fois)
do
{
for (k=0;k<6;k++)
{objets[k]=objects[k];}//Recopie les objets dans un nouveau tableau afin de garder les valeurs initiales en cas de redémarrage de boucle
i=rand()%6; //Via les rand(), la même ligne de calcul est effectué à chaque fois, mais les valeurs sont différentes à chaque tour de boucle
lebut=objets[i];
for (j=i;j<5;j++)
objets[j]=objets[j+1];//Ecrasement de la valeur déjà utilisée
i=rand()%5;
lebut=lebut*objets[i];
for (j=i;j<4;j++)
objets[j]=objets[j+1];
i=rand()%4;
inter=objets[i];
for (j=i;j<3;j++)
objets[j]=objets[j+1];
i=rand()%3;
lebut=lebut+objets[i]*inter;
for(j=i;j<2;j++)
objets[j]=objets[j+1];
i=rand()%2;
lebut=lebut*objets[i];
for(j=i;j<1;j++)
objets[j]=objets[j+1];
lebut=lebut+objets[0];
}
while (lebut<100 || lebut>999);//Vérifie la contrainte de valeur concernant le but à atteindre
}
void creerobjets (tabobjets &objets, int &possibilite, int lebut)//Crée les objets à partir du but
{
//Décla
tabobjets liste={1,2,3,4,5,6,7,8,9,10,25,50,75,100};
int i,j,k,l,m,n,a,op;
//Actions
possibilite=0;
for (i=0;i<14;i++)//Les 6 boucles sont là pour tester toutes les possibilités..
{for(j=0;j<14;j++)
{for(k=0;k<14;k++)
{for(l=0;l<14;l++)
{for(m=0;m<14;m++)
{for(n=0;n<14;n++)
{if (i!=j && i!=k && i!=l && i!=m && i!=n && j!=k && j!=l && j!=m && j!=n && k!=l && k!=m && k!=n && l!=m && l!=n && m!=n)//Permet de n'avoir aucune valeur identique
{srand(time(NULL));
op=rand()%4;//4 calculs sont possibles. Cette ligne en choisit un.
if(op==0)
{a=(liste[i]*liste[j])/(liste[k]+liste[l])-liste[m]+liste[n];}
else if(op==1)
{a=(liste[i]+liste[j])/(liste[k]*liste[l])+liste[m]-liste[n];}
else if (op==2)
{a=liste[i]*(liste[j]+(liste[k]*liste[l]))-(liste[m]*liste[n]);}
else
{a=(liste[i]-liste[j])*(liste[k]+liste[l])+liste[m]+liste[n];}
if(a==lebut)//Vérifie l'égalité entre le but à atteindre et la ligne de calcul.
{possibilite=possibilite+1;//Si possibilité=0, à la fin, alors il faut saisir un nouveau "but".
if (possibilite==1)//Ecriture des 6 nombres pour la première boucle.
{objets[0]=liste[i];
objets[1]=liste[j];
objets[2]=liste[k];
objets[3]=liste[l];
objets[4]=liste[m];
objets[5]=liste[n];
}
}
}
}
}
}
}
}
}
}
void genererbut(int &lebut)//Crée un but de manière aléatoire.
{
//Décla

//Actions
srand(time(NULL));
lebut=rand()%900+100;//Permet d'avoir un but compris entre 100 et 999.
}
void affichageobjetsbut (tabobjets &objets, int attempt)//Affiche les 6 nombres et le but à atteindre.
{
//Décla
int i;
//Actions
cout<<endl<<"Vos 6 nombres sont: "<<endl;
for (i=0;i<6;i++)
{cout<<objets[i]<<" ";
}
cout<<endl<<"Le but est: ";
cout<<attempt<<endl;
}
void traitement (tabobjets objects, int &lebut, int butreel)//Vérifie la syntaxe des calculs de l'utilisateur, et renvoie le total de l'utilisateur à la fin des calculs.
{
//Décla
char op;
int choix,a,b,i,test,valobjet,valobjet2;
tabobjets objets;
int testm,testd;
//Actions
do{
for(i=0;i<6;i++)
{objets[i]=objects[i];}//Recopie les 6 objets à chaque tour de boucle (si tel est le cas)
testm=0;
testd=0;
cout<<endl<<"Faites votre premier calcul (validez à chaque étape)"<<endl;
do{
test=0;
cin>>a;//Range dans la variable a le premier nombre utilisé
for(i=0;i<6;i++)
{if (a==objets[i])//Vérifie que ce nombre correspond bien à un des 6 nombres disponibles
{test=test+1;
valobjet=i;}//Stocke la valeur du nombre utilisé grâce à l'incrément
else test=test;
}
if (test==0)
{cout<<"Nombre 1 invalide. Rechoisissez-en un:"<<endl;}
}
while (test==0);
do{
cin>>op;//Stocke le choix de l'opération à effectuer
if (op!='+' && op!='-' && op!='/' && op!='*')
cout<<"Mauvais choix d'opérateur. Choix: +,-,*,/"<<endl;
}
while (op!='+' && op!='-' && op!='/' && op!='*');//Vérifie que cette opération correspond aux choix disponibles
do{
test=0;
cin>>b;//Stocke dans la variable b le second nombre utilisé
for(i=0;i<6;i++)
{if (b==objets[i] && i!=valobjet)//Vérifie que ce nombre correspond aux 5 nombres disponibles (le i!=valobjet correspond au 1er nombre utilisé)
{test=test+1;
valobjet2=i;}//Stocke la valeur du nombre utilisé grâce à l'incrément
else test=test;
}
if (test==0)
{cout<<"Nombre 2 invalide. Rechoisissez-en un:"<<endl;}
}
while (test==0);
if(op=='*')//Effectue l'opération choisie
{objets[6]=a*b;//dans la 6eme case du tableau le résultat du calcul
}
else if(op=='/')
objets[6]=a/b;
else if (op=='+')
objets[6]=a+b;
else if (op=='-')
objets[6]=a-b;
if (objets[6]<0)
{testm=1;}//Regarde si le résultat n'est pas inférieur à 0 (contrainte du cahier des charges)
if(op=='/')
{
if((objets[6]*;)!=a)//Regarde si a/b == (a/;)*b, pour voir s'il n'y a pas troncature (contrainte du cahier des charges)
{testd=1;}
}
if (testd==1)
cout<<endl<<w2d("Le reste de votre division n'est pas égal à 0.")<<endl;
if (testm==1)
cout<<endl<<w2d("Le nombre calculé est négatif.")<<endl;
}while(testm==1 || testd==1);//Reboucle en cas de non respect du cahier des charges
if(valobjet<valobjet2)//Regarde quel incrément est le + grand pour commencer par celui-ci
{
for(i=valobjet2;i<6;i++)
{objets[i]=objets[i+1];}//Décale vers la gauche les nombres à partir de l'incrément le + grand
for(i=valobjet;i<5;i++)//Décale vers la gauche à partir du + petit incrément
{objets[i]=objets[i+1];}
}
else{//Fait la même chose, dans l'autre cas (valobjet2<valobjet)
for(i=valobjet;i<6;i++)
{objets[i]=objets[i+1];}
for(i=valobjet2;i<5;i++)
{objets[i]=objets[i+1];}
}
for(i=0;i<5;i++)
cout<<endl<<"Ojbet"<<i+1<<":"<<objets[i];//Affiche les nouveaux nombres disponibles
cout<<endl<<"Le but est: "<<butreel;//Affiche de nouveau le but
do{
cout<<endl<<"Voulez vous arrêter ici?0/1: ";//Propose l'arrêt du jeu, dans le cas où le total serait atteint
cin>>choix;//Enregistre le choix de l'utilisateur
}
while(choix!=0 && choix!=1);//Vérifie la syntaxe de la réponse
if (choix==1)
{
do{
test=0;
cout<<endl<<"Entrez votre nombre: ";//Propose à l'utilisateur l'enregistrement du nombre final, dans le cas où le but serait atteint d'après l'utilisateur
cin>>lebut;//Enregistrement le but de l'utilisateur
for(i=0;i<5;i++)
{if(lebut==objets[i])//Vérifie que ce but correspond à un des nombres disponibles
{test=test+1;}
else test=test;
}
if (test==0)
cout<<"Tricheur.."<<endl;
}while(test==0);
cout<<endl<<"Votre total est "<<lebut;//Confirme le total
}
else//Continue le jeu (Répète les mêmes actions)
{
do{
testm=0;
testd=0;
cout<<endl<<"Faites votre deuxième calcul (validez à chaque étape)"<<endl;
do{
test=0;
cin>>a;
for(i=0;i<5;i++)
{if (a==objets[i])
{test=test+1;
valobjet=i;}
else test=test;
}
if (test==0)
{cout<<"Nombre 1 invalide. Rechoisissez-en un:"<<endl;}
}
while (test==0);
do{
cin>>op;
if (op!='+' && op!='-' && op!='/' && op!='*')
cout<<"Mauvais choix d'opérateur. Choix: +,-,*,/"<<endl;
}
while (op!='+' && op!='-' && op!='/' && op!='*');
do{
test=0;
cin>>b;
for(i=0;i<5;i++)
{if (b==objets[i] && i!=valobjet)
{test=test+1;
valobjet2=i;}
else test=test;
}
if (test==0)
{cout<<"Nombre 2 invalide. Rechoisissez-en un:"<<endl;}
}
while (test==0);
if(op=='*')
{objets[5]=a*b;
}
else if(op=='/')
objets[5]=a/b;
else if (op=='+')
objets[5]=a+b;
else if (op=='-')
objets[5]=a-b;
if (objets[5]<0)
{testm=1;}
if(op=='/')
{
if((objets[5]*B)!=a)
{testd=1;}
}
if (testd==1)
cout<<endl<<w2d("Le reste de votre division n'est pas égal à 0.")<<endl;
if (testm==1)
cout<<endl<<w2d("Le nombre calculé est négatif.")<<endl;
}while(testm==1 || testd==1);
if(valobjet<valobjet2)
{
for(i=valobjet2;i<5;i++)
{objets[i]=objets[i+1];}
for(i=valobjet;i<4;i++)
{objets[i]=objets[i+1];}
}
else{
for(i=valobjet;i<5;i++)
{objets[i]=objets[i+1];}
for(i=valobjet2;i<4;i++)
{objets[i]=objets[i+1];}
}
for(i=0;i<4;i++)
cout<<endl<<"Ojbet"<<i+1<<":"<<objets[i];
cout<<endl<<"Le but est: "<<butreel;
do{
cout<<endl<<"Voulez vous arrêter ici?0/1: ";
cin>>choix;
}while(choix!=0 && choix!=1);
if (choix==1)
{
do{
test=0;
cout<<endl<<"Entrez votre nombre: ";
cin>>lebut;
for(i=0;i<4;i++)
{if(lebut==objets[i])
{test=test+1;}
else test=test;
}
if (test==0)
cout<<"Tricheur.."<<endl;
}while(test==0);
cout<<endl<<"Votre total est "<<lebut<<endl;
}
else
{
do{
testm=0;
testd=0;
cout<<endl<<"Faites votre troisième calcul (validez à chaque étape)"<<endl;
do{
test=0;
cin>>a;
for(i=0;i<4;i++)
{if (a==objets[i])
{test=test+1;
valobjet=i;}
else test=test;
}
if (test==0)
{cout<<"Nombre 1 invalide. Rechoisissez-en un:"<<endl;}
}
while (test==0);
do{
cin>>op;
if (op!='+' && op!='-' && op!='/' && op!='*')
cout<<"Mauvais choix d'opérateur. Choix: +,-,*,/"<<endl;
}
while (op!='+' && op!='-' && op!='/' && op!='*');
do{
test=0;
cin>>b;
for(i=0;i<4;i++)
{if (b==objets[i] && i!=valobjet)
{test=test+1;
valobjet2=i;}
else test=test;
}
if (test==0)
{cout<<"Nombre 2 invalide. Rechoisissez-en un:"<<endl;}
}
while (test==0);
if(op=='*')
{objets[4]=a*b;
}
else if(op=='/')
objets[4]=a/b;
else if (op=='+')
objets[4]=a+b;
else if (op=='-')
objets[4]=a-b;
if (objets[4]<0)
{testm=1;}
if(op=='/')
{
if((objets[4]*B)!=a)
{testd=1;}
}
if (testd==1)
cout<<endl<<w2d("Le reste de votre division n'est pas égal à 0.")<<endl;
if (testm==1)
cout<<endl<<w2d("Le nombre calculé est négatif.")<<endl;
}while(testm==1 || testd==1);
if(valobjet<valobjet2)
{
for(i=valobjet2;i<4;i++)
{objets[i]=objets[i+1];}
for(i=valobjet;i<3;i++)
{objets[i]=objets[i+1];}
}
else{
for(i=valobjet;i<4;i++)
{objets[i]=objets[i+1];}
for(i=valobjet2;i<3;i++)
{objets[i]=objets[i+1];}
}
for(i=0;i<3;i++)
cout<<endl<<"Ojbet"<<i+1<<":"<<objets[i];
cout<<endl<<"Le but est: "<<butreel;
do{
cout<<endl<<"Voulez vous arrêter ici?0/1: ";
cin>>choix;
}while(choix!=0 && choix!=1);
if (choix==1)
{
do{
test=0;
cout<<endl<<"Entrez votre nombre: ";
cin>>lebut;
for(i=0;i<3;i++)
{if(lebut==objets[i])
{test=test+1;}
else test=test;
}
if (test==0)
cout<<"Tricheur.."<<endl;
}while(test==0);
cout<<endl<<"Votre total est "<<lebut<<endl;
}
else
{
do{
testm=0;
testd=0;
cout<<endl<<"Faites votre quatrième calcul (validez à chaque étape)"<<endl;
do{
test=0;
cin>>a;
for(i=0;i<3;i++)
{if (a==objets[i])
{test=test+1;
valobjet=i;}
else test=test;
}
if (test==0)
{cout<<"Nombre 1 invalide. Rechoisissez-en un:"<<endl;}
}
while (test==0);
do{
cin>>op;
if (op!='+' && op!='-' && op!='/' && op!='*')
cout<<"Mauvais choix d'opérateur. Choix: +,-,*,/"<<endl;
}
while (op!='+' && op!='-' && op!='/' && op!='*');
do{
test=0;
cin>>b;
for(i=0;i<3;i++)
{if (b==objets[i] && i!=valobjet)
{test=test+1;
valobjet2=i;}
else test=test;
}
if (test==0)
{cout<<"Nombre 2 invalide. Rechoisissez-en un:"<<endl;}
}
while (test==0);
if(op=='*')
{objets[3]=a*b;
}
else if(op=='/')
objets[3]=a/b;
else if (op=='+')
objets[3]=a+b;
else if (op=='-')
objets[3]=a-b;
if (objets[3]<0)
{testm=1;}
if(op=='/')
{
if((objets[3]*B)!=a)
{testd=1;}
}
if (testd==1)
cout<<endl<<w2d("Le reste de votre division n'est pas égal à 0.")<<endl;
if (testm==1)
cout<<endl<<w2d("Le nombre calculé est négatif.")<<endl;
}while(testm==1 || testd==1);
if(valobjet<valobjet2)
{
for(i=valobjet2;i<3;i++)
{objets[i]=objets[i+1];}
for(i=valobjet;i<2;i++)
{objets[i]=objets[i+1];}
}
else{
for(i=valobjet;i<3;i++)
{objets[i]=objets[i+1];}
for(i=valobjet2;i<2;i++)
{objets[i]=objets[i+1];}
}
for(i=0;i<2;i++)
cout<<endl<<"Ojbet"<<i+1<<":"<<objets[i];
cout<<endl<<"Le but est: "<<butreel;
do{
cout<<endl<<"Voulez vous arrêter ici?0/1: ";
cin>>choix;
}while(choix!=0 && choix!=1);
if (choix==1)
{
do{
test=0;
cout<<endl<<"Entrez votre nombre: ";
cin>>lebut;
for(i=0;i<2;i++)
{if(lebut==objets[i])
{test=test+1;}
else test=test;
}
if (test==0)
cout<<"Tricheur.."<<endl;
}while(test==0);
cout<<endl<<"Votre total est "<<lebut<<endl;
}
else
{
do{
testm=0;
testd=0;
cout<<endl<<"Faites votre dernier calcul (validez a chaque etape)"<<endl;
do{
test=0;
cin>>a;
for(i=0;i<2;i++)
{if (a==objets[i])
{test=test+1;
valobjet=i;}
else test=test;
}
if (test==0)
{cout<<"Nombre 1 invalide. Rechoisissez-en un:"<<endl;}
}
while (test==0);
do{
cin>>op;
if (op!='+' && op!='-' && op!='/' && op!='*')
cout<<"Mauvais choix d'operateur. Choix: +,-,*,/"<<endl;
}
while (op!='+' && op!='-' && op!='/' && op!='*');
do{
test=0;
cin>>b;
for(i=0;i<2;i++)
{if (b==objets[i] && i!=valobjet)
{test=test+1;}
else test=test;
}
if (test==0)
{cout<<"Nombre 2 invalide. Rechoisissez-en un:"<<endl;}
}
while (test==0);
if(op=='*')
{objets[2]=a*b;
}
else if(op=='/')
objets[2]=a/b;
else if (op=='+')
objets[2]=a+b;
else if (op=='-')
objets[2]=a-b;
if (objets[2]<0)
{testm=1;}
if(op=='/')
{
if((objets[2]*B)!=a)
{testd=1;}
}
if (testd==1)
cout<<endl<<w2d("Le reste de votre division n'est pas égal à 0.")<<endl;
if (testm==1)
cout<<endl<<w2d("Le nombre calculé est négatif.")<<endl;
}while(testm==1 || testd==1);
if(valobjet<valobjet2)
{
for(i=valobjet2;i<2;i++)
{objets[i]=objets[i+1];}
for(i=valobjet;i<1;i++)
{objets[i]=objets[i+1];}
}
else{
for(i=valobjet;i<2;i++)
{objets[i]=objets[i+1];}
for(i=valobjet2;i<1;i++)
{objets[i]=objets[i+1];}
}
lebut=objets[0];//Enregistre directement le dernier nombre possible dans la variable du but de l'utilisateur
cout<<endl<<"Votre total est: "<<lebut<<endl;//Confirme le but de l'utilisateur
}
}}}
}
void comparaison (int lebutreel, int lebututil, int &redemarrer)//Compare le but de l'utilisateur et le but à atteindre, et valide la comparaison de manière explicite. Propose à l'utilisateur de refaire le calcul avec les mêmes nombres s'il a échoué.
{
if (lebutreel==lebututil)//Compare les 2 buts (de l'utilisateur, et à atteindre)
{cout<<endl<<"Bravo! Le compte est bon.";//Confirme l'égalité
redemarrer=0;}//Réduit la proposition de redémarrage avec les mêmes nombres à néant
else {cout<<endl<<"Dommage.. le compte est mauvais. Aha..";//Confirme l'inégalité
do{
cout<<endl<<"Voulez vous refaire ce calcul?0/1: ";//Propose à l'utilisateur le redémarrage du calcul avec les mêmes nombres
cin>>redemarrer;//Enregistre le choix de l'utilisateur
}while(redemarrer!=0 && redemarrer!=1);}//Vérifie la syntaxe de l'enregistrement
}
//*************************** Programme principal ******************************
int main (int argc, char *argv[])
{
// Declaration locale
int choixdumenu, but, bututil;
tabobjets six;
int i;
int reboot;
int redemarrage;
int victoire, defaite;
int possible;
// Action
victoire=0;//Met le nombre de victoire de l'utilisateur à 0
defaite=0;//Met le nombre de défaite de l'utilisateur à 0
do
{
choix_menu(choixdumenu);//Propose le menu à l'utilisateur
if (choixdumenu==2)
{do{
choisirbut(but);//Demande à l'utilisateur le but à atteindre
creerobjets(six,possible,but);//Calcule 6 nombres
if (possible==0)//Vérifie via cette variable renvoyée par la procédure, qu'on peut atteindre le but avec ces 6 nombres
cout<<endl<<"Choisissez un autre but"<<endl;
}while(possible==0);
}
else if (choixdumenu==3)
{choisirobjets(six);//Demande à l'utilisateur les 6 nombres dont il disposera
creerbut(six,but);//Calcule un but à partir de ces 6 nombres
}
else if (choixdumenu==4)
{do{
genererbut(but);//Crée un but au hasard grâce à la fonction rand() (random) compris entre 100 et 999
creerobjets(six,possible,but);
}while(possible==0);
}
do{
affichageobjetsbut (six, but);//Affiche les données (les nombres et le but)
cout<<"Proposez votre solution";
traitement(six,bututil,but);//Récupère le total calculé par l'utilisateur
cout<<endl<<w2d("Le but était de: ")<<but<<endl;//Rappele le but à atteindre
if (but==bututil)
{victoire=victoire+1;}//Incrémentation du nombre de victoire s'il ya égalité entre le but atteint par l'utilisateur et le but à atteindre
else {defaite=defaite+1;}//Incrémentation du nombre de défaite s'il n'y a pas égalité entre le but atteint par l'utilisateur et le but à atteindre
cout<<endl<<"Victoire";//Affiche le nombre de victoire (une if en fonction du nombre de victoire et donc de l'utilisation du pluriel)
if(victoire>1)
{cout<<"s: "<<victoire<<endl;}
else {cout<<": "<<victoire<<endl;}
cout<<"Defaite";//Même chose pour les défaites
if(defaite>1)
{cout<<"s: "<<defaite<<endl;}
else {cout<<": "<<defaite<<endl;}
comparaison (but,bututil,redemarrage);//Propose un redémarrage avec les mêmes nombres
}while(redemarrage==1);
do{
cout<<endl<<"Voulez vous recommencer un nouveau calcul?0/1: "<<endl;//Propose un redémarrage du jeu depuis le début
cin>>reboot;//Enregistre le choix de l'utilisateur
}while(reboot!=0 && reboot!=1);//Vérifie la syntaxe
}
while (reboot==1);//Reboucle si l'utilisateur choisit un redémarrage du jeu
// retour au sytème d'exploitattion
cout << endl;
system("pause");
return (0);
}
//**************************** Fin du programme *******************************[/codebox]

ps: c'est fini, j'arrête de vous souler avec mon programme. :blush:

Ps2: Franfrou, comment fait-on pour utiliser le défilement en utilisant le code? Parce que c'est chiant de créer des posts aussi longs, et j'ai vu que tu me l'avait réduit grâce à un défilement sur mon 1er post..

Les stat's m'ont toujours fait marrer. Les 11 premiers profils (de ceux qui ont le + posté sur ce forum) ont 4 étoiles, le 12ème en a 3.

Ce 12ème est akinos. :ninja:

Balise "codebox"...

Posté(e)

Pour rester dans l'info je dirais que le Verilog c'est mieux que le VHDL.

J'ai tout à fait conscience de lancer un débat stérile entre pro-verilog et pro-VHDL mais j'assume. :ninja:

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.