[C++] Switch - case default :

Fermé
Paddington Brown - 21 janv. 2009 à 11:50
 Paddington Brown - 23 janv. 2009 à 15:53
Bonjour les humains ! :-)

Je viens de créer une instruction switch dans mon programme.

Seulement, avec mes petites pattes, je pense avoir fait une erreur. Pouvez-vous m'aider ? ;-)


Le souci, c'est qu'en tapant autre chose que 1, 2, 3 ou 4, la fonction2 se lance.
Je souhaiterais juste voir l'apparition du message "Erreur de saisie", puis la fermeture du programme.


Voici un extrait du code :

int main()
{
   int test;
   std::cout << "(1) fonction1" << std::endl;
   std::cout << "(2) fonction2" << std::endl;
   std::cout << "(3) fonction3" << std::endl;
   std::cout << "(4) fonction4" << std::endl << std::endl;
   std::cout << "Quelle fonction souhaitez-vous utiliser : ";
   std::cin >> test;


switch(test) 
  {
  case 1: fonction1();
          break;
  case 2: fonction2();
          break; 
  case 3: fonction3();
          break;
  case 4: fonction4();
          break;
  default:
          std::cout << "Erreur de saisie";
  }


system("Pause");
return 0;
}




Voilà, merci d'avance, et bonne journée à tous ! :-)

L'Ours Paddington Brown.
A voir également:

9 réponses

Bonjour l'Ours :-)

As-tu exécuté ton code en pas-à-pas pour voir si ta variable test prend la bonne valeur ?
1
Paddington Brown
21 janv. 2009 à 12:07
Bien le bonjour, GreenThumb ! :-)

Et bien, en réessayant le programme, voici ce que ça donne :


- si je tape 1, la fonction 1 s'affiche
- si je tape 2, la fonction 2 s'affiche
- si je tape 3, la fonction 3 s'affiche
- si je tape 4, la fonction 4 s'affiche

- si je tape un autre chiffre/nombre, le message "Erreur de saisie" s'affiche

- si je tape une lettre/un mot, ça lance la fonction 2.


Est-ce normal ? Merci d'avance. ;-))


Cordialement.
L'Ours Paddington Brown.
0
infosys > Paddington Brown
21 janv. 2009 à 12:38
slt!
je te conseil de faire l'un des deux solution
1 -faire un teste de controle :
declarer test comme etant une chaine de caractere
tester la var test si elle contient plus 1 caractere => un message d'erreur s'affiche
si test contien un seule caractere tu passe a la clause switch
2- limiter la saise de l'utilisateur une seul lettre; voici un algo:
declarer test comm char[1]
repeter
getch(test)// ou utiliser une fonction qui accept un seul caractere
goto(x,y) // positiionnement du curseur au debut position
jusqu'a test=ENTER
puis passer a la slause switch
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 844 > infosys
21 janv. 2009 à 12:53
Salut,
getch() c'est plutôt du C, et en plus non portable. Donc à ne pas utiliser.
Il en va de même pour goto(x,y).
Et enfin un char[1] n'est vraiment pas bon, car le \0 ne pourra pas être stockée. Autant utiliser un char tout simple.
0
Char Snipeur Messages postés 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 298
21 janv. 2009 à 12:31
ça doit être plus ou moins normal.
Remplace le type de test par char et les "case 1" par "case '1'".
ça devrais fonctionner mieux.
1
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 844
21 janv. 2009 à 13:07
Teste le programme suivant :
#include <iostream>

void fonction1(void){
    std::cout << "function 1" << std::endl;
}

void fonction2(void){
    std::cout << "function 2" << std::endl;
}

void fonction3(void){
    std::cout << "function 3" << std::endl;
}

void fonction4(void){
    std::cout << "function 4" << std::endl;
}

int main(void)
{
    int test;
    std::cout << "(1) fonction1" << std::endl;
    std::cout << "(2) fonction2" << std::endl;
    std::cout << "(3) fonction3" << std::endl;
    std::cout << "(4) fonction4" << std::endl << std::endl;
    std::cout << "Quelle fonction souhaitez-vous utiliser : ";
    std::cin >> test;
    switch(test) 
    {
        case 1: fonction1();
                break;
        case 2: fonction2();
                break; 
        case 3: fonction3();
                break;
        case 4: fonction4();
                break;
        default:
                std::cout << "Erreur de saisie" << std::endl;
    }

    std::cin.clear();
    std::cout << "presser une touche" << std::endl;
    std::cin.ignore(std::numeric_limits<int>::max(), '\n'); 
    std::cin.get();

    return 0;
}
1
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 844
21 janv. 2009 à 12:51
Salut,

Il doit y avoir une autre erreur quelque part. Car il n'y a pas d'erreurs dans le code que t'as donné ;).
Par contre évite le system("PAUSE"); à la fin. Postes-ton programme en entier, pour voir s'il n'y aurait pas une bêtise ailleurs, bien que je ne vois pas quelle genre de bêtises puisse apporter ce comportement.

Sinon, en C++, utilise simplement :
    
std::cin.ignore(std::numeric_limits<int>::max(), '\n');
std::cin.get();



Le ignore, c'est pour vider le buffer. Le petit '\n' qui peut traîner au cas où tu ne tapes pas un chiffre.
Et la deuxième ligne c'est pour attendre une lettre avant de quitter.
Cdlt
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Paddington Brown
23 janv. 2009 à 15:13
Bonjour les humains ! :-)


