Sfoglia il codice sorgente

Import flashing cards project

DricomDragon 4 anni fa
parent
commit
0ddcf86290

+ 115 - 0
flashLearn/Fiches/english_iv.txt

@@ -0,0 +1,115 @@
+be was_were been etre
+bear bore borne supporter
+beat beat beaten battre
+become became become devenir
+begin began begun commencer
+bend bent bent courber
+bet bet bet parier
+bite bit bitten mordre
+bleed bled bled saigner
+blow blew blown souffler
+break broke broken casser
+breed bred bred elever
+bring brought brought apporter
+build built built construire
+burn burnt burnt bruler
+burst burst burst eclater
+buy bought bought acheter
+cast cast cast lancer
+catch caught caught attraper
+choose chose chosen choisir
+come came come venir
+cost cost cost couter
+cut cut cut couper
+deal dealt dealt distribuer
+do did done faire
+draw drew drawn dessiner
+dream dreamt dreamt rever
+drink drank drunk boire
+drive drove driven conduire
+eat ate eaten manger
+fall fell fallen tomber
+feed fed fed nourrir
+feel felt felt ressentir
+fight fought fought combattre
+find found found trouver
+fly flew flown voler
+forbid forbade forbidden interdire
+forget forgot forgotten oublier
+forgive forgave forgiven pardonner
+freeze froze frozen geler
+get got got obtenir
+give gave given donner
+go went gone aller
+grow grew grown pousser
+have had had avoir
+hang hung hung suspendre
+hear heard heard entendre
+hide hid hidden cacher
+hit hit hit frapper
+hold held held tenir
+hurt hurt hurt blesser
+keep kept kept garder
+know knew known connaitre
+lay laid laid poser_a_plat
+lead led led mener
+leap leapt leapt sauter
+learn learnt learnt apprendre
+leave left left quitter
+lend lent lent preter
+let let let laisser
+lie lay lain etre_couche
+light lit lit eclairer
+lose lost lost perdre
+make made made faire
+mean meant meant signifier
+meet met met rencontrer
+pay paid paid payer
+put put put mettre
+read read read lire
+ride rode ridden chevaucher
+ring rang rung sonner
+rise rose risen s_elever
+run ran run courir
+say said said dire
+see saw seen voir
+sell sold sold vendre
+send sent sent envoyer
+set set set placer
+shake shook shaken secouer
+shine shone shone briller
+shoot shot shot tirer
+show showed shown montrer
+shut shut shut fermer
+sing sang sung chanter
+sink sank sunk sombrer
+sit sat sat s'asseoir
+sleep slept slept dormir
+smell smelt smelt sentir
+speak spoke spoken parler
+spell spelt spelt epeler
+spend spent spent depenser
+spill spilt spilt repandre
+split split split fendre
+spoil spoilt spoilt gacher
+spread spread spread etaler
+spring sprang sprung bondir
+stand stood stood etre_debout
+steal stole stolen derober
+stick stuck stuck coller
+strike struck struck frapper
+swear swore sworn jurer
+sweep swept swept balayer
+swim swam swum nager
+swing swung swung se_balancer
+take took taken prendre
+teach taught taught enseigner
+tear tore torn dechirer
+tell told told dire
+think thought thought penser
+throw threw thrown jeter
+understand understood understood comprendre
+wake woke woken reveiller
+wear wore worn porter
+win won won gagner
+write wrote written ecrire

+ 54 - 0
flashLearn/Fiches/english_voc.txt

