begin process at 2012 05 27 18:52:06
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Maths & Algorithmes

 > MULTIPLICATIONS: PETIT EXERCICE DE MATHS

MULTIPLICATIONS: PETIT EXERCICE DE MATHS


 Information sur la source

Note :
Aucune note
Catégorie :Maths & Algorithmes Classé sous :maths, jeu, multiplications, tables Niveau :Débutant Date de création :18/11/2009 Date de mise à jour :21/11/2009 09:19:00 Vu :4 077

Auteur : gmorris

Ecrire un message privé
Commentaire sur cette source (3)
Ajouter un commentaire et/ou une note

 Description

Cliquez pour voir la capture en taille normale
Ce programme très simple vous demande de trouver le produit d'une multiplication au hasard, compte le temps que vous prenez et le nombre d'erreurs et vous donne une note.

Source

  • #include <iostream>
  • #include <ctime>
  • #include <windows.h>
  • #include <cmath>
  • #include <string>
  • #include <string>
  • using namespace std;
  • static SYSTEMTIME st;
  • double temps (float temps_debut)
  • {
  • GetSystemTime(&st);
  • float secondes = st.wHour*3600 + st.wMinute*60 + st.wSecond;
  • if (temps_debut < 0) //c'est le début du "chronomètre)
  • {return secondes;}
  • else //c'est la fin du chronomètre
  • {return secondes - temps_debut;}
  • }
  • int random (int min, int max)
  • {
  • int random_integer;
  • for(int index=0; index<20; index++)
  • {random_integer = (rand()%max)+min;}
  • return random_integer;
  • }
  • void intro (int time, int nombre_de_multiplications, int level)
  • { cout << "Dans " << time << " secondes, "<< nombre_de_multiplications << " multiplications a la difficulte " << level << " te seront posees auquelles \n";
  • cout << "tu doit repondre sans te tromper et le plus vite possible\nBonne chance!\n";
  • Sleep (1000*time);
  • cout << "\t\t\t\t Temps pris Erreur(s) Gain/Perte Total" <<endl;
  • }
  • int main(int argc, char *argv[])
  • {
  • srand ((unsigned)time(0));
  • bool fastmode;
  • string mode;
  • double answer=0, total =0, diff, a, b, erreur, conteur=0;
  • int level, x=0, vitesse,ndm;
  • string gain_perte, continuer;
  • while (x!=1){
  • cout << "modes\n1. rapide\n2. long\n3. court\n4. normal\n5. dur\n6. personalise\nmode ";
  • cin >> mode;
  • if (mode=="rapide" || mode =="1")
  • {intro(1,10,1);x=1; level=1;ndm=10;vitesse=0;}
  • if (mode=="long" || mode =="2")
  • {intro(5,10,1);x=1; level=1;ndm=25;vitesse=1;}
  • if (mode=="court"|| mode =="3")
  • {intro(5,10,1);x=1; level=1;ndm=4;vitesse=1;}
  • if (mode=="normal"|| mode =="4")
  • {intro(5,10,1);x=1; level=1;ndm=10;vitesse=1;}
  • if (mode=="dur"|| mode =="5")
  • {intro(5,10,2);x=1; level=2;ndm=10;vitesse=1;}
  • if (mode=="personalise"|| mode =="6")
  • {cout << "vitesse(s): ";
  • cin >> vitesse;
  • cout << "nombre de multiplications: ";
  • cin >> ndm;
  • cout << "niveau(1-3 conseille): ";
  • cin >> level;
  • intro(vitesse,ndm,level);x=1;}
  • }
  • while (continuer != "non" && conteur<ndm)
  • {
  • double chrono = temps(-1);
  • a=random(-3 + 4*level,8+2*level), b=random(-3 + 4*level,8+2*level), erreur=-1;
  • while (a*b != answer){
  • cout << a << "x" << b << "=";
  • cin >> answer;
  • erreur++;}
  • chrono = temps(chrono);
  • diff = (5*level-chrono-2*erreur)/2;
  • total = total + diff;
  • if (chrono<0) {gain_perte = "\t Perte:";}
  • if (chrono>0) {gain_perte = "\t Gain: ";}
  • if (chrono==0) {gain_perte = "\t ";}
  • cout << "\t\t\t\t\t" << chrono;
  • cout << "s\t " << erreur;
  • cout << gain_perte << sqrt(diff*diff) <<" Total: " << total <<endl;
  • conteur++;
  • answer = 0;
  • Sleep(1000*vitesse);
  • }
  • cout << "\n\nTotal: " << total << " / " << ndm*2 << "\n" ;
  • system ("pause");
  • return 0;
  • }