Mon petit programme a l'air stable. Du coup, je vais le mettre à la disposition des internautes.

Le code source se trouve ci-dessous (un petit peu long, attention !) ;-)
Pour information, c'est mon tout premier programme, et il a été créé sous Windows avec Dev-C++



Il s'agit d'une série de questions auxquelles vous devrez répondre (dans un Terminal).

- Traductions anglais - français (moitié informatique + moitié vocabulaire de la vie courante)
- Traductions français - anglais (idem)
- Le langage des sigles (que signifie SMS ? LOL ? FTP ?)
- Les adjectifs composés


Ah oui, au fait ! L'astuce de Char Snipeur fonctionne à merveille (remplacer le type de Test par CHAR)

Merci à tous ! :-)


Cordialement.
L'Ours Paddington Brown.
0
Paddington Brown
23 janv. 2009 à 15:15
/* Code source du programme infoanglais.exe */
/* Le premier programme créé par un ours (!) */

/* Vous pouvez exécuter, copier, distribuer, modifier et améliorer à souhait ce petit 'logiciel'. */
/* Une remarque ? Une critique ? Une suggestion ? PaddingtonBrown_arobase_laposte_point_net */

/* Vocabulaire informatique + sigles courants + adjectifs composés */


#include <iostream>
#include <string>

