Moyenne en c++

Fermé
Epyon - 4 août 2005 à 15:41
 Epyon - 4 août 2005 à 18:17
bonjour,

j'ai téléchargé sur internet un cours sur le C++ et je suis au chapître des flux d'entrée / sortie. Comme exemple l'auteur a fait un petit programme qui calcul la moyenne de deux chiffres entrez au clavier:

#include <stdio.h>

long double x, y;

int main(void)
{
printf("Calcul de la moyenne\n");
printf("Entrez le premier nombre : ");
scanf("%Lf", &x);
printf("\nEntrez le deuxieme nombre : ");
scanf("%Lf", &y);
printf("\nLa valeur moyenne de %Lf et de %Lf est %Lf. \n", x, y, (x+y)/2);
return 0;
}

Mais le programme ne fonctionne pas et je ne vois pas d'ou vient l'erreur le programe affiche :
Calcul de la moyenne
Entrez le premier nombre : 4

Entrez le deuxieme nombre : 3

La valeur moyenne de 4.000000 et de 0.000000 est 0.000000.

Merci de votre aide.

4 réponses

blurk Messages postés 486 Date d'inscription vendredi 16 avril 2004 Statut Membre Dernière intervention 15 mars 2009 160
4 août 2005 à 17:19
Salut,
chez moi ça fonctionne très bien,
je n'ai rien modifié et je n'ai pas trouvé d'erreur

avec certains compilateurs (mais c'est rare) on est obligé de forcer
le type long double :
 printf("\nLa valeur moyenne de %Lf et de %Lf est %Lf. \n", x, y, (long double) ((x+y)/2) ); 
a+
0
Merci de ton aide j'utilise Dev-C++ mais même en modifiant la ligne il me met toujours pareil.
0
mamiemando Messages postés 33079 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 23 avril 2024 7 749
4 août 2005 à 18:08
Bon chez moi ca marche aussi. Essaie de changer long double par double et les %Lf et %lf. Tu es spur que tu ne t'es pas trompé en recopiant ?

Par ailleurs c'est plus du C que du C++ que tu fais actuellement, car justmeent le C++ ne gère pas les flux de cette façon (cf <iostream>, std::cin, std::cout, opérateurs << et >>)
0
Merci en mettant le type en double le programme fonctionne. C'est possible que ca soit plus du c le cours commence par ce qui est commun au c et au c++ puis ce spécialise dans le c++.
0