Langage c

dabakh24 Messages postés 7 Date d'inscription   Statut Membre Dernière intervention   -  
fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

j ai un exco a faire et j voudrai votre aide: exco:ecrire un programme c qui lit une série note au clavier et qui affiche la moyenne des notes .
la fin de la boucle se faira en tapant la note -1.on doit avoir a l'affichage:
_la moyenne des notes est:
_le maximum des notes est:
_le minimum des notes est:
_le nbre de notes >= a 10 est:
_le nbre de notes <= a 10 est:
nb:une note est comprise entre 0 et 20.


A voir également:

8 réponses

green day Messages postés 26374 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   2 163
 
Salut,

Poste ton code et tu seras conseiller en fonction des erreurs sur lesquelles tu bloques.

@+
0
dabakh24 Messages postés 7 Date d'inscription   Statut Membre Dernière intervention  
 
#include<stdio.h>
#include<conio.h>
main()
{
int i,N,nsm,nim;
float s,n,m,man,min;
i=1;
s=0;
man=-1;
min=0;
nsm=0;
nim=0;
printf("entrez le nbre de notes\n");
scanf("%d",&N);
for(i=1;i<=N;i++)
{
printf("entrez la note%d\n",i);
scanf("%f",&n);
s=s+1;
m=s/N;
}
if(n>man)
{
man=n;
}
else if(n<min)
{
min=n;
}
else if(n>=10)
{
nsm=nsm+1;
}
else if(n<=10)
{
nim=nim+1;
}
else if(n=-1)
i=i+1;
printf("la moyenne est%f\n",m);
printf("le maximum des notes est%f:\n",man);
printf("le minimum des notes est%f\n",min);
printf("le nbre de notes >= a 10 est%d\n",nsm);
printf("le nbre de notes <= a 10 est%d",nim);
getch();
return 0;
}
0
Utilisateur anonyme
 
la fin de boucle se fait en tapant -1
0
Utilisateur anonyme
 
ya juste a changer sa boucle e, mettant un while(n!=-1) et à la fin de la boucle refaire un scanf("%f",&n);
0
dabakh24 Messages postés 7 Date d'inscription   Statut Membre Dernière intervention  
 
donc j doit changer nim=nim+1 par while(n=-1)
0
Utilisateur anonyme
 
#include<stdio.h>


main()
{
int nsm,nim;
int cpt=0;
float s,n,m,man,min;
s=0;
man=0;
min=20;
nsm=0;
nim=0;
m=0;
printf("entrez une note\n");
scanf("%f",&n);
while(n!=-1)
{
if(n>man)
{
man=n;
}
if(n<min)
{
min=n;
}
if(n>=10)
{
nsm=nsm+1;
}
if(n<=10)
{
nim=nim+1;
}
s=s+n;
cpt++;
printf("entrez une note\n");
scanf("%f",&n);
}

m=s/cpt;
printf("la moyenne est%f\n",m);
printf("le maximum des notes est%f:\n",man);
printf("le minimum des notes est%f\n",min);
printf("le nbre de notes >= a 10 est%d\n",nsm);
printf("le nbre de notes <= a 10 est%d",nim);
return 0;
}


j'ai modifié ton code de base, mais vite fais, tu peux faire plus d'amélioration(regrouper tous les printf en un printf, faire les cas ou n>20 ou n<-1, ...)
0

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

Posez votre question
dabakh24 Messages postés 7 Date d'inscription   Statut Membre Dernière intervention  
 
mais comment regrouper tous les printf en un printf, faire les cas ou n>20 ou n<-1 et merci pour votre aide
0
Utilisateur anonyme
 
tu fais les test dans ta boucle et tu met un continue (continue sa sert à ce que la boucle passe à l'itération suivant sans passer par ce qu'il y a après continue)

pour printf, imaginons que t'aies a=5, b=2
au lieux de faire
printf("la valeur de a est : %d\n",a);
printf("la valeur de b est : %d\n",b);

et ben tu fais : printf("la valeur de a est %d\nla valeur de b est %d\n", a, b);
0
fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention   1 846
 
Ce n'est pas de l'amélioration. Ca nuit à la lisibilité plus qu'autre chose. Et cela ne changera rien à l'exécution. En revanche, faire une fonction d'affichage, ça rendrait le code plus clair.
0
Utilisateur anonyme
 
ça nuit rien du tout il fau être habitué à faire du langage optimisé, ce que je viens de dire c'est le minimum, ça sert à rien de faire 10 pages si on peut en faire qu'une, et ça reste toujours lisible, il n'est pas interdit de mettre des commentaire à coté, tous les programmeurs le font, pour ceux qui utilisent le programme, mais aussi pour eux même
le mieux effectivement c'est de faire une fonction d'affichage, après faut voir où il en est dans son apprentissage
0
fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention   1 846
 
Euh non, tous les programmeurs ne font pas ça, et heureusement.
Enfin bon, chacun sa préférence après tout.
En revanche : main() c'est pas bon. C'est : int main(void) et là c'est pas une préférence.
0
dabakh24 Messages postés 7 Date d'inscription   Statut Membre Dernière intervention  
 
sa ne marche toujour pas et j mescuse de vous retarder sur sa
0
fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention   1 846
 
Ne t'excuse pas ;-))).
C'est quoi qui ne marche pas ? Ca ne compile pas ? Ca ne fait pas ce que tu veux ? Précise stp.
0
dabakh24 Messages postés 7 Date d'inscription   Statut Membre Dernière intervention  
 
ok mais
sa ne compile pas
0
fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention   1 846
 
Va falloir préciser plus que ça si tu veux qu'on t'aide... Comme dire le message d'erreur que t'obtiens, à quelle ligne, etc.
Sinon hormis le : main() à remplacer par le int main (void)
ton programme doit compiler.
0
$$mario$$
 
le site du zero en 2/3 mois tu sera un pro du C (en 2 jours j'ai réussi à simuler une commande mc do sans la correction) ya presque tous les language ;)
-1
Utilisateur anonyme
 
avec le site du zero tu deviens pas un pro, mais tu connaitra pas mal de chose déjà c'est sur
0
seo610 Messages postés 596 Date d'inscription   Statut Membre Dernière intervention   102
 
perso, avec le siteduzero, j'ai apris a m'interesser au C et a la programmation, mais si tu veux vraiment aller en profondeur, il existe des livres sur le C en anglais qui couvrent tout le langage (The C Programing language et Beginning C: From Novice to Professional (je l'ai vraiment aime)).
0