void anglais()
{
    std::string reponse;
    std::string a1 = "verify";
    std::string a2 = "check";
    std::string b = "foot-rest";
    std::string c1 = "break";
    std::string c2 = "rest";
    std::string d = "scroll_bar";
    std::string f = "knowledge";
    std::string g = "once";
    std::string h = "nickname";
    std::string i1 = "ask_for";
    std::string i2 = "solicit";
    std::string j1 = "otherwise";
    std::string j2 = "else";
    std::string k1 = "spread";
    std::string k2 = "propagate";
    std::string l = "inbox";
    std::string m = "cancel";
    std::string n = "shortcut";
    std::string o = "shoulder";
    std::string p = "avoid";
    std::string q = "hardly";
    std::string r = "nought";
    std::string s = "target";
    std::string t1 = "aim";
    std::string t2 = "goal";
    std::string u = "pedantic";
    std::string v = "allow";
    std::string w = "deaf-and-dumb";
    std::string x = "demonstration";
    std::string y = "meanwhile";
    std::string z = "responsible_for";
    std::string aa = "seldom";
    std::string ab = "unlike";
    std::string ac = "behaviour";
    std::string ad = "fuzzy";
    std::string ae = "moreover";
    
    int note = 0;
    int total = 0;
    
    std::cout << "______________________________________________________________" << std::endl << std::endl;
    
    std::cout << "Attention ! Un espace dans une reponse = un underscore _" << std::endl;
    std::cout << "Attention ! Les accents ne sont pas pris en compte !" << std::endl << std::endl;
    
    
    std::cout << "Traductions francais > anglais" << std::endl << std::endl << std::endl;
    
    
    std::cout << "Entrer la traduction du mot 'verifier' : to ";
    std::cin >> reponse;
             if (reponse == a1 || reponse == a2) {std::cout << "Bravo" << std::endl << std::endl, note++, total++;}
             else {std::cout << "Erreur : la reponse etait " << "to " << a1 << " ou " << "to " << a2 << std::endl << std::endl, total++;}
    
    
    std::cout << "Entrer la traduction du mot 'repose-pieds' : ";
    std::cin >> reponse;
             if (reponse == b) {std::cout << "Bravo" << std::endl << std::endl, note++, total++;}
             else {std::cout << "Erreur : la reponse etait " << b << std::endl << std::endl, total++;}
             
             
    std::cout << "Entrer la traduction du mot 'pause' : ";
    std::cin >> reponse;
             if (reponse == c1 || reponse == c2) {std::cout << "Bravo" << std::endl << std::endl, note++, total++;}
             else {std::cout << "Erreur : la reponse etait " << c1 << " ou " << c2 << std::endl << std::endl, total++;}
             
             
    std::cout << "Entrer la traduction du mot 'barre de defilement' : the ";
    std::cin >> reponse;
             if (reponse == d) {std::cout << "Bravo" << std::endl << std::endl, note++, total++;}
             else {std::cout << "Erreur : la reponse etait " << "the " << d << std::endl << std::endl, total++;}
             
             
    std::cout << "Entrer la traduction du mot 'connaissance' : ";
    std::cin >> reponse;
             if (reponse == f) {std::cout << "Bravo" << std::endl << std::endl, note++, total++;}
             else {std::cout << "Erreur : la reponse etait " << f << std::endl << std::endl, total++;}
             
             
    std::cout << "Entrer la traduction du mot 'une fois que' : ";
    std::cin >> reponse;
             if (reponse == g) {std::cout << "Bravo" << std::endl << std::endl, note++, total++;}
             else {std::cout << "Erreur : la reponse etait " << g << std::endl << std::endl, total++;}
             
             
    std::cout << "Entrer la traduction du mot 'surnom' : ";
    std::cin >> reponse;
             if (reponse == h) {std::cout << "Bravo" << std::endl << std::endl, note++, total++;}
             else {std::cout << "Erreur : la reponse etait " << h << std::endl << std::endl, total++;}
             
             
    std::cout << "Entrer la traduction du mot 'postuler a' : to ";
    std::cin >> reponse;
             if (reponse == i1 || reponse == i2) {std::cout << "Bravo" << std::endl << std::endl, note++, total++;}
             else {std::cout << "Erreur : la reponse etait " << "to " << i1 << " ou " << "to " << i2 << std::endl << std::endl, total++;}
             
             
    std::cout << "Entrer la traduction du mot 'sinon, autrement' : ";
    std::cin >> reponse;
             if (reponse == j1 || reponse == j2) {std::cout << "Bravo" << std::endl << std::endl, note++, total++;}
             else {std::cout << "Erreur : la reponse etait " << j1 << " ou " << j2 << std::endl << std::endl, total++;}
             
             
    std::cout << "Entrer la traduction du mot 'se propager' : to ";
    std::cin >> reponse;
             if (reponse == k1 || reponse == k2) {std::cout << "Bravo" << std::endl << std::endl, note++, total++;}
             else {std::cout << "Erreur : la reponse etait " << "to " << k1 << " ou " << "to " << k2 << std::endl << std::endl, total++;}             
             
             
    std::cout << "Entrer la traduction du mot 'boite de reception' : ";
    std::cin >> reponse;
             if (reponse == l) {std::cout << "Bravo" << std::endl << std::endl, note++, total++;}
             else {std::cout << "Erreur : la reponse etait " << l << std::endl << std::endl, total++;}
             
             
    std::cout << "Entrer la traduction du mot 'annuler' : to ";
    std::cin >> reponse;
             if (reponse == m) {std::cout << "Bravo" << std::endl << std::endl, note++, total++;}
             else {std::cout << "Erreur : la reponse etait " << "to " << m << std::endl << std::endl, total++;}
             
             
    std::cout << "Entrer la traduction du mot 'raccourci' : ";
    std::cin >> reponse;
             if (reponse == n) {std::cout << "Bravo" << std::endl << std::endl, note++, total++;}
             else {std::cout << "Erreur : la reponse etait " << n << std::endl << std::endl, total++;}
             
             
    std::cout << "Entrer la traduction du mot 'epaule' : ";
    std::cin >> reponse;
             if (reponse == o) {std::cout << "Bravo" << std::endl << std::endl, note++, total++;}
             else {std::cout << "Erreur : la reponse etait " << o << std::endl << std::endl, total++;}
             
             
    std::cout << "Entrer la traduction du mot 'eviter' : to ";
    std::cin >> reponse;
             if (reponse == p) {std::cout << "Bravo" << std::endl << std::endl, note++, total++;}
             else {std::cout << "Erreur : la reponse etait " << "to " << p << std::endl << std::endl, total++;}
             
             
    std::cout << "Entrer la traduction du mot 'a peine' : ";
    std::cin >> reponse;
             if (reponse == q) {std::cout << "Bravo" << std::endl << std::endl, note++, total++;}
             else {std::cout << "Erreur : la reponse etait " << q << std::endl << std::endl, total++;}
             
             
    std::cout << "Entrer la traduction du mot 'zero' : ";
    std::cin >> reponse;
             if (reponse == r) {std::cout << "Bravo" << std::endl << std::endl, note++, total++;}
             else {std::cout << "Erreur : la reponse etait " << r << std::endl << std::endl, total++;}
             
             
    std::cout << "Entrer la traduction du mot 'cible, objectif' : ";
    std::cin >> reponse;
             if (reponse == s) {std::cout << "Bravo" << std::endl << std::endl, note++, total++;}
             else {std::cout << "Erreur : la reponse etait " << s << std::endl << std::endl, total++;}
             
             
    std::cout << "Entrer la traduction du mot 'but' : ";
    std::cin >> reponse;
             if (reponse == t1 || reponse == t2) {std::cout << "Bravo" << std::endl << std::endl, note++, total++;}
             else {std::cout << "Erreur : la reponse etait " << t1 << " ou " << t2 << std::endl << std::endl, total++;}
             
             
    std::cout << "Entrer la traduction du mot 'pedant' : ";
    std::cin >> reponse;
             if (reponse == u) {std::cout << "Bravo" << std::endl << std::endl, note++, total++;}
             else {std::cout << "Erreur : la reponse etait " << u << std::endl << std::endl, total++;}
    
             
    std::cout << "Entrer la traduction du mot 'permettre' : ";
    std::cin >> reponse;
             if (reponse == v) {std::cout << "Bravo" << std::endl << std::endl, note++, total++;}
             else {std::cout << "Erreur : la reponse etait " << v << std::endl << std::endl, total++;}
             
             
    std::cout << "Entrer la traduction du mot 'sourd et muet' : ";
    std::cin >> reponse;
             if (reponse == w) {std::cout << "Bravo" << std::endl << std::endl, note++, total++;}
             else {std::cout << "Erreur : la reponse etait " << w << std::endl << std::endl, total++;}
             
             
    std::cout << "Entrer la traduction du mot 'manifestation' : ";
    std::cin >> reponse;
             if (reponse == x) {std::cout << "Bravo" << std::endl << std::endl, note++, total++;}
             else {std::cout << "Erreur : la reponse etait " << x << std::endl << std::endl, total++;}
             
             
    std::cout << "Entrer la traduction du mot 'pendant ce temps' : ";
    std::cin >> reponse;
             if (reponse == y) {std::cout << "Bravo" << std::endl << std::endl, note++, total++;}
             else {std::cout << "Erreur : la reponse etait " << y << std::endl << std::endl, total++;}
             
             
    std::cout << "Entrer la traduction du mot 'responsable de' (en deux mots) : ";
    std::cin >> reponse;
             if (reponse == z) {std::cout << "Bravo" << std::endl << std::endl, note++, total++;}
             else {std::cout << "Erreur : la reponse etait " << z << std::endl << std::endl, total++;}
             
             
    std::cout << "Entrer la traduction du mot 'rarement' : ";
    std::cin >> reponse;
             if (reponse == aa) {std::cout << "Bravo" << std::endl << std::endl, note++, total++;}
             else {std::cout << "Erreur : la reponse etait " << aa << std::endl << std::endl, total++;}
             
             
    std::cout << "Entrer la traduction du mot 'contrairement a' : ";
    std::cin >> reponse;
             if (reponse == ab) {std::cout << "Bravo" << std::endl << std::endl, note++, total++;}
             else {std::cout << "Erreur : la reponse etait " << ab << std::endl << std::endl, total++;}
             
             
    std::cout << "Entrer la traduction du mot 'comportement' : ";
    std::cin >> reponse;
             if (reponse == ac) {std::cout << "Bravo" << std::endl << std::endl, note++, total++;}
             else {std::cout << "Erreur : la reponse etait " << ac << std::endl << std::endl, total++;}
             
             
    std::cout << "Entrer la traduction du mot 'flou' : ";
    std::cin >> reponse;
             if (reponse == ad) {std::cout << "Bravo" << std::endl << std::endl, note++, total++;}
             else {std::cout << "Erreur : la reponse etait " << ad << std::endl << std::endl, total++;}
             
             
    std::cout << "Entrer la traduction du mot 'en outre' : ";
    std::cin >> reponse;
             if (reponse == ae) {std::cout << "Bravo" << std::endl << std::endl, note++, total++;}
             else {std::cout << "Erreur : la reponse etait " << ae << std::endl << std::endl, total++;}
    
        
    std::cout << "Vous avez obtenu la note suivante : " << note << " sur " << total << std::endl;
}