#include <iostream>
#include <ctime>
#include <windows.h>
#include <cmath>
#include <string>
#include <string>
using namespace std;
static SYSTEMTIME st;


double temps (float temps_debut)
{
GetSystemTime(&st);
float secondes = st.wHour*3600 + st.wMinute*60 + st.wSecond;
if (temps_debut < 0) //c'est le début du "chronomètre)
{return secondes;}
else //c'est la fin du chronomètre
{return secondes - temps_debut;}    
    
}    

int random (int min, int max)
{       
int random_integer;
for(int index=0; index<20; index++)
{random_integer = (rand()%max)+min;}
return random_integer;
} 

void intro (int time, int nombre_de_multiplications, int level)
{ cout << "Dans " << time << " secondes, "<< nombre_de_multiplications << " multiplications a la difficulte " << level << " te seront posees auquelles \n";
cout << "tu doit repondre sans te tromper et le plus vite possible\nBonne chance!\n";
Sleep (1000*time);
cout << "\t\t\t\t  Temps pris  Erreur(s)  Gain/Perte    Total" <<endl;
}




int main(int argc, char *argv[])
{
srand ((unsigned)time(0));
bool fastmode;
string mode;
double answer=0, total =0, diff, a, b, erreur, conteur=0;
int level, x=0, vitesse,ndm;
string gain_perte, continuer;



while (x!=1){
cout << "modes\n1. rapide\n2. long\n3. court\n4. normal\n5. dur\n6. personalise\nmode ";
cin >> mode; 
if (mode=="rapide" || mode =="1")
{intro(1,10,1);x=1; level=1;ndm=10;vitesse=0;}

if (mode=="long" || mode =="2")
{intro(5,10,1);x=1; level=1;ndm=25;vitesse=1;}

if (mode=="court"|| mode =="3")
{intro(5,10,1);x=1; level=1;ndm=4;vitesse=1;}

if (mode=="normal"|| mode =="4")
{intro(5,10,1);x=1; level=1;ndm=10;vitesse=1;}

if (mode=="dur"|| mode =="5")
{intro(5,10,2);x=1; level=2;ndm=10;vitesse=1;}

if (mode=="personalise"|| mode =="6")
{cout << "vitesse(s): ";
cin >> vitesse;
cout << "nombre de multiplications: ";
cin >> ndm;
cout << "niveau(1-3 conseille): ";
cin >> level;                                             
intro(vitesse,ndm,level);x=1;}

}


  
while (continuer != "non" && conteur<ndm)
{
double chrono = temps(-1);
a=random(-3 + 4*level,8+2*level), b=random(-3 + 4*level,8+2*level), erreur=-1;





while (a*b != answer){
cout << a << "x" << b << "=";
cin >> answer;
erreur++;}


chrono = temps(chrono);
diff = (5*level-chrono-2*erreur)/2;
total = total + diff;

if (chrono<0) {gain_perte = "\t Perte:";}
if (chrono>0) {gain_perte = "\t Gain: ";}
if (chrono==0) {gain_perte = "\t       ";}

cout << "\t\t\t\t\t" << chrono; 
cout << "s\t " << erreur; 
cout << gain_perte << sqrt(diff*diff)  <<"   Total: " << total <<endl;    

conteur++;
answer = 0;    
Sleep(1000*vitesse);
}    

cout << "\n\nTotal: " << total << " / " << ndm*2 << "\n" ;   
system ("pause");    
return 0;    
}    
    
    
    
    
    



 Historique

21 novembre 2009 09:19:01 :
quelques corrections grace au commentaire de lucky92.

 Sources de la même categorie

