Erreurs dans un code

N2A_R Messages postés 4 Date d'inscription   Statut Membre Dernière intervention   -  
 Utilisateur anonyme -
Bonjour, j'ai un problème dans mon code. En fait, dans l'avant dernière ligne du code (le calcul du cumulatif), toutes les variables sauf la variable cumulatif sont surlignés en rouge et le programme les détecte comme une erreur, pourriez-vous m'aider ?
Voici le code :

string reponse1, reponse2, reponse3, reponse4;
            int cumulatif,reponse5, reponse6, reponse8, reponse7;
            Console.WriteLine("Entrez la réponse de la question 1");
            reponse1 = Console.ReadLine();
            if (reponse1 == "b")
                Console.WriteLine("Bravo");
            else
                Console.WriteLine("Attention");
            Console.WriteLine("Entrez la réponse de la question 2");
            reponse2 = Console.ReadLine();
            if (reponse2 == "a" || reponse2 == "d")
                Console.WriteLine("Bravo");
            else
                Console.WriteLine("Attention");
            Console.WriteLine("Entrez la réponse de la question 3");
            reponse3 = Console.ReadLine();
            if (reponse3 == "c")
                Console.WriteLine("Bravo");
            else
                Console.WriteLine("Attention");
            Console.WriteLine("Entrez la réponse de la question 4");
            reponse4 = Console.ReadLine();
            if (reponse4 == "d" || reponse4 == "e")
                Console.WriteLine("Bravo");
            else
                Console.WriteLine("Attention");
            
            switch(reponse1) {
                case "b": reponse5 = 15;
                    break;
            }
            switch (reponse2)
            {
                case "a": reponse6=15;
                    break;
                case "d": reponse6 = 15;
                    break;
            }
            switch (reponse3)
            {
                case "c": reponse7 = 15;
                    break;
            }
            switch(reponse4) {
                case "d": reponse8 = 15;
                    break;
                case "e":reponse8 = 15;
                break;
                    
            }
            cumulatif = reponse5 + reponse6 + reponse7 + reponse8;
            
            Console.WriteLine("Le cumulatif est de " + cumulatif+"%");


Merci d'avance pour votre aide
Le but du code est de demander à l'utilisateur de rentrer une valeur, puis on lui affiche un message. En suite, on additionne le nombre de bonne valeurs (25% pour chaque bonne valeur) et on lui affiche le résultat final.




A voir également:

1 réponse

Utilisateur anonyme
 
Bonsoir,

Pour que tu puisses ajouter les variables, il faut qu'elles aient un contenu, une valeur. Les déclarer ne suffit pas.

Le compilateur détecte qu'il existe au moins un chemin dans tes if et ton switch par lequel ces variables n'ont pas de valeurs.

Le plus simple pour régler ce genre de problème est de les déclarer et les initialiser à une valeur par défaut, 0 par exemple.
0
Utilisateur anonyme
 
  switch (reponse2)
            {
                case "a": reponse6=15;
                    break;
                case "d": reponse6 = 15;
                    break;
            }


Peut se réduire à
  switch (reponse2)
            {
                case "a": 
                case "d": 
                    reponse6 = 15;
                    break;
            }


Tu pourrais aussi régler ton pb comme ça
  switch (reponse2)
            {
                case "a": 
                case "d": 
                    reponse6 = 15;
                    break;
                default:
                    reponse6 = 0;
                    break;
            }
0