void francais()
{
    std::string reponse;
    std::string a = "trou";
    std::string b1 = "pare-feu";
    std::string b2 = "parefeu";
    std::string c = "chemin";
    std::string d = "pertinent";
    std::string e = "s'inscrire";
    std::string f = "mettre_a_jour";
    std::string g = "astucieux";
    std::string h = "drapeau";
    std::string i = "a_moins_que";
    std::string j = "bureau";
    std::string k = "arriere-plan";
    std::string l = "sante";
    std::string m1 = "contact";
    std::string m2 = "copain";
    std::string n = "expediteur";
    std::string o = "reseau";
    std::string p = "araignee";
    std::string q1 = "logiciel_espion";
    std::string q2 = "espiogiciel";
    std::string r = "itineraire";
    std::string s = "failure";
    
    int note = 0;
    int total = 0;
    
    
    std::cout << "______________________________________________________________" << std::endl << std::endl;
    
    std::cout << "Attention ! Un espace dans une reponse = un underscore _" << std::endl;
    std::cout << "Attention ! Les accents ne sont pas pris en compte !" << std::endl << std::endl;
    
    std::cout << "Traductions anglais > francais" << std::endl << std::endl << std::endl;
    
    
    std::cout << "Entrer la traduction du mot 'hole' : ";
    std::cin >> reponse;
             if (reponse == a) {std::cout << "Bravo" << std::endl << std::endl, note++, total++;}
             else {std::cout << "Erreur : la reponse etait " << a << std::endl << std::endl, total++;}
    
    
    std::cout << "Entrer la traduction du mot 'firewall' : ";
    std::cin >> reponse;
             if (reponse == b1 || reponse == b2) {std::cout << "Bravo" << std::endl << std::endl, note++, total++;}
             else {std::cout << "Erreur : la reponse etait " << b1 << std::endl << std::endl, total++;}
             
             
    std::cout << "Entrer la traduction du mot 'path' : ";
    std::cin >> reponse;
             if (reponse == c) {std::cout << "Bravo" << std::endl << std::endl, note++, total++;}
             else {std::cout << "Erreur : la reponse etait " << c << std::endl << std::endl, total++;}
             
             
    std::cout << "Entrer la traduction du mot 'relevant' : ";
    std::cin >> reponse;
             if (reponse == d) {std::cout << "Bravo" << std::endl << std::endl, note++, total++;}
             else {std::cout << "Erreur : la reponse etait " << d << std::endl << std::endl, total++;}
             
                   
    std::cout << "Entrer la traduction du mot 'to sign up' : ";
    std::cin >> reponse;
             if (reponse == e) {std::cout << "Bravo" << std::endl << std::endl, note++, total++;}
             else {std::cout << "Erreur : la reponse etait " << e << std::endl << std::endl, total++;}
             
             
    std::cout << "Entrer la traduction du mot 'to upgrade' : ";
    std::cin >> reponse;
             if (reponse == f) {std::cout << "Bravo" << std::endl << std::endl, note++, total++;}
             else {std::cout << "Erreur : la reponse etait " << f << std::endl << std::endl, total++;}
             
    
    std::cout << "Entrer la traduction du mot 'tricky' : ";
    std::cin >> reponse;
             if (reponse == g) {std::cout << "Bravo" << std::endl << std::endl, note++, total++;}
             else {std::cout << "Erreur : la reponse etait " << g << std::endl << std::endl, total++;}
             
             
    std::cout << "Entrer la traduction du mot 'flag' : ";
    std::cin >> reponse;
             if (reponse == h) {std::cout << "Bravo" << std::endl << std::endl, note++, total++;}
             else {std::cout << "Erreur : la reponse etait " << h << std::endl << std::endl, total++;}
             
             
    std::cout << "Entrer la traduction du mot 'unless' : ";
    std::cin >> reponse;
             if (reponse == i) {std::cout << "Bravo" << std::endl << std::endl, note++, total++;}
             else {std::cout << "Erreur : la reponse etait " << i << std::endl << std::endl, total++;}
             
             
    std::cout << "Entrer la traduction du mot 'desktop' : ";
    std::cin >> reponse;
             if (reponse == j) {std::cout << "Bravo" << std::endl << std::endl, note++, total++;}
             else {std::cout << "Erreur : la reponse etait " << j << std::endl << std::endl, total++;}
             
    
    std::cout << "Entrer la traduction du mot 'background' : ";
    std::cin >> reponse;
             if (reponse == k) {std::cout << "Bravo" << std::endl << std::endl, note++, total++;}
             else {std::cout << "Erreur : la reponse etait " << k << std::endl << std::endl, total++;}
                          
                          
    std::cout << "Entrer la traduction du mot 'health' : ";
    std::cin >> reponse;
             if (reponse == l) {std::cout << "Bravo" << std::endl << std::endl, note++, total++;}
             else {std::cout << "Erreur : la reponse etait " << l << std::endl << std::endl, total++;}
                          
                          
    std::cout << "Entrer la traduction du mot 'buddy' : ";
    std::cin >> reponse;
             if (reponse == m1 || reponse == m2) {std::cout << "Bravo" << std::endl << std::endl, note++, total++;}
             else {std::cout << "Erreur : la reponse etait " << m1 << " ou " << m2 << std::endl << std::endl, total++;}
                          
                          
    std::cout << "Entrer la traduction du mot 'sender' : ";
    std::cin >> reponse;
             if (reponse == n) {std::cout << "Bravo" << std::endl << std::endl, note++, total++;}
             else {std::cout << "Erreur : la reponse etait " << n << std::endl << std::endl, total++;}
        
        
    std::cout << "Entrer la traduction du mot 'network' : ";
    std::cin >> reponse;
             if (reponse == o) {std::cout << "Bravo" << std::endl << std::endl, note++, total++;}
             else {std::cout << "Erreur : la reponse etait " << o << std::endl << std::endl, total++;}
                 
                 
    std::cout << "Entrer la traduction du mot 'spider' : ";
    std::cin >> reponse;
             if (reponse == p) {std::cout << "Bravo" << std::endl << std::endl, note++, total++;}
             else {std::cout << "Erreur : la reponse etait " << p << std::endl << std::endl, total++;}
                 
                 
    std::cout << "Entrer la traduction du mot 'spyware' : ";
    std::cin >> reponse;
             if (reponse == q1 || reponse == q2) {std::cout << "Bravo" << std::endl << std::endl, note++, total++;}
             else {std::cout << "Erreur : la reponse etait " << q1 << " ou " << q2 << std::endl << std::endl, total++;}
             
             
    std::cout << "Entrer la traduction du mot 'route' : ";
    std::cin >> reponse;
             if (reponse == r) {std::cout << "Bravo" << std::endl << std::endl, note++, total++;}
             else {std::cout << "Erreur : la reponse etait " << r << std::endl << std::endl, total++;}    
             
    std::cout << "Entrer la traduction du mot 'echec' : ";
    std::cin >> reponse;
             if (reponse == s) {std::cout << "Bravo" << std::endl << std::endl, note++, total++;}
             else {std::cout << "Erreur : la reponse etait " << s << std::endl << std::endl, total++;}
    
    
std::cout << "Vous avez obtenu la note suivante : " << note << " sur " << total << std::endl; 
}


