Aide langage c
Résolu/Fermé
bahaloh
Messages postés
25
Date d'inscription
vendredi 16 avril 2010
Statut
Membre
Dernière intervention
6 janvier 2012
-
23 avril 2010 à 14:42
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 23 avril 2010 à 22:20
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 23 avril 2010 à 22:20
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
- Pascal langage - Télécharger - Édition & Programmation
- Langage pascal - Télécharger - Édition & Programmation
- Delphi (langage) - Télécharger - Langages
5 réponses
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 842
23 avril 2010 à 15:16
23 avril 2010 à 15:16
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,
lermite222
Messages postés
8724
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 190
23 avril 2010 à 19:06
23 avril 2010 à 19:06
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+
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 842
Modifié par fiddy le 23/04/2010 à 22:32
Modifié par fiddy le 23/04/2010 à 22:32
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. ;-))).
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 842
23 avril 2010 à 17:54
23 avril 2010 à 17:54
Non il n'y a pas besoin de tableaux pour cet exercice. Juste trois variables.
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 842
Modifié par fiddy le 23/04/2010 à 22:20
Modifié par fiddy le 23/04/2010 à 22:20
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
lermite222
Messages postés
8724
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 190
23 avril 2010 à 15:11
23 avril 2010 à 15:11
Bonjour,
Je suis pas un spécialiste du C mais il resort que tu ne demande qu'une seule variable.
Tu devrais (il me semble) instancier un tableux des saisies.
L'incrémenter à chaque itération.
Ensuite fair la moyenne du tableau et l'afficher.
A+
Je suis pas un spécialiste du C mais il resort que tu ne demande qu'une seule variable.
Tu devrais (il me semble) instancier un tableux des saisies.
L'incrémenter à chaque itération.
Ensuite fair la moyenne du tableau et l'afficher.
A+
bahaloh
Messages postés
25
Date d'inscription
vendredi 16 avril 2010
Statut
Membre
Dernière intervention
6 janvier 2012
1
23 avril 2010 à 15:13
23 avril 2010 à 15:13
comment faire un tableau
23 avril 2010 à 15:19
please
23 avril 2010 à 22:03
T'apprendras bien plus si tu fais le programme par toi-même.
Parcontre, n'hésite pas à poser des questions.