[C++] Lecture du flot d'entrée

Résolu/Fermé
Paddington Brown - 11 janv. 2009 à 10:15
 Paddington Brown - 11 janv. 2009 à 11:32
Bonjour,

encore débutant en C++, j'ai besoin à nouveau de votre aide.

Je voudrais faire un programme simple, dont voici les caractéristiques :

- Le terminal me demande une traduction à effectuer (exemple : "chat" en anglais)
- J'entre la traduction au clavier, et j'appuie sur Entrée
- Si la traduction est bonne, le terminal affiche "Bravo"
- Si la traduction est mauvaise, le terminal affiche "Erreur"
- Le terminal me demande une autre traduction...
- etc.
- A la fin du test, j'obtiens une note qui correspond au nombre de questions réussies


Ce que je n'arrive pas à faire, c'est faire en sorte que le programme lise le flot d'entrée, et compare ce que j'ai écrit avec la bonne traduction.


#include <iostream>
#include <string>

int traduction()
{
std::string a;
int note = 0;
std::cout << "Quelle est la traduction anglaise de "chat" ? ";
std:: cin >> a;

       if (a = 'cat') 
       {std::cout << "Bravo" << std::endl;
        note++;
       }

       else
       {std::cout << "Erreur" << std::endl;
       }

std::string b;
std::cout << "Quelle est.....";
std::cin >> b;

etc.

return b;
}


int main()
{
traduction();
system("Pause");
return 0;
}



Ne soyez pas effrayés en lisant mon code, hein ! :-)

Merci d'avance.


Cordialement.

L'Ours Paddington.
A voir également:

2 réponses

Paddington Brown
11 janv. 2009 à 10:16
Et voila, je me suis trompé en tapant mon code ...

A la fin de la fonction traduction, il faut lire return note; et non return b;

:-)
0
Paddington Brown
11 janv. 2009 à 11:32
J'ai finalement trouvé une syntaxe convenable. :-)

Pour celles et ceux que ça intéresse, je poste mon code source ici :

#include <iostream>
#include <string>

void traduction()
{
    std::string a;
    std::string b = "cat";
    std::string d = "dog";
    std::string e = "mouse";
    int c = 0;
    
    std::cout << "Entrer la traduction du mot chat : ";
    std::cin >> a;
             if (a == b) {std::cout << "Bravo" << std::endl, c++;}
             else {std::cout << "Erreur" << std::endl;}
    
    std::cout << "Entrer la traduction du mot chien : ";
    std::cin >> a;
             if (a == d) {std::cout << "Bravo" << std::endl, c++;}
             else {std::cout << "Erreur" << std::endl;}
             
    std::cout << "Entrer la traduction du mot souris : ";
    std::cin >> a;
             if (a == e) {std::cout << "Bravo" << std::endl, c++;}
             else {std::cout << "Erreur" << std::endl;}
    
std::cout << "Vous avez obtenu la note " << c << std::endl;
}

int main()
{
    traduction();
    system("Pause");
    return 0;
}



Bon appétit et bon après-midi ! :-)
0