void sigles()
{
    std::string reponse;
    std::string a = "Uniform_Ressource_Locator";
    std::string b = "Universal_Serial_Bus";
    std::string c = "File_Transfer_Protocol";
    std::string d = "Hyper_Text_Transfer_Protocol";
    std::string e = "Extremely_Low_Frequency";
    std::string f = "Operating_System";
    std::string g = "Graphical_User_Interface";
    std::string h = "Central_Processing_Unit";
    std::string i = "Random_Access_Memory";
    std::string j = "Read_Only_Memory";
    std::string k = "Hyper_Text_Markup_Language";
    std::string l = "Compact_Disc";
    std::string m = "Digital_Versatile_Disc";
    std::string n = "Laughing_Out_Loud";
    std::string o = "Short_Message_Service";
    std::string p = "Personal_Computer";
    std::string q = "British_Broadcasting_Corporation";
    std::string r = "Frequency_Modulation";
    std::string s = "Liquid_Crystal_Display";
    std::string t = "World_Wide_Web";
    std::string u = "Internet_Service_Provider";

    int note = 0;
    int total = 0;
    
    std::cout << "______________________________________________________________" << std::endl << std::endl;
    
    std::cout << "Attention ! Un espace dans une reponse = un underscore _" << std::endl;
    std::cout << "Attention ! Les accents ne sont pas pris en compte !" << std::endl << std::endl;
    
    std::cout << "Sigles" << std::endl << std::endl << std::endl;
    
    
    std::cout << "Que signifie le sigle URL : ";
    std::cin >> reponse;
             if (reponse == a) {std::cout << "Bravo" << std::endl << std::endl, note++, total++;}
             else {std::cout << "Erreur : la reponse etait " << a << std::endl << std::endl, total++;}
    
    
    std::cout << "Que signifie le sigle USB : ";
    std::cin >> reponse;
             if (reponse == b) {std::cout << "Bravo" << std::endl << std::endl, note++, total++;}
             else {std::cout << "Erreur : la reponse etait " << b << std::endl << std::endl, total++;}
             
             
    std::cout << "Que signifie le sigle FTP : ";
    std::cin >> reponse;
             if (reponse == c) {std::cout << "Bravo" << std::endl << std::endl, note++, total++;}
             else {std::cout << "Erreur : la reponse etait " << c << std::endl << std::endl, total++;}
             
             
    std::cout << "Que signifie le sigle HTTP : ";
    std::cin >> reponse;
             if (reponse == d) {std::cout << "Bravo" << std::endl << std::endl, note++, total++;}
             else {std::cout << "Erreur : la reponse etait " << d << std::endl << std::endl, total++;}
             
             
    std::cout << "Que signifie le sigle ELF : ";
    std::cin >> reponse;
             if (reponse == e) {std::cout << "Bravo" << std::endl << std::endl, note++, total++;}
             else {std::cout << "Erreur : la reponse etait " << e << std::endl << std::endl, total++;}
             
             
    std::cout << "Que signifie le sigle OS : ";
    std::cin >> reponse;
             if (reponse == f) {std::cout << "Bravo" << std::endl << std::endl, note++, total++;}
             else {std::cout << "Erreur : la reponse etait " << f << std::endl << std::endl, total++;}
             
             
    std::cout << "Que signifie le sigle GUI : ";
    std::cin >> reponse;
             if (reponse == g) {std::cout << "Bravo" << std::endl << std::endl, note++, total++;}
             else {std::cout << "Erreur : la reponse etait " << g << std::endl << std::endl, total++;}
             
             
    std::cout << "Que signifie le sigle CPU : ";
    std::cin >> reponse;
             if (reponse == h) {std::cout << "Bravo" << std::endl << std::endl, note++, total++;}
             else {std::cout << "Erreur : la reponse etait " << h << std::endl << std::endl, total++;}
             
             
    std::cout << "Que signifie le sigle RAM : ";
    std::cin >> reponse;
             if (reponse == i) {std::cout << "Bravo" << std::endl << std::endl, note++, total++;}
             else {std::cout << "Erreur : la reponse etait " << i << std::endl << std::endl, total++;}
             
             
    std::cout << "Que signifie le sigle ROM : ";
    std::cin >> reponse;
             if (reponse == j) {std::cout << "Bravo" << std::endl << std::endl, note++, total++;}
             else {std::cout << "Erreur : la reponse etait " << j << std::endl << std::endl, total++;}
             
             
    std::cout << "Que signifie le sigle HTML : ";
    std::cin >> reponse;
             if (reponse == k) {std::cout << "Bravo" << std::endl << std::endl, note++, total++;}
             else {std::cout << "Erreur : la reponse etait " << k << std::endl << std::endl, total++;}             
             
             
    std::cout << "Que signifie le sigle CD : ";
    std::cin >> reponse;
             if (reponse == l) {std::cout << "Bravo" << std::endl << std::endl, note++, total++;}
             else {std::cout << "Erreur : la reponse etait " << l << std::endl << std::endl, total++;}
             
             
    std::cout << "Que signifie le sigle DVD : ";
    std::cin >> reponse;
             if (reponse == m) {std::cout << "Bravo" << std::endl << std::endl, note++, total++;}
             else {std::cout << "Erreur : la reponse etait " << m << std::endl << std::endl, total++;}
             
             
    std::cout << "Que signifie le sigle LOL : ";
    std::cin >> reponse;
             if (reponse == n) {std::cout << "Bravo" << std::endl << std::endl, note++, total++;}
             else {std::cout << "Erreur : la reponse etait " << n << std::endl << std::endl, total++;}
             
             
    std::cout << "Que signifie le sigle SMS : ";
    std::cin >> reponse;
             if (reponse == o) {std::cout << "Bravo" << std::endl << std::endl, note++, total++;}
             else {std::cout << "Erreur : la reponse etait " << o << std::endl << std::endl, total++;}
             
             
    std::cout << "Que signifie le sigle PC : ";
    std::cin >> reponse;
             if (reponse == p) {std::cout << "Bravo" << std::endl << std::endl, note++, total++;}
             else {std::cout << "Erreur : la reponse etait " << p << std::endl << std::endl, total++;}
             
             
    std::cout << "Que signifie le sigle BBC : ";
    std::cin >> reponse;
             if (reponse == q) {std::cout << "Bravo" << std::endl << std::endl, note++, total++;}
             else {std::cout << "Erreur : la reponse etait " << q << std::endl << std::endl, total++;}
             
             
    std::cout << "Que signifie le sigle FM : ";
    std::cin >> reponse;
             if (reponse == r) {std::cout << "Bravo" << std::endl << std::endl, note++, total++;}
             else {std::cout << "Erreur : la reponse etait " << r << std::endl << std::endl, total++;}
             
             
    std::cout << "Que signifie le sigle LCD : ";
    std::cin >> reponse;
             if (reponse == s) {std::cout << "Bravo" << std::endl << std::endl, note++, total++;}
             else {std::cout << "Erreur : la reponse etait " << s << std::endl << std::endl, total++;}
             
             
    std::cout << "Que signifie le sigle WWW : ";
    std::cin >> reponse;
             if (reponse == t) {std::cout << "Bravo" << std::endl << std::endl, note++, total++;}
             else {std::cout << "Erreur : la reponse etait " << t << std::endl << std::endl, total++;}

    std::cout << "Que signifie le sigle ISP : ";
    std::cin >> reponse;
             if (reponse == u) {std::cout << "Bravo" << std::endl << std::endl, note++, total++;}
             else {std::cout << "Erreur : la reponse etait " << u << std::endl << std::endl, total++;}


std::cout << "Vous avez obtenu la note suivante : " << note << " sur " << total << std::endl;
}


