Moyenne en langage c

Bonjour,

Je dois faire un programme qui demande à l'utilisateur un entier, l'affiche, et recommence tant
que l'entier saisi est positif ou nul. Le programme s'arrête dès que l'utilisateur entre un
entier strictement négatif. Et ensuite je dois faire en sorte qu'il calcule et affiche la moyenne des entiers positifs entrés (en ne tenant pas compte du dernier nombre entré).

J'ai fait mon programme mais je ne vois pas d'où vient mon erreur. :/

#include <stdio.h>

int main(){

int a, b, nombre;
float moyenne, compteur = 0.0;

printf("Saisissez un entier. \n");
scanf(" %d", &a);

while ((a >= 0) && (compteur >= 0.0))
{
compteur = compteur + 1;
b = a;
moyenne = a/compteur;
printf("Saisissez un entier. \n");
scanf(" %d", &a);

if ((a > 0) && (compteur == 1.0))
{
compteur = compteur + 1.0;
nombre = b + a;
moyenne = nombre/compteur;
}
else if ((a > 0) && (compteur >= 2.0))
{
compteur = compteur + 1.0;
b = nombre;
nombre = b + a;
moyenne = nombre/compteur;
}
}
printf("La moyenne des positifs entrés est %f. \n", moyenne);

return 0;}

3 réponses

  1. Je n'ai pas appris à utiliser "double", je dois faire ça seulement avec des "if", "while", "do..while", "for"...
    1. Contributeur
      Bon ben, tu oublies ma remarque sur le double.
      Pour le reste dans mon algorithme je n'ai utilisé que des if, while. Donc, tu peux continuer à avancer ;-)
    2. Que signifient les "<-" et "Somme : Reel", dans le programme que je dois écrire ?
      Merci !
    3. Modérateur
      "<-" c'est une petite flèche ← qui indique que tu mets une valeur dans une variable.
      "Somme : Reel" c'est la déclaration d'une variable avec son type de données.

      À lire de toute urgence : Les variables
    4. Je n'ai pas encore appris cela et on ne m'apprend pas le langage c avec cette façon, c'est pour ça que je ne comprends pas à quoi correspond "Somme : Reel" écrit dans un programme. :/
    5. Modérateur
      C'est parce que ce n'est pas un programme que l'on t'as donné, mais un algorithme.
      C'est à dire la manière d'exprimer des idées en faisant abstraction du formalisme du langage.
      Il est par exemple évident que tout les mots clés sont en anglais en C donc TantQue, Saisir, Afficher... tout ça ne ne peux pas être un programme C. Mais comme c'est du français, tu es censé comprendre l'idée qui est derrière, avant même de réfléchir à coder en C.