@@ -0,0 +1,54 @@
+Verbs:
+to land : accoster
+to hold (held, held) : organiser
+to be tightly controlled : être très contrôlé
+to let (someone) through : laisser passer (quelqu'un)
+to choke : étouffer
+to knock : cogner
+to curse : maudire
+to kick : donner un coup de pied
+to thumb through : feuilleter
+to owe money : devoir de l'argent
+to stream : entrer a flots
+to steam : cuire a la vapeur
+to charge : faire payer
+to bloom : fleurir
+to slam a door : claquer une porte
+you had better +BV : tu ferai mieux de + BV
+to get rid of + N : se débarrasser de + N
+to stay on your own side : rester parmi les siens
+to wait on table : être serveur
+to move : déménager
+to bind (bound, bound) :  relier
+
+
+Vocabulary:
+a newcomer : un nouvel arrivant
+an immigration station : un poste d'émigration
+peak : de pointe
+a trend : une tendance
+citizenship : citoyenneté
+asylum : l'asile
+a border : une frontière
+the concern : l'inquiétude
+the threshold : le seuil
+a tear : une larme
+a fear : une peur
+hunger : la faim
+pain : douleur
+on your mind : a l'esprit
+sanctuary : refuge
+to step onto : poser pied sur
+a pier : une jetée
+a snort : un grognement
+fortunately : heureusement
+a hurricane : un  ouragan
+a native : un indigène
+a fee : des frais
+a washing machine = un lave linge
+housing : un logement
+bright : brillant
+as long as : tant que
+grime : saleté
+big cheers : acclamation
+doom : fatalité

+ 122 - 0
flashLearn/Revision.cpp

@@ -0,0 +1,122 @@
+#include "Revision.h"
+
+using namespace std;
+
+/// Verb >
+Verb::Verb( string mot[4] )
+{
+    for ( int i(0); i<4; i++ )
+        m_mot[i] = mot[i];
+}
+
+void Verb::afficher( unsigned int hide )
+{
+    for ( unsigned int i(0); i<4; i++ )
+    {
+        if ( i != hide )
+            cout << "???";
+        else
+            cout << m_mot[i];
+
+        cout << "  -  ";
+    }
+
+    cout << endl;
+}
+
+string Verb::get( unsigned int select )
+{
+    if ( select < 4 )
+        return m_mot[ select ];
+    return "FAILURE:HORS BORNES";
+}
+
+
+/// Revision >
+Revision::Revision():m_total(0)
+{
+    srand(time(0));
+}
+
+Revision::~Revision()
+{
+    while ( !m_file.empty() )
+    {
+        delete m_file.front();
+        m_file.pop();
+    }
+}
+
+bool Revision::load( string file )
+{
+    /// Démarrage
+    ifstream flux( file.c_str() );
+    string mot[4];
+    unsigned int n(0);
+    Verb* verbTempo;
+
+    /// Lecture
+    while ( flux >> mot[n] )
+    {
+        n++;
+        if ( n == 4 )
+        {
+            verbTempo = new Verb( mot );
+            m_file.push( verbTempo );
+            n = 0;
+            m_total++;
+        }
+    }
+
+    /// Fin
+    return 0;
+}
+
+void Revision::afficher()
+{
+    m_select = rand() % 4;
+    m_file.front()->afficher( m_select );
+}
+
+bool Revision::corriger( string saisie[3] )
+{
+    /// Vérification
+    bool exact(true);
+    unsigned int i(0), n(0);
+    for ( i = 0; i<4; i++)
+    {
+        if ( i != m_select ) {
+            if ( m_file.front()->get( i ) != saisie[n] )
+                exact = false;
+            n++;
+        }
+    }
+
+    /// Réussite
+    if ( exact ) {
+        cout << "Well done ! Progression : ";
+        cout << 100 - ( m_file.size() * 100 / m_total ) << "%" << endl;
+
+        /// Retirer de la liste
+        delete m_file.front();
+        m_file.pop();
+        if ( m_file.empty() ) return false;
+    }
+
+    /// Echec
+    else {
+        cout << "Oups ! You will try again later ..." << endl;
+        cout << "The good answer were";
+        for ( int i(0); i<4; i++ )
+            cout << ' ' << '"' << m_file.front()->get( i ) << '"';
+        cout << endl;
+
+        /// Déplacer à la fin
+        Verb* verbTempo( m_file.front() );
+        m_file.pop();
+        m_file.push( verbTempo );
+    }
+
+    cout << endl << "Next :" << endl;
+    return true;
+}

+ 39 - 0
flashLearn/Revision.h

@@ -0,0 +1,39 @@
+#ifndef REVISION_H
+#define REVISION_H
+
+#include <iostream>
+#include <string>
+#include <queue>
+#include <fstream>
+#include <cstdlib>
+#include <ctime>
+
+class Verb
+{
+    public:
+        Verb( std::string mot[4] );
+
+        void afficher( unsigned int hide );
+        std::string get( unsigned int select );
+
+    private:
+        std::string m_mot[4];
+};
+
+class Revision
+{
+    public:
+        Revision();
+        virtual ~Revision();
+
+        bool load( std::string file );// Renvoie succès ou echec
+        void afficher();
+        bool corriger( std::string saisie[3] );// Renvoie false si le test est terminé
+
+    protected:
+        unsigned int m_total;
+        std::queue<Verb*> m_file;
+        unsigned int m_select;
+};
+
+#endif // REVISION_H

+ 38 - 0
flashLearn/main.cpp

@@ -0,0 +1,38 @@
+#include "Revision.h"
+
+using namespace std;
+
+int main()
+{
+    /// Intro
+    cout << "Démarrage du LanguageRevisioner." << endl;
+    for (int i(0); i<3; i++) cout << "- - -" << endl;
+    cout << endl;
+
+    /// Init
+    Revision testeur;
+    testeur.load("Fiches/english_iv.txt");
+    string saisie[3];
+
+    /// Test
+    do
+    {
+        testeur.afficher();
+
+        for (int i(0); i<3; i++)
+            cin >> saisie[i];
+
+        if ( saisie[0] == "stop" ){
+            cout << "Exercice interrompu." << endl;
+            return 0;
+        }
+
+        cout << endl;
+
+    } while ( testeur.corriger( saisie ) );
+
+    ///Fin
+    cout << endl << "Test terminé. Vous avez bien mérité votre petite pause !" << endl;
+
+    return 0;
+}