Source avec Zip UN EXAMPLE D'APPLICATION EN CUDA DE L'ALGORITHME DE SCAN POU... par oguzaras
Source avec Zip Source avec une capture CHIFFREMENT DE VIGENERE par lajouad
Source avec Zip Source avec une capture ANALYSE SYNTAXIQUE par lajouad
Source avec Zip Source avec une capture STRUCTURE D'UNE MATRICE PAR LES LISTE LINÉAIRE (NON CONTUGUS... par benzarabel
Source avec Zip Source avec une capture DESSINER UNE ARBRE BINAIRE( MODE CONSOLE): par benzarabel

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture SOKOBAN EN C POUR DÉBUTANT (VERSION AMÉLIORÉE BASÉE SUR LE T... par eustatika
Source avec Zip Source avec une capture BASE/MOTEUR 3D EN QT/OPENGL (COMPLET ET FONCTIONNEL!) POUR U... par envi33
Source avec Zip EXPERIENCES ALEATOIRES par cczerty
Source avec Zip NIBLE LE JEU DU SERPENT [VC++ 6] V2 par billybones79
Source avec Zip SNAKE CONSOLE par fboivin63

Commentaires et avis

Commentaire de Lucky92 le 19/11/2009 19:55:57

Je suis trop fort !

J'ai fait 175.5 / 20 en mode dur !

modes
1. rapide
2. long
3. court
4. normal
5. dur
6. personalise
mode 5
Dans 5 secondes, 10 multiplications a la difficulte 2te seront posees auquelles
tu doit repondre sans te tromper et le plus vite possible
Bonne chance!
                                 Temps pris Erreur(s) Gain/Perte Total
6x11=66
                                        2s       0       Gain: 19 Total: 19
10x9=90
                                        2s       0       Gain: 19 Total: 38
11x6=66
                                        1s       0       Gain: 19.5 Total: 57.5
9x11=99
                                        2s       0       Gain: 19 Total: 76.5
10x8=80
                                        1s       0       Gain: 19.5 Total: 96
15x16=180
15x16=240
                                        26s      1       Gain: 5 Total: 101
6x11=66
                                        2s       0       Gain: 19 Total: 120
6x10=60
                                        1s       0       Gain: 19.5 Total: 139.5
10x14=140
                                        2s       0       Gain: 19 Total: 158.5
6x13=78
                                        6s       0       Gain: 17 Total: 175.5


Total: 175.5 / 20
Appuyez sur une touche pour continuer...

Commentaire de Lucky92 le 19/11/2009 20:10:26

Salut,

ton code ne compilait, j'ai dû faire les modifications suivantes :
- ajout de #include <string>
- remplacement de "or" par ||
- remplacement de "and" par &&

J'ai également supprimé des warnings :
- remplacement de "float" par "double"
- suppression de la variable fastmode

J'ai également supprimé les includes inutiles à savoir :
- #include <cstdio>
- #include <cstdlib>
- #include <stdio.h>
- #include <conio.h>
- #include <dos.h>

Enfin j'ai remplacé :

- #include <time.h> par #include <ctime>
- #include <math.h> par #include <cmath>

L'idée du programme est bonne ! Bonne continuation.

Commentaire de gmorris le 21/11/2009 09:06:45

Merci beaucoup pour ton commentaire, lucky92: j'ai toujours du mal à savoir quels include il faut ou pas. Je pensait pas que ca serait possible de faire autant de points en mode dur (t'as eu de la chance: beaucoup de multiplications par 11 ou par 10) et tu dois vraiment être très bon: 6x13=78 en 6s. Bravo! Je vais rendre le mode dur un peu plus dur...

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Dev d'un jeu à la Age of Empires [ par jaylin ] Si vous êtes intéressez par le développement d'un jeu à la Age of Empires mais en plus réaliste contactez moi sur ICQ: 108283779 ou mailez moi: jaylin Empire Warriors [ par jaylin ] Je pourrais savoir pourquoi la partie du forum consacré au jeu a été supprimé??Le site du jeu www.empire-warriors.fr.st Liens entre 2 tables sous Base Oracle [ par Charly06 ] Bonjour ma question est la suivante : Comment créer un lien entre 2 tables, sachant que je suis sous Oracle. D'avance merci Création d'un jeu de stratégie en CPP et DIRECTX ! [ par DunËsPIdËr ] SalUt à tOuS! Nous sommes actuellement 4 programmeurs et 1 infographiste. Nous voulons créer un jeu de stratégie en temps réel sous Win utilisant di un ptit jeu [ par BLaFarD ] euh, je viens de me pondre un petit moteur 3d de merde en opengldonc, si qlqun veut me filer des model 3d k'il a fait (sous 3dsmax si possible), bah, je cherche quelqu'un fort en maths et qui est en 1ere ES !! [ par GEO ] je cherche quelqu'un qui aurais le livre orange declic maths de 1 ES merci d'avance DIRECTX et interface [ par ELKI ] je suis en train de concevoir un jeu d'echec et j'aurai voulu savoir comment je pouurai faire pour associer des pièce d'un jeu d'echec avec mon interf Les grandes tables Access et ODBC [ par Michel Caramez ] Bonjour,Je travail sur un système de récupération de données en C++ via un ODBC sur une table MS Access. j'ai développé une mini application. Mais voi jeu de go [ par mastergc ] je suis en train de réaliser un projet de jeu de go en C ms jai qqes pblèmes pr la réalisation alors si jamais qq'un pouvait me donner des tuyaux ou d Code pour steph [ par SmallToad ] Voici le code, 222 lignes. ca va etre moin lour que sur le chat, .#include &lt;stdlib.h&gt;#include &lt;iostream.h&gt;#include &lt;iomanip.h&gt;#inclu


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



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

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

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