Aide langage c
Résolu
bahaloh
Messages postés
32
Statut
Membre
-
fiddy Messages postés 11653 Statut Contributeur -
fiddy Messages postés 11653 Statut Contributeur -
s'il vous plait qu'elqu 'un peut m'aider
Ecrire un programme qui demande à l'utilisateur de taper des entiers strictement positifs et qui affiche leur moyenne. Lorsqu'on tape une valeur négative, le programme affiche ERREUR et demande de retaper une valeur. Lorsqu'on tape 0, cela signifie que le dernier entier a été tapé. On affiche alors la moyenne. Si le nombre d'entiers tapés est égal à 0, on affiche PAS DE MOYENNE.
voila mon programe mais il camarche po
#include<conio.h>
#include<stdio.h>
main()
{
int n,i,s,k;
float m;
printf("entrer le nmbre des valeur pour la moyenne");
scanf("%d",&n);
s=0;
for (i=1;i<=n;i++){
printf("entrer le nombre N %d \n",i);
scanf ("%d",&s);
s=s+i;}
printf ("some %d",s);
m=0;
m=s/n;
printf ("la moyen de %d nombre est :\t %.2f ",n,m);
getch();
}
Ecrire un programme qui demande à l'utilisateur de taper des entiers strictement positifs et qui affiche leur moyenne. Lorsqu'on tape une valeur négative, le programme affiche ERREUR et demande de retaper une valeur. Lorsqu'on tape 0, cela signifie que le dernier entier a été tapé. On affiche alors la moyenne. Si le nombre d'entiers tapés est égal à 0, on affiche PAS DE MOYENNE.
voila mon programe mais il camarche po
#include<conio.h>
#include<stdio.h>
main()
{
int n,i,s,k;
float m;
printf("entrer le nmbre des valeur pour la moyenne");
scanf("%d",&n);
s=0;
for (i=1;i<=n;i++){
printf("entrer le nombre N %d \n",i);
scanf ("%d",&s);
s=s+i;}
printf ("some %d",s);
m=0;
m=s/n;
printf ("la moyen de %d nombre est :\t %.2f ",n,m);
getch();
}
A voir également:
- Ecrire un programme qui demande à l'utilisateur de taper des entiers strictement positifs et qui affiche leur moyenne. lorsqu'on tape une valeur négative, le programme affiche erreur et demande de retaper une valeur. lorsqu'on tape 0, cela signifie que le dernier entier a été tapé. on affiche alors la moyenne. si le nombre d'entiers tapés est égal à 0, on affiche pas de moyenne.
- Langage ascii - Guide
- Langage binaire - Guide
- Langage visual basic - Télécharger - Langages
- Pascal langage - Télécharger - Édition & Programmation
- Langage basic gratuit - Télécharger - Édition & Programmation
5 réponses
Bonjour,
Tout d'abord main() doit être remplacé par : int main (void); puisque la fonction main renvoie un entier (0 quand tout va bien). Il faut donc mettre return 0; avant l'accolade finale.
Ensuite, prends l'habitude d'utiliser double qui est mieux que float (sauf quelques cas particuliers)
printf("entrer le nmbre des valeur pour la moyenne");
Ca ne respecte pas la logique de l'énoncé. Ton énoncé dit que le dernier chiffre sera un 0. Il faut donc plutôt faire un while pour continuer la boucle tant que la note est différente de 0.
scanf ("%d",&s);
Ton énoncé stipule que ton programme doit écrire "ERREUR" lorsque la note est négative. Il faut donc vérifier que la note est positive.
printf ("la moyen de %d nombre est :\t %.2f ",n,m);
Ton énoncé précise qu'il ne faut pas afficher la moyenne mais "PAS DE MOYENNE" s'il n'y a aucune note qui a été donnée. Il faut donc faire une condition sur le nombre de note.
getch();
Cette fonction (et plus généralement les fonctions de <conio.h>) n'est pas standard. Il vaut mieux utiliser la fonction getchar().
Apporte à ton programme les remarques ci-dessus et reposte ton programme si tu veux une vérification. N'oublie pas la prochaine fois d'utiliser les balises "code" (à droite du bouton souligner) pour garder la mise en forme du code.
Cdlt,
Tout d'abord main() doit être remplacé par : int main (void); puisque la fonction main renvoie un entier (0 quand tout va bien). Il faut donc mettre return 0; avant l'accolade finale.
Ensuite, prends l'habitude d'utiliser double qui est mieux que float (sauf quelques cas particuliers)
printf("entrer le nmbre des valeur pour la moyenne");
Ca ne respecte pas la logique de l'énoncé. Ton énoncé dit que le dernier chiffre sera un 0. Il faut donc plutôt faire un while pour continuer la boucle tant que la note est différente de 0.
scanf ("%d",&s);
Ton énoncé stipule que ton programme doit écrire "ERREUR" lorsque la note est négative. Il faut donc vérifier que la note est positive.
printf ("la moyen de %d nombre est :\t %.2f ",n,m);
Ton énoncé précise qu'il ne faut pas afficher la moyenne mais "PAS DE MOYENNE" s'il n'y a aucune note qui a été donnée. Il faut donc faire une condition sur le nombre de note.
getch();
Cette fonction (et plus généralement les fonctions de <conio.h>) n'est pas standard. Il vaut mieux utiliser la fonction getchar().
Apporte à ton programme les remarques ci-dessus et reposte ton programme si tu veux une vérification. N'oublie pas la prochaine fois d'utiliser les balises "code" (à droite du bouton souligner) pour garder la mise en forme du code.
Cdlt,
désolé, mais trois variable ne suffiront pas. Il faut en effet savoir le nombre d'itération qui ont étés entrées.
Comme dis plus haut je en connaît pas bien le C. mais en VB je verrais cela du genre...
Bien sûr ce n'est qu'une piste...
A+
Comme dis plus haut je en connaît pas bien le C. mais en VB je verrais cela du genre...
Dim Data()
Dim NB As Integer
Function Moyenne()
Dim Nombre As Single, i As Integer, Som As Double
Static NB As Integer
Dim g As Integer
For g = 1 To 4 'Moyenne sur 4 nombre
Nombre = InputBox("entrez donnée suivante")
ReDim Preserve Data(g)
Data(UBound(Data)) = Nombre
Som = 0
For i = 0 To UBound(Data)
Som = Som + Data(i)
Next i
If i > 1 Then
Moyenne = Som / (i - 1)
MsgBox "Moyenne = " & Som / (i - 1)
End If
Next g
End Function
Bien sûr ce n'est qu'une piste...
A+
Il n'y a pas besoin d'un tableau. C'est compliquél'algorithme pour rien.
désolé, mais trois variable ne suffiront pas.
Et pourtant si. C'est un classique de la programmation...
note : pour récupérer la note de l'utilisateur,
i : pour incrémenter à chaque note afin de récupérer le nombre de notes entrées au clavier
somme : pour faire la somme des notes
Il ne reste plus qu'à afficher somme / i.
Chez moi, ça fait trois variables. ;-))).
désolé, mais trois variable ne suffiront pas.
Et pourtant si. C'est un classique de la programmation...
note : pour récupérer la note de l'utilisateur,
i : pour incrémenter à chaque note afin de récupérer le nombre de notes entrées au clavier
somme : pour faire la somme des notes
Il ne reste plus qu'à afficher somme / i.
Chez moi, ça fait trois variables. ;-))).
Allez, jour de bonté, je te donne l'algorithme.
Par contre le code, je te laisse le faire ;-)))
Tu remarqueras qu'il n'y a que trois variables et qu'il n'y a pas de tableaux.
Google is your friend
Par contre le code, je te laisse le faire ;-)))
Déclaration des variables :
note : entier
i : entier
somme : entier
Fin déclaration des variables.
Programme
somme <- 0
i <- 0
Faire
Faire
Demander note
Si note < 0 Alors
Afficher "ERREUR"
Fin Si
Tant Que note < 0
Si note > 0 Alors
somme <- somme + note
i <- i + 1
Fin Si
Tant Que note <> 0
Si somme == 0 Alors
Afficher "PAS DE MOYENNE"
Sinon
Afficher somme / i
Fin Si
Fin Programme
Tu remarqueras qu'il n'y a que trois variables et qu'il n'y a pas de tableaux.
Google is your friend
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
please
T'apprendras bien plus si tu fais le programme par toi-même.
Parcontre, n'hésite pas à poser des questions.