void adjectifs()
{
    std::string reponse;
    std::string a = "hard-working";
    std::string b = "sun-tanned";
    std::string c = "handwritten";
    std::string d = "user-friendly";
    std::string e = "well-brought_up";
    std::string f = "open-minded";
    std::string g = "dark-blue";
    std::string h = "two-door";
    std::string i = "one-legged";
    std::string j = "red-haired";
    std::string k = "good-looking";
    std::string l = "ten-year-old";
    std::string m = "never-ending";
    std::string n = "green-eyed";
    std::string o = "nasty-smelling";
        
    int note = 0;
    int total = 0;
    
    std::cout << "______________________________________________________________" << std::endl << std::endl;
    
    std::cout << "Attention ! Un espace dans une reponse = un underscore _" << std::endl;
    std::cout << "Attention ! Les accents ne sont pas pris en compte !" << std::endl << std::endl;
    
    std::cout << "Adjectifs composés" << std::endl << std::endl << std::endl;
    
    
    std::cout << "Entrer la traduction de la phrase 'une fille qui travaille dur' (a ... woman) : ";
    std::cin >> reponse;
             if (reponse == a) {std::cout << "Bravo" << std::endl << std::endl, note++, total++;}
             else {std::cout << "Erreur : la reponse etait " << a << std::endl << std::endl, total++;}
             
             
    std::cout << "Entrer la traduction du mot 'bronzé' : ";
    std::cin >> reponse;
             if (reponse == b) {std::cout << "Bravo" << std::endl << std::endl, note++, total++;}
             else {std::cout << "Erreur : la reponse etait " << b << std::endl << std::endl, total++;}
                    
                    
    std::cout << "Entrer la traduction du mot 'ecrite a la main' : ";
    std::cin >> reponse;
             if (reponse == c) {std::cout << "Bravo" << std::endl << std::endl, note++, total++;}
             else {std::cout << "Erreur : la reponse etait " << c << std::endl << std::endl, total++;}


    std::cout << "Entrer la traduction du mot 'convivial' : ";
    std::cin >> reponse;
             if (reponse == d) {std::cout << "Bravo" << std::endl << std::endl, note++, total++;}
             else {std::cout << "Erreur : la reponse etait " << d << std::endl << std::endl, total++;}
             
             
    std::cout << "Entrer la traduction du mot 'bien eleve' : ";
    std::cin >> reponse;
             if (reponse == e) {std::cout << "Bravo" << std::endl << std::endl, note++, total++;}
             else {std::cout << "Erreur : la reponse etait " << e << std::endl << std::endl, total++;}
             
             
    std::cout << "Entrer la traduction de la phrase 'un homme a l'esprit ouvert' (an ... man) : ";
    std::cin >> reponse;
             if (reponse == f) {std::cout << "Bravo" << std::endl << std::endl, note++, total++;}
             else {std::cout << "Erreur : la reponse etait " << f << std::endl << std::endl, total++;}
             
             
    std::cout << "Entrer la traduction de la phrase 'bleu fonce' : ";
    std::cin >> reponse;
             if (reponse == g) {std::cout << "Bravo" << std::endl << std::endl, note++, total++;}
             else {std::cout << "Erreur : la reponse etait " << g << std::endl << std::endl, total++;}
             
             
    std::cout << "Entrer la traduction de la phrase 'une voiture à deux portes' (a ... car) : ";
    std::cin >> reponse;
             if (reponse == h) {std::cout << "Bravo" << std::endl << std::endl, note++, total++;}
             else {std::cout << "Erreur : la reponse etait " << h << std::endl << std::endl, total++;} 
             
             
    std::cout << "Entrer la traduction de la phrase 'un homme unijambiste' (a ... man) : ";
    std::cin >> reponse;
             if (reponse == i) {std::cout << "Bravo" << std::endl << std::endl, note++, total++;}
             else {std::cout << "Erreur : la reponse etait " << i << std::endl << std::endl, total++;}
             
             
    std::cout << "Entrer la traduction de la phrase 'une fille aux cheveux roux' (a ... girl) : ";
    std::cin >> reponse;
             if (reponse == j) {std::cout << "Bravo" << std::endl << std::endl, note++, total++;}
             else {std::cout << "Erreur : la reponse etait " << j << std::endl << std::endl, total++;}
             
    
    std::cout << "Entrer la traduction de la phrase 'beau' (a ... man) : ";
    std::cin >> reponse;
             if (reponse == k) {std::cout << "Bravo" << std::endl << std::endl, note++, total++;}
             else {std::cout << "Erreur : la reponse etait " << k << std::endl << std::endl, total++;}
             
    
    std::cout << "Entrer la traduction de la phrase 'un enfant de 10 ans' (a ... child) : ";
    std::cin >> reponse;
             if (reponse == l) {std::cout << "Bravo" << std::endl << std::endl, note++, total++;}
             else {std::cout << "Erreur : la reponse etait " << l << std::endl << std::endl, total++;}
             
             
    std::cout << "Entrer la traduction de la phrase 'une histoire sans fin' (a ... story) : ";
    std::cin >> reponse;
             if (reponse == m) {std::cout << "Bravo" << std::endl << std::endl, note++, total++;}
             else {std::cout << "Erreur : la reponse etait " << m << std::endl << std::endl, total++;}
             
             
    std::cout << "Entrer la traduction de la phrase 'un garcon aux yeux verts' (a ... boy) : ";
    std::cin >> reponse;
             if (reponse == n) {std::cout << "Bravo" << std::endl << std::endl, note++, total++;}
             else {std::cout << "Erreur : la reponse etait " << n << std::endl << std::endl, total++;}


    std::cout << "Entrer la traduction de la phrase 'une poubelle qui sent mauvais' (a ... garbage) : ";
    std::cin >> reponse;
             if (reponse == o) {std::cout << "Bravo" << std::endl << std::endl, note++, total++;}
             else {std::cout << "Erreur : la reponse etait " << o << std::endl << std::endl, total++;}


std::cout << "Vous avez obtenu la note suivante : " << note << " sur " << total << std::endl;
}



