1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75
| #include <iostream> // ça, tout le monde connaît !
#include <string> // pour les chaînes de caractères
#include <fstream> // pour lire dans les fichiers .txt
#include <vector> // pour pouvoir utiliser les vecteurs
#include <ctime> // pour les nombres aléatoires
using namespace std;
int aleatoire(const int min, const int max)
{
return (int)(min+((float) rand()/RAND_MAX*(max - min + 1)));
}
void traduction(vector<string>& tabCherche, vector<string>& tabRes, int alea)
{
string traduc;
cout << "Traduisez le mot suivant : " << tabCherche[alea] << " : ";
cin >> traduc;
if(traduc == tabRes[alea]) //je vérifie la traduction
cout << "Tres bien" << endl << endl;
else if(traduc == "0000") // condition d'arrêt
{
cout << endl;
cout << "Fin du test" << endl << endl;
exit(0);
}
else
cout << "Eh ben non, la bonne reponse est : " << tabRes[alea] << endl << endl;
}
int main()
{
const int min = 0;
const int max = 1;
srand((unsigned) time(NULL)); // sert à initialiser le rand()
vector<string> tabfr; // les vecteurs se déclarent comme ceci !
vector<string> taban;
string mot; // chaîne intermédiaire servant à stocker le mot dans le vecteur
ifstream fichierAnglais("anglais.txt", ios::in); // ouverture lecture seule
ifstream fichierFrancais("francais.txt", ios::in);
if(fichierAnglais && fichierFrancais)
{
while(getline(fichierAnglais, mot)) // tant qu'on peut lire dans le fichier
{
taban.push_back(mot); // pour rajouter dans un vecteur
getline(fichierFrancais, mot);
tabfr.push_back(mot);
}
fichierAnglais.close(); // fermeture des fichiers
fichierFrancais.close();
}
else
{
cerr << "Impossible d'ouvrir un des 2 fichiers !" << endl;
exit(1);
}
for(int j = 0; j < 100; j++)
{
int alea2 = aleatoire(min, max);
int alea = aleatoire(min, tabfr.size()-1); // le -1 car dans un vecteur, on compte à partir de 0
if(alea2 == 0) // si c'est 0, il demande un mot français
traduction(taban, tabfr, alea);
else // sinon, il demande un mot anglais
traduction(tabfr, taban, alea);
}
return 0;
} |
Partager