-
Compteur de contenus
17430 -
Inscription
-
Dernière visite
Tout ce qui a été posté par GandhiWallemme
-
Marrante et attachante c'tanimal:grin: Sais tu ce que veux dire zoophile? La zoophilie désigne l'attirance sexuelle et éventuellement affective d'un humain pour un ou des animaux Il a une gueule de fou cuila..
-
Le truc dont tout le monde se branle...
GandhiWallemme a répondu à un ClarkGaybeul de GandhiWallemme dans Le Bistrot
Ok.. J'en ai strictement aucune idée, j'te le dirai (si tu veux) dès que j'aurai commencé à travailler dessus.. -
Le truc dont tout le monde se branle...
GandhiWallemme a répondu à un ClarkGaybeul de GandhiWallemme dans Le Bistrot
Qu'est ce que t'entends par quel type? -
Le truc dont tout le monde se branle...
GandhiWallemme a répondu à un ClarkGaybeul de GandhiWallemme dans Le Bistrot
Yep, je vais commencer à programmer dans des microcontrôleurs avec du c++, ça devrait être fun.. Welcome to my world -
Le truc dont tout le monde se branle...
GandhiWallemme a répondu à un ClarkGaybeul de GandhiWallemme dans Le Bistrot
Franchement la programmation c'est le best, je m'éclate méchamment en programmant, je pensais pas que ça pouvait me passionner autant.. -
Le truc dont tout le monde se branle...
GandhiWallemme a répondu à un ClarkGaybeul de GandhiWallemme dans Le Bistrot
Ca marche très bien dans mon xHDL le joie=vcc; .. Moh non, moh non.. généralement je ne comprends qu'une vanne sur 2 de la part d'hasdru ou de mario, à chacun sa compétence -
Le truc dont tout le monde se branle...
GandhiWallemme a répondu à un ClarkGaybeul de GandhiWallemme dans Le Bistrot
if(hasdru==banned) { joie=vcc; } else joie=gnd; end if; -
Le truc dont tout le monde se branle...
GandhiWallemme a répondu à un ClarkGaybeul de GandhiWallemme dans Le Bistrot
Je pense que je connais qu'une toute petite partie du VHDL, et à mon niveau c'est excessivement basique. Aucune possibilité de faire des boucles (on ne peut utiliser que le switch case & la if), les machines à etat simplifient beaucoup les travaux à programmer.. Je me suis toujours demandé si c'était du VHDL ou de l'AHDL que je programmai à la réflexion.. tu peux me dire les diff's si tu les connais? A mon niveau (basique), j'ai beaucoup + de liberté daction avec le c++ qu'avec le xHDL.. -
Le truc dont tout le monde se branle...
GandhiWallemme a répondu à un ClarkGaybeul de GandhiWallemme dans Le Bistrot
J'connais pas le verilog, mais le vhdl c'est assez basique comme langage (voire trop basique). Mais j'aime bien programmer dans ce langage -
Le truc dont tout le monde se branle...
GandhiWallemme a répondu à un ClarkGaybeul de GandhiWallemme dans Le Bistrot
W-w-what? Bon annif'.. Ok, merci -
putain ça fait 1 an que j'écoute plus du tout, je reconnais bien le style. elle est paumée la présentatrice (la première) elle est barge la seconde
-
Le truc dont tout le monde se branle...
GandhiWallemme a répondu à un ClarkGaybeul de GandhiWallemme dans Le Bistrot
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. -
Le truc dont tout le monde se branle...
GandhiWallemme a répondu à un ClarkGaybeul de GandhiWallemme dans Le Bistrot
Il décide d'appliquer la tolérance 0, il n'a pas fondamentalement tort je pense. It's his choice -
Le truc dont tout le monde se branle...
GandhiWallemme a répondu à un ClarkGaybeul de GandhiWallemme dans Le Bistrot
-
Le truc dont tout le monde se branle...
GandhiWallemme a répondu à un ClarkGaybeul de GandhiWallemme dans Le Bistrot
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.. -
Le truc dont tout le monde se branle...
GandhiWallemme a répondu à un ClarkGaybeul de GandhiWallemme dans Le Bistrot
C'est un peu anarchique au niveau de mes "{..}", mais j'avoue que je suis peu ordonné, et j'ai eu la flemme de tout aligner.. C'est clair.. un bon vieux switch case ferait moins moche. J'verrai ça avec le prof'. -
Les 2 possibilités sont appréciables.. Fais péter le corps d'athlète eiK.
-
Le truc dont tout le monde se branle...
GandhiWallemme a répondu à un ClarkGaybeul de GandhiWallemme dans Le Bistrot
Ya quoi qui change, hormis le "// Fin AffichageObjetsBut" ? -
Le truc dont tout le monde se branle...
GandhiWallemme a répondu à un ClarkGaybeul de GandhiWallemme dans Le Bistrot
okaych Au passage, si quelqu'un a pris le codage du jeu le compte est bon, autant qu'il le remplace par ma dernière version: //************************ 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) { //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) { //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) { //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 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]) { etat=etat+0; } else etat=1; } else etat=1; } while (etat==1); } } void creerbut (tabobjets objects, int &lebut) { //Décla int i,j,k,inter; tabobjets objets; //Actions srand(time(NULL)); do { for (k=0;k<6;k++) {objets[k]=objects[k];} i=rand()%6; lebut=objets[i]; for (j=i;j<5;j++) objets[j]=objets[j+1]; 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); } void creerobjets (tabobjets &objets, int &possibilite, int lebut) { //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++) {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) {srand(time(NULL)); op=rand()%4; 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) {possibilite=possibilite+1; if (possibilite==1) {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) { //Décla //Actions srand(time(NULL)); lebut=rand()%900+100; } void affichageobjetsbut (tabobjets &objets, int attempt) { //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) { //Décla char op; int choix,a,b,i,test,valobjet; tabobjets objets; int testm,testd; //Actions do{ for(i=0;i<6;i++) {objets[i]=objects[i];} testm=0; testd=0; cout<<endl<<"Faites votre premier calcul (validez à chaque étape)"<<endl; do{ test=0; cin>>a; for(i=0;i<6;i++) {if (a==objets[i]) {test=test+1; valobjet=i;} else test=test; } if (test==0) {cout<<"Nombre 1 invalide. Rechoisissez-en un:"<<endl;} else {for(i=valobjet;i<5;i++) {objets[i]=objets[i+1];} } } 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]) {test=test+1; valobjet=i;} else test=test; } if (test==0) {cout<<"Nombre 2 invalide. Rechoisissez-en un:"<<endl;} else {for(i=valobjet;i<4;i++) {objets[i]=objets[i+1];} } } 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)//Regarde si a/b == (a/b)*b, pour voir s'il n'y a pas troncature {testd=1;} } }while(testm==1 || testd==1); for(i=0;i<5;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<5;i++) {if(lebut==objets[i]) {test=test+1;} else test=test; } }while(test==0); cout<<endl<<"Votre total est "<<lebut; } else { 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;} else {for(i=valobjet;i<4;i++) {objets[i]=objets[i+1];} } } 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]) {test=test+1; valobjet=i;} else test=test; } if (test==0) {cout<<"Nombre 2 invalide. Rechoisissez-en un:"<<endl;} else {for(i=valobjet;i<3;i++) {objets[i]=objets[i+1];} } } 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)//Regarde si a/b == (a/b)*b, pour voir s'il n'y a pas troncature {testd=1;} } }while(testm==1 || testd==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; } }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;} else {for(i=valobjet;i<3;i++) {objets[i]=objets[i+1];} } } 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]) {test=test+1; valobjet=i;} else test=test; } if (test==0) {cout<<"Nombre 2 invalide. Rechoisissez-en un:"<<endl;} else {for(i=valobjet;i<2;i++) {objets[i]=objets[i+1];} } } 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)//Regarde si a/b == (a/b)*b, pour voir s'il n'y a pas troncature {testd=1;} } }while(testm==1 || testd==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; } }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;} else {for(i=valobjet;i<2;i++) {objets[i]=objets[i+1];} } } 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<2;i++) {if (b==objets[i]) {test=test+1; valobjet=i;} else test=test; } if (test==0) {cout<<"Nombre 2 invalide. Rechoisissez-en un:"<<endl;} else {for(i=valobjet;i<1;i++) {objets[i]=objets[i+1];} } } while (test==0); if(op=='*') {objets[1]=a*b; } else if(op=='/') objets[1]=a/b; else if (op=='+') objets[1]=a+b; else if (op=='-') objets[1]=a-b; if (objets[1]<0) {testm=1;} if(op=='/') { if((objets[1]*b)!=a)//Regarde si a/b == (a/b)*b, pour voir s'il n'y a pas troncature {testd=1;} } }while(testm==1 || testd==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; } }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;} else {for(i=valobjet;i<1;i++) {objets[i]=objets[i+1];} } } 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<1;i++) {if (b==objets[i]) {test=test+1;} else test=test; } if (test==0) {cout<<"Nombre 2 invalide. Rechoisissez-en un:"<<endl;} } while (test==0); if(op=='*') {objets[0]=a*b; } else if(op=='/') objets[0]=a/b; else if (op=='+') objets[0]=a+b; else if (op=='-') objets[0]=a-b; if (objets[0]<0) {testm=1;} if(op=='/') { if((objets[0]*b)!=a)//Regarde si a/b == (a/b)*b, pour voir s'il n'y a pas troncature {testd=1;} } }while(testm==1 || testd==1); lebut=objets[0]; cout<<endl<<"Votre total est: "<<lebut<<endl; } }}} } void comparaison (int lebutreel, int lebututil, int &redemarrer) { if (lebutreel==lebututil) {cout<<endl<<"Bravo! Le compte est bon."; redemarrer=0;} else {cout<<endl<<"Dommage.. le compte est mauvais. Aha.."; do{ cout<<endl<<"Voulez vous refaire ce calcul?0/1: "; cin>>redemarrer; }while(redemarrer!=0 && redemarrer!=1);} } //*************************** 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; defaite=0; do { choix_menu(choixdumenu); if (choixdumenu==2) {do{ choisirbut(but); creerobjets(six,possible,but); if (possible==0) cout<<endl<<"Choisissez un autre but"<<endl; }while(possible==0); } else if (choixdumenu==3) {choisirobjets(six); creerbut(six,but); } else if (choixdumenu==4) {do{ genererbut(but); creerobjets(six,possible,but); }while(possible==0); } do{ affichageobjetsbut (six, but); cout<<"Proposez votre solution"; traitement(six,bututil,but); if (but==bututil) {victoire=victoire+1;} else {defaite=defaite+1;} cout<<endl<<"Victoire"; if(victoire>1) {cout<<"s: "<<victoire<<endl;} else {cout<<": "<<victoire<<endl;} cout<<"Defaite"; if(defaite>1) {cout<<"s: "<<defaite<<endl;} else {cout<<": "<<defaite<<endl;} comparaison (but,bututil,redemarrage); }while(redemarrage==1); do{ cout<<endl<<"Voulez vous recommencer un nouveau calcul?0/1: "; cin>>reboot; }while(reboot!=0 && reboot!=1); } while (reboot==1); // retour au sytème d'exploitattion cout << endl; system("pause"); return (0); } //**************************** Fin du programme ******************************* A également voté. -
Le truc dont tout le monde se branle...
GandhiWallemme a répondu à un ClarkGaybeul de GandhiWallemme dans Le Bistrot
Je sais, faut que je refasse cette partie du programme, ça a une sale gueule. J'my penche taleur. Sinon, le reste n'est pas bordélique, si? K&R? -
Le truc dont tout le monde se branle...
GandhiWallemme a répondu à un ClarkGaybeul de GandhiWallemme dans Le Bistrot
Ouais, enfin vient fouiner dans mon jeu le compte est bon si t'as que ça à branler (et si je le fous sur le net), ça me dérangera pas. -
Le truc dont tout le monde se branle...
GandhiWallemme a répondu à un ClarkGaybeul de GandhiWallemme dans Le Bistrot
Effectivement, le compilateur n'a pas apprécié le non closage.. Bon eh bien je galère avec les fichiers, je verrai ça avec le prof'. Merci quand même Tcho -
Le truc dont tout le monde se branle...
GandhiWallemme a répondu à un ClarkGaybeul de GandhiWallemme dans Le Bistrot
Ca marchait très bien :ninja: Il me reste un dernier point où je galère, mais j'vais pas vous demander pourquoi on ne peut pas strcpy mon fichier_in dans une chaine de caractères, hein. -
Le truc dont tout le monde se branle...
GandhiWallemme a répondu à un ClarkGaybeul de GandhiWallemme dans Le Bistrot
ifstream fichier_in; fichier_in.open ("test.txt"); en fait, ces 2 lignes me conviennent à merveille. si quelqu'un veut s'éclater au jeu "le compte est bon", ya aucun problème. //************************ 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]; /***** fonction ******/ void choix_menu (int &choixmenu) { //Décla //Actions cout<<w2d("1.Règles")<<endl<<"2.Ee but defini"<<endl<<"3.Objets définis"<<endl<<"4.Random"<<endl; cin>>choixmenu; } void choisirbut (int &lebut) { //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) { //Décla int i,j; int etat; //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 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]) { etat=etat+0; } else etat=1; } else etat=1; } while (etat==1); } } void creerbut (tabobjets objects, int &lebut) { //Décla int i,j,k,inter; tabobjets objets; //Actions do { for (k=0;k<6;k++) {objets[k]=objects[k];} i=rand()%6; lebut=objets[i]; for (j=i;j<5;j++) objets[j]=objets[j+1]; 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); } void creerobjets (tabobjets &objets, int lebut) { //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,test; //Actions test=0; for (i=0;i<14;i++) {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) { a=(liste[i]*liste[j])+(liste[k]*liste[l])-liste[m]+liste[n]; if(a==lebut) {test=test+1; if (test==1) {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) { //Décla //Actions srand(time(NULL)); lebut=rand()%900+100; } void affichageobjetsbut (tabobjets &objets, int attempt) { //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) { //Décla char op; int choix,a,b,i,test,valobjet; tabobjets objets; int testm,testd; //Actions do{ for(i=0;i<6;i++) {objets[i]=objects[i];} testm=0; testd=0; cout<<endl<<"Faites votre premier calcul"<<endl; do{ test=0; cin>>a; for(i=0;i<6;i++) {if (a==objets[i]) {test=test+1; valobjet=i;} else test=test; } if (test==0) {cout<<"Nombre 1 invalide. Rechoisissez-en un:"<<endl;} else {for(i=valobjet;i<5;i++) {objets[i]=objets[i+1];} } } while (test==0); do{ cin>>op; if (op!='+' && op!='-' && op!='/' && op!='*') cout<<w2d("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]) {test=test+1; valobjet=i;} else test=test; } if (test==0) {cout<<"Nombre 2 invalide. Rechoisissez-en un:"<<endl;} else {for(i=valobjet;i<4;i++) {objets[i]=objets[i+1];} } } 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)//Regarde si a/b == (a/:angry:*b, pour voir s'il n'y a pas troncature {testd=1;} } }while(testm==1 || testd==1); for(i=0;i<5;i++) cout<<endl<<"Ojbet"<<i+1<<":"<<objets[i]; cout<<endl<<"Le but est: "<<butreel; do{ cout<<endl<<w2d("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<5;i++) {if(lebut==objets[i]) {test=test+1;} else test=test; } }while(test==0); cout<<endl<<"Votre total est "<<lebut; } else { do{ testm=0; testd=0; cout<<endl<<"Faites votre second calcul"<<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;} else {for(i=valobjet;i<4;i++) {objets[i]=objets[i+1];} } } while (test==0); do{ cin>>op; if (op!='+' && op!='-' && op!='/' && op!='*') cout<<w2d("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]) {test=test+1; valobjet=i;} else test=test; } if (test==0) {cout<<"Nombre 2 invalide. Rechoisissez-en un:"<<endl;} else {for(i=valobjet;i<3;i++) {objets[i]=objets[i+1];} } } 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)//Regarde si a/b == (a/B)*b, pour voir s'il n'y a pas troncature {testd=1;} } }while(testm==1 || testd==1); for(i=0;i<4;i++) cout<<endl<<"Ojbet"<<i+1<<":"<<objets[i]; cout<<endl<<"Le but est: "<<butreel; do{ cout<<endl<<w2d("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; } }while(test==0); cout<<endl<<"Votre total est "<<lebut<<endl; } else { do{ testm=0; testd=0; cout<<endl<<w2d("Faites votre troisième calcul")<<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;} else {for(i=valobjet;i<3;i++) {objets[i]=objets[i+1];} } } while (test==0); do{ cin>>op; if (op!='+' && op!='-' && op!='/' && op!='*') cout<<w2d("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]) {test=test+1; valobjet=i;} else test=test; } if (test==0) {cout<<"Nombre 2 invalide. Rechoisissez-en un:"<<endl;} else {for(i=valobjet;i<2;i++) {objets[i]=objets[i+1];} } } 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)//Regarde si a/b == (a/B)*b, pour voir s'il n'y a pas troncature {testd=1;} } }while(testm==1 || testd==1); for(i=0;i<3;i++) cout<<endl<<"Ojbet"<<i+1<<":"<<objets[i]; cout<<endl<<"Le but est: "<<butreel; do{ cout<<endl<<w2d("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; } }while(test==0); cout<<endl<<"Votre total est "<<lebut<<endl; } else { do{ testm=0; testd=0; cout<<endl<<w2d("Faites votre quatrième calcul")<<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;} else {for(i=valobjet;i<2;i++) {objets[i]=objets[i+1];} } } while (test==0); do{ cin>>op; if (op!='+' && op!='-' && op!='/' && op!='*') cout<<w2d("Mauvais choix d'opérateur. Choix: +,-,*,/")<<endl; } while (op!='+' && op!='-' && op!='/' && op!='*'); do{ test=0; cin>>b; for(i=0;i<2;i++) {if (b==objets[i]) {test=test+1; valobjet=i;} else test=test; } if (test==0) {cout<<"Nombre 2 invalide. Rechoisissez-en un:"<<endl;} else {for(i=valobjet;i<1;i++) {objets[i]=objets[i+1];} } } while (test==0); if(op=='*') {objets[1]=a*b; } else if(op=='/') objets[1]=a/b; else if (op=='+') objets[1]=a+b; else if (op=='-') objets[1]=a-b; if (objets[1]<0) {testm=1;} if(op=='/') { if((objets[1]*!=a)//Regarde si a/b == (a/B)*b, pour voir s'il n'y a pas troncature {testd=1;} } }while(testm==1 || testd==1); for(i=0;i<2;i++) cout<<endl<<"Ojbet"<<i+1<<":"<<objets[i]; cout<<endl<<"Le but est: "<<butreel; do{ cout<<endl<<w2d("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; } }while(test==0); cout<<endl<<"Votre total est "<<lebut<<endl; } else { do{ testm=0; testd=0; cout<<endl<<"Faites votre dernier calcul"<<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;} else {for(i=valobjet;i<1;i++) {objets[i]=objets[i+1];} } } while (test==0); do{ cin>>op; if (op!='+' && op!='-' && op!='/' && op!='*') cout<<w2d("Mauvais choix d'operateur. Choix: +,-,*,/")<<endl; } while (op!='+' && op!='-' && op!='/' && op!='*'); do{ test=0; cin>>b; for(i=0;i<1;i++) {if (b==objets[i]) {test=test+1;} else test=test; } if (test==0) {cout<<"Nombre 2 invalide. Rechoisissez-en un:"<<endl;} } while (test==0); if(op=='*') {objets[0]=a*b; } else if(op=='/') objets[0]=a/b; else if (op=='+') objets[0]=a+b; else if (op=='-') objets[0]=a-b; if (objets[0]<0) {testm=1;} if(op=='/') { if((objets[0]*!=a)//Regarde si a/b == (a/B)*b, pour voir s'il n'y a pas troncature {testd=1;} } }while(testm==1 || testd==1); lebut=objets[0]; cout<<endl<<"Votre total est: "<<lebut<<endl; } }}} } //*************************** Programme principal ****************************** int main (int argc, char *argv[]) { // Déclaration locale int choixdumenu, but, bututil; tabobjets six; int i; int reboot; FILE * fichier; // Action fichier=fopen ("test.txt","r"); do { choix_menu(choixdumenu); if (choixdumenu==2) { choisirbut(but); creerobjets(six,but); } else if (choixdumenu==3) {choisirobjets(six); creerbut(six,but); } else if (choixdumenu==4) { genererbut(but); creerobjets(six,but); } affichageobjetsbut (six, but); cout<<"Proposez votre solution"; traitement(six,bututil,but); cout<<"Voulez vous recommencer? 0 pour non, 1 pour oui"; cin>>reboot; } while (reboot==1); // retour au sytème d'exploitattion cout << endl; system("pause"); return (0); } //**************************** Fin du programme *******************************[/codebox] Amusez vous bien. -
Le truc dont tout le monde se branle...
GandhiWallemme a répondu à un ClarkGaybeul de GandhiWallemme dans Le Bistrot
sous Dev cpp j'vais voir le lien, ça devrait m'aider c'est la première fois que j'utilise les fichiers, j'vais essayer de me démerder avec.. J'me suis tapé la programmation du jeu "le compte est bon" cf romejko, c'est pas compliqué mais ça fait plaisir de voir que ça marche après (je vais voir) 630 lignes (donc 580 écrites environ)..