int main()
{
    
char choix;
    std::cout << "L'ANGLAIS EN INFORMATIQUE" << std::endl << std::endl;
    std::cout << "(1) Traductions francais > anglais" << std::endl;
    std::cout << "(2) Traductions anglais  > francais" << std::endl;
    std::cout << "(3) Le langage des sigles" << std::endl;
    std::cout << "(4) Adjectifs composes" << std::endl << std::endl;
    std::cout << "Faites votre choix : ";
    std::cin >> choix;
    
    
switch(choix) 
  {
  case '1': anglais();
          break;
  case '2': francais();
          break; 
  case '3': sigles();
          break;
  case '4': adjectifs();
          break;
  default:
          std::cout << "Erreur de saisie" << std::endl << std::endl;
  }
  
    system("Pause");
    return 0;
}
0
Char Snipeur Messages postés 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 298
23 janv. 2009 à 15:38
Houlà ! C'est du bourrin comme programmation !
En créant des fonctions, on doit pouvoir réduire le nombre de ligne d'un facteur trois ou quatre.
Faire une boucle en utilisant des tableaux plutôt que des variables différentes.
ça pourrait te faire un bon exercice. L'interet serait aussi ensuite de le faire évoluer vers un programme évolutif, où tu lui donnerai un fichier qu'il lirait et à partir duquel il poserait les questions.
0
Paddington Brown
23 janv. 2009 à 15:47
Houlà ! C'est du bourrin comme programmation !

