Exo langage C

diazendo Messages postés 25 Date d'inscription   Statut Membre Dernière intervention   -  
diazendo Messages postés 25 Date d'inscription   Statut Membre Dernière intervention   -
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   Statut Membre Dernière intervention   23
 
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   Statut Contributeur Dernière intervention   6 431
 
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   Statut Membre Dernière intervention  
 
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   Statut Membre Dernière intervention   23
 
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   Statut Membre Dernière intervention  
 
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   Statut Membre Dernière intervention   23
 
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   Statut Membre Dernière intervention   23
 
alors bien ou pas bien ?
0
diazendo Messages postés 25 Date d'inscription   Statut Membre Dernière intervention  
 
hé ben t'es un pro toi !merci
0
diazendo Messages postés 25 Date d'inscription   Statut Membre Dernière intervention  
 
oui mais en fait le i sur mon programme c'est le compteur !
0
jojo150393 Messages postés 330 Date d'inscription   Statut Membre Dernière intervention   23
 
ouais ben c'est donc le nombre de note que rentre l'utilisateur non?
0
diazendo Messages postés 25 Date d'inscription   Statut Membre Dernière intervention  
 
oui c'est bien ca
0
jojo150393 Messages postés 330 Date d'inscription   Statut Membre Dernière intervention   23
 
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   Statut Membre Dernière intervention   23
 
Pour améliorer ton programme ajoute un systeme de coeficient :)
0
diazendo Messages postés 25 Date d'inscription   Statut Membre Dernière intervention  
 
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