Exo langage C

Fermé
diazendo Messages postés 25 Date d'inscription mercredi 9 février 2011 Statut Membre Dernière intervention 4 juin 2012 - 2 avril 2011 à 10:57
diazendo Messages postés 25 Date d'inscription mercredi 9 février 2011 Statut Membre Dernière intervention 4 juin 2012 - 2 avril 2011 à 13:43
j'aimerais savoir comment faire pour que le programme exclut les caracteres et les notes au dessus de 20


#include <stdio.h>
#include<conio.h>//getch()
main()
{
int i=0;
float somme=0,
note=0;
printf("entrez des notes entre 0 et 20, pour quitter entrez un nombre negatif \n");
while (note>=0)
{
printf("Entrez une note: \n");
fflush(stdin);
scanf("%f", ¬e);
somme = somme+note;
i = i+1;
}
if (i<=20)
{
somme = somme-note;
somme = somme / (i-1);
printf("moyenne de ces notes:%f\n",somme);
}
else
getch();
}
A voir également:

11 réponses

jojo150393 Messages postés 330 Date d'inscription samedi 12 septembre 2009 Statut Membre Dernière intervention 29 juillet 2015 23
2 avril 2011 à 11:44
while (note>=0 || note <=20)

sa revient a faire un encadrement en math : 0>= x <= 20 ;

Pour les caracteres je sais pas trop. Normalement sa ne devrait pas les accepter car ton scanf permet prendre que des types float et donc des nombres.

Je suis qu'amateur donc si je dis des bêtises ne me gueulais pas trop dessus ^^
0
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 419
2 avril 2011 à 11:46
Bonjour,

S'il vous plaît
Merci
Au revoir
etc.
Sont monnaie courante quand on veut obtenir quelque chose !

Saine lecture...
A voir aussi

Merci de votre compréhension.

Demander de l'aide pour vos exercices sur CCM

;-)
0
diazendo Messages postés 25 Date d'inscription mercredi 9 février 2011 Statut Membre Dernière intervention 4 juin 2012
2 avril 2011 à 11:53
ho non merci jojo ca m'aide bien ca m'a permis d'avancer mais maintenant kansd je tape -1 par exemple ca sort pas.
0
jojo150393 Messages postés 330 Date d'inscription samedi 12 septembre 2009 Statut Membre Dernière intervention 29 juillet 2015 23
2 avril 2011 à 11:57
si tu veux aussi accpeter des nombres négatifs ( bisard pour des notes mais bon...) tu met : while(note<=20 )
ainsi, ton programme s'executera tant que tes notes seront inférieurs à 20.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
diazendo Messages postés 25 Date d'inscription mercredi 9 février 2011 Statut Membre Dernière intervention 4 juin 2012
2 avril 2011 à 12:01
non en fait quand je met une note negative ca doit faire le calcul de la moyenne!
0
jojo150393 Messages postés 330 Date d'inscription samedi 12 septembre 2009 Statut Membre Dernière intervention 29 juillet 2015 23
2 avril 2011 à 12:20
voila ton programme qui marche bien normalement.


#include <stdio.h>
#include <stdlib.h>

int main()
{
// initialisation des variables
float note = 0;
float somme = 0;
int nombre_note = 0; // dans ton programme je crois que c'était i, pense a bien donner des noms de variable qui permettent une meilleur compréhension

float moyenne = 0;


//pour mieux condenser ton code tu peux initialiser tes variables comme sa :
float note, somme;
int nombre_note;
nombre_note = somme = note =0;

while(1) //boucle infini
{
printf("entrez une note:");
scanf("%f", ¬e); // l'utilisateur rentre sa note

if (note <= 20 && note >= 0) // i la note et compris entre 0 et 20 .... ( le "&&" veut dire "ET" et "||" veut dire "OU)
{
nombre_note++; //on augmente le nombre de note
somme = somme + note ; //on incrémente somme avec la nouvelle note
}

if (note < 0) //si la note est negative, alors on casse la boucle infinie
{
break;
}

}


moyenne = somme / nombre_note ; //la moyenne est la somme des notes divisé par le nombre de note

printf("%f", moyenne); //on affiche la moyenne .


return 0;
}
0
jojo150393 Messages postés 330 Date d'inscription samedi 12 septembre 2009 Statut Membre Dernière intervention 29 juillet 2015 23
2 avril 2011 à 12:37
alors bien ou pas bien ?
0
diazendo Messages postés 25 Date d'inscription mercredi 9 février 2011 Statut Membre Dernière intervention 4 juin 2012
2 avril 2011 à 13:20
hé ben t'es un pro toi !merci
0
diazendo Messages postés 25 Date d'inscription mercredi 9 février 2011 Statut Membre Dernière intervention 4 juin 2012
2 avril 2011 à 13:19
oui mais en fait le i sur mon programme c'est le compteur !
0
jojo150393 Messages postés 330 Date d'inscription samedi 12 septembre 2009 Statut Membre Dernière intervention 29 juillet 2015 23
2 avril 2011 à 13:23
ouais ben c'est donc le nombre de note que rentre l'utilisateur non?
0
diazendo Messages postés 25 Date d'inscription mercredi 9 février 2011 Statut Membre Dernière intervention 4 juin 2012
2 avril 2011 à 13:25
oui c'est bien ca
0
jojo150393 Messages postés 330 Date d'inscription samedi 12 septembre 2009 Statut Membre Dernière intervention 29 juillet 2015 23
2 avril 2011 à 13:31
si ta d'autre question n'hésite pas :) mais je te conseil de supprimer le programme que j'ai fait et de le faire toi-même comme sa sa apprend plus que de faire un copier coller ^^.
0
jojo150393 Messages postés 330 Date d'inscription samedi 12 septembre 2009 Statut Membre Dernière intervention 29 juillet 2015 23
2 avril 2011 à 13:33
Pour améliorer ton programme ajoute un systeme de coeficient :)
0
diazendo Messages postés 25 Date d'inscription mercredi 9 février 2011 Statut Membre Dernière intervention 4 juin 2012
2 avril 2011 à 13:43
ok pas de probleme jojo tu m'a été d'un grand secour,encore merci et si un jour je peu faire klk chose ,n'hesite pas :)!!!!encore merci
0