Bengijol Posté(e) 6 mai 2007 Posté(e) 6 mai 2007 une vision de l'europe Gros cliché je tiens à préciser. Citer
Hasdrubald Posté(e) 6 mai 2007 Posté(e) 6 mai 2007 une vision de l'europe Gros cliché je tiens à préciser. tu inverses Fachos et maison, et c'est presque bon Citer
LaurentRomejko Posté(e) 6 mai 2007 Posté(e) 6 mai 2007 (modifié) Y'avait eu ce genre de cartes pour les Francais (sur un topic ya 1 an peut être) Modifié 6 mai 2007 par eiK Citer
Jneb Posté(e) 6 mai 2007 Posté(e) 6 mai 2007 (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" Modifié 6 mai 2007 par Jneb Citer
Akinsson Posté(e) 6 mai 2007 Posté(e) 6 mai 2007 une vision de l'europe Gros cliché je tiens à préciser. Shuis pas pd enflure Citer
Bengijol Posté(e) 6 mai 2007 Posté(e) 6 mai 2007 Shuis pas pd enflure c'est pas de moi, juste une petite cartographie des clichés du français :blagounette: les grecques n'étaient pas hhomos il vouaient seulement un culte au corps humain c'est tout. Yoda pourra confirmer Citer
GandhiWallemme Posté(e) 6 mai 2007 Posté(e) 6 mai 2007 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. C'est quand même un forum de gauchiste ici. 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.. Citer
GandhiWallemme Posté(e) 6 mai 2007 Posté(e) 6 mai 2007 M'obligez pas à fermer le forum s'il vous plait... Citer
Mikhaïl Posté(e) 6 mai 2007 Posté(e) 6 mai 2007 M'obligez pas à fermer le forum s'il vous plait... Citer
tititolosa Posté(e) 6 mai 2007 Posté(e) 6 mai 2007 M'obligez pas à fermer le forum s'il vous plait... Mouais Citer
Mikhaïl Posté(e) 6 mai 2007 Posté(e) 6 mai 2007 oui parce qu'il y a eu des posts sur les élections alors que le topic est fermé. J'ai vu, mais c'était juste de la déconnade quoi... Citer
GandhiWallemme Posté(e) 6 mai 2007 Posté(e) 6 mai 2007 J'ai vu, mais c'était juste de la déconnade quoi... Il décide d'appliquer la tolérance 0, il n'a pas fondamentalement tort je pense. It's his choice Citer
GandhiWallemme Posté(e) 6 mai 2007 Posté(e) 6 mai 2007 (modifié) et les commentaires... 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. Modifié 7 mai 2007 par nee_trimer_ue_ved Citer
Akinsson Posté(e) 6 mai 2007 Posté(e) 6 mai 2007 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. Au moins je me démarque Citer
marco Posté(e) 7 mai 2007 Posté(e) 7 mai 2007 ps: c'est fini, j'arrête de vous souler avec mon programme. Mais qu'est-ce tu branles Citer
Bengijol Posté(e) 7 mai 2007 Posté(e) 7 mai 2007 Sa représente quoi les étoiles? une note que les autres forumeurs peuvent t'attribuer dans ton profil Citer
FF Posté(e) 7 mai 2007 Posté(e) 7 mai 2007 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]*!=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. Balise "codebox"... Citer
GandhiWallemme Posté(e) 7 mai 2007 Posté(e) 7 mai 2007 (modifié) Mais qu'est-ce tu branles W-w-what? Mes 1 an inscrit sur le forum Bon annif'.. Balise "codebox"... Ok, merci Modifié 7 mai 2007 par nee_trimer_ue_ved Citer
Zitoun Posté(e) 7 mai 2007 Posté(e) 7 mai 2007 Je vais (essayer de) m'acheter deux places pour real Espanyol... ça va faire mal au portefeuille Citer
Bengijol Posté(e) 7 mai 2007 Posté(e) 7 mai 2007 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. Citer
Messages recommandés
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.