A ce point-là ! :-D


J'ai quelques notions de base, mais là, partie "Tableaux" et "Lecture de fichier", je nage. :-)
(et pourtant, les ours sont les rois de la natation...)

Bon après-midi, et encore merci de m'avoir aidé !
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 844
23 janv. 2009 à 15:42
Salut,
Il aurait été plus simple de faire sous formes de tableaux. D'une part ça aurait été plus facilement maintenable et beaucoup plus court.
Par exemple, un tableau de String pour les questions. Un autre tableau de String pour les réponses dont chaque indice correspondant à la question. Ou tout simplement un tableau à deux dimensions.
Un autre avantage est que tu pourras facilement gérer les questions par un fichier externe.

Cdlt
0
Paddington Brown
23 janv. 2009 à 15:51
Merci de ta réponse, je vais étudier tout ça :-)

Bon après-midi !


Cordialement.
L'Ours Paddington Brown.
0
Paddington Brown
23 janv. 2009 à 15:53
On parle de tableaux en C++ sur ce site : https://forums.commentcamarche.net/forum/affich-37622084-les-tableaux-en-langage-c

Les variables, telles que nous les avons vues, ne permettent de stocker qu'une seule donnée à la fois. Or, pour de nombreuses données, comme cela est souvent le cas, des variables distinctes seraient beaucoup trop lourdes à gérer. Heureusement, le langage C++ propose des structures de données permettant de stocker l'ensemble de ces données dans une « variable commune ».

:-)
0