Compilation qui ne marche pas

TESCHAN66 Messages postés 66 Statut Membre -  
TESCHAN66 Messages postés 66 Statut Membre -

bonjour,j'ai un problème.voilà j'écris mon code source avec jetbrains rider,le voilà :


static double CalculMoyenne(List<double> liste)
{
double somme = 0;
foreach (double valeur in liste)
{
somme += valeur;
}
return somme / liste.Count;
}

 à la sortie,il me marque Process finished with exit code 0.donc mon code est juste mais le problème c'est que le résultat de la compilation n'apparaît pas.pouvez-vous m'aider.merci

2 réponses

luckydu43 Messages postés 4597 Statut Membre 1 068
 

Bonjour,

La fonction en elle-même ne fait qu'exécuter la moyenne mais n'affiche pas le résultat. Il faut une fonction main qui se charge de fournir des données en entrée à la fonction puis d'afficher le résultat dans la console, du type :

static void Main() {
    List<double> listeValeurs = new List<double> { 11.0, 13.0, 18.5, 15.0 };
    double moyenne = CalculMoyenne(listeValeurs);
    Console.WriteLine("Voici la moyenne : " + moyenne);
}

1
TESCHAN66 Messages postés 66 Statut Membre
 

bonjour merci,tu m'as beaucoup aider mais je ne comprends pas,le code source que je t'ai donné est tiré d'un corrigé d'exercice du tutoriel le site du zéro comment ils ont pu omettre la fonction main.merci  pour ta réponse.cordialement

0
yg_be Messages postés 24281 Statut Contributeur 1 584 > TESCHAN66 Messages postés 66 Statut Membre
 

Tout dépend du but de l'exercice.  Il ne s'agit peut-être pas d'obtenir un programme complet et fonctionnel.

1
luckydu43 Messages postés 4597 Statut Membre 1 068 > TESCHAN66 Messages postés 66 Statut Membre
 

Ça a certainement été présenté plus tôt. Pour des raisons de pédagogie et de concision, il n'est pas toujours utile de rappeler de faire un lanceur pour chaque fonction à créer. Note qu'initialiser une liste et faire une sortie console sont des aspects de programmation de base vus avant un parcours et un calcul de moyenne sur une liste. N'hésite pas à relire les chapitres précédents afin d'acquérir toutes les bases et éviter d'accumuler des lacunes que tu as déjà : tu aurais toi-même dû comprendre la cause :-) Savoir débugger et comprendre un programme sont les fondamentaux en programmation avant l'optimisation.

1
TESCHAN66 Messages postés 66 Statut Membre > yg_be Messages postés 24281 Statut Contributeur
 

bonjour,ton code source ne marche pas ,il marque :  Program.cs(3, 22): [CS0103] Le nom 'CalculMoyenne' n'existe pas dans le contexte actuel

0
luckydu43 Messages postés 4597 Statut Membre 1 068 > TESCHAN66 Messages postés 66 Statut Membre
 

Il faut que tu revoies les bases. Repars sur les chapitres précédents pour comprendre les mécanismes de contexte statique.

"le nom 'CalculMoyenne' n'existe pas dans le contexte actuel"

En C#, pour que les méthodes soient connues du même contexte sans préciser la classe, tu dois les mettre dans une même classe.

public class CalculMoyenne1 {
    static double CalculMoyenne(List<double> liste) {
        double somme = 0;
        foreach (double valeur in liste) {
            somme += valeur;
        }
        return somme / liste.Count;
    }

    static void Main() {
        List<double> listeValeurs = new List<double> { 11.0, 13.0, 18.5, 15.0 };
        double moyenne = CalculMoyenne(listeValeurs);
        Console.WriteLine("Voici la moyenne : " + moyenne);
    }
}

Vérifie bien les imports.

0
yg_be Messages postés 24281 Statut Contributeur Ambassadeur 1 584
 

bonjour, quel résultat espères-tu voir apparaître?

0