Petit different avec mon professeur de progr.

Résolu/Fermé
Signaler
Messages postés
92
Date d'inscription
dimanche 18 janvier 2009
Statut
Membre
Dernière intervention
22 novembre 2012
-
Messages postés
92
Date d'inscription
dimanche 18 janvier 2009
Statut
Membre
Dernière intervention
22 novembre 2012
-
Bonjour,
Voila , j'ai suivi les 3 premiers mois d'un dut info et on m'y a apris que l'on pouvais reutiliser un variable pour eviter que le programme soit trop lourd.


Donc voila lors d'un controle le prof me demande de creer un programme en C qui calcule une moyenne.
n'ayant eu que 4/5 je lui demande pourquoi je n'ai pas eu la totalité des points...
Voici la partie du programme qui pose probleme:
____________________________________________________________________
moy=0
for(i=o ; i<nbrnote ;i++ )
{
N=0;
printf("saisissez une note");
scanf("%f",&N);
moy=moy+N;
}
moy=moy/nbrnote;
printf("la moyenne es %f",moy);

____________________________________________________________________


Il m'explique donc que : je ne peu pas utiliser une même variable pour faire la somme des notes et pour calculer la moyenne!!!
il faudrai selon lui que je crée une variable somme ce qui me semble inutile.
Qu'en pensez vous?
peut-on reutiliser une varibale pour deux choses differentes?

Merci =))

5 réponses


Bonjour,

Ton code est bien évidemment bon, cependant je comprends la réaction de ton professeur, qui je suppose vous habitue à être rigoureux etc. Tu seras surement appelé à faire des codes complexes et réutiliser des variables comme cela peut te mener à des erreurs.
Donc je pense que pour les exercices/devoirs fait en cours, efforce toi de faire comme le demande le professeur. Après, à toi de voir la façon avec laquelle tu es le plus à l'aise.
C'est bête de la part de ton prof, parce que si le programme doit juste calculer une moyenne, ben tu peux utiliser une seule variable pour d'abord faire la somme puis diviser par le nombre de notes!!
ça serait inutile de déclarer une autre variable qui ne serait là que pour calculer une somme dont on s'en fout dans le reste du programme...
Donc, tu as raison pour ma part!
Messages postés
697
Date d'inscription
dimanche 1 novembre 2009
Statut
Membre
Dernière intervention
31 décembre 2017
146
Allez on va satisfaire tout le monde en n'utilisant qu'une seule variable:
- ce qui lève toute ambiguïté,
- ce qui gagne des octets.
double total = 0
int N = 0;
for (i=0; i<nbrnote; i++)
{
  printf("Saisissez une note: ");
  scanf("%f", &N);
  total = total + N;
}
printf("La moyenne est %f", total/nbrnote);

Bonnes réflexions à tous.
Messages postés
5290
Date d'inscription
mercredi 28 janvier 2009
Statut
Contributeur
Dernière intervention
29 mai 2016
784
Pour tous les différents de ce type que j'ai pu avoir avec mon prof d'automatisme, je lui proposait de faire un test, et de voir si ça marchait. Et si malgré les "fantaisies" ou les manques de rigueur que je m'autorisais, le programme faisait bien son boulot, il perdait ses arguments pour me dire que c'était faux.

En tout cas, ton programme répond a l'énoncé. Compile le, et fait le lui tester :)
Messages postés
92
Date d'inscription
dimanche 18 janvier 2009
Statut
Membre
Dernière intervention
22 novembre 2012
11
Hé bien , c'est déjà fiat, compilé exécuté mais rien a faire, il ne veux pas comprendre ...

Il es fier(et pas titulaire) et je pense qu'il ne veux pas qu'un élève le contredise...

Enfin pour moi c'est la même chose, je continuerais a faire comme cela quitte a faire comme cela quitte a me manger des salles notes...

Merci de vos réponses =)