Aide Programmation dans C

Résolu/Fermé
danielle1977 Messages postés 1 Date d'inscription mardi 26 février 2013 Statut Membre Dernière intervention 26 février 2013 - 26 févr. 2013 à 20:38
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 26 mars 2013 à 07:29
Bonjour,

Je souhaiterais avoir de l'aide pour la résolution du problème ci-dessous.

A partir d'un tableau donné:
12,26,35,98,23,57,61,25.
il est demandé de réaliser une application qui va afficher un menu avec comme choix:
1- Affichage de la moyenne;
2-Affichage de la somme;
3- Affichage du plus petit nombre et de sa position;
4-Quitter.

Pour cela, j'ai réalisé ce qui suit:
#include "stdio.h"
float moyenne( int *t, );
int somme(int *t );
void main()
{
int i;
int t[8]={12,26,35,98,23,57,61,25};
printf("\n1. Affichage de la moyenne");
printf("\n2. Affichage de la somme");
printf("\n3. Affichage du plus petit nombre et sa position");
printf("\n4. Quitter");
printf("\n");

scanf("%d",&i);
switch(i)
{
case 1 : {printf("\nMoyenne = %3.3f",moyenne(t,8)); break;}
case 2 : {printf("\nSomme = %d",somme(t,8)); break;}
case 3 : { exit(1); break;}
default:;
}
getch();
exit(1);
}

int somme(int *t)
{
int i;
int s=0;
for(i=0;i<8;i++) s+=t[i];
return(s);
}

float moyenne(int *t)
{ return((float)somme(t,8)/8; }


Ce code ne fonctionne pas. En plus, je n'arrive pas à formaliser le troisième choix.

Je compte sur votre aide.



A voir également:

2 réponses

Utilisateur anonyme
26 févr. 2013 à 21:00
Bonsoir

Tu n'es pas mal parti, mais tu as une incohérence entre la définition des fonctions somme et produit (un seul paramètre) et ta façon de les appeler (tu en passes 2)
0
#include <stdio.h>
#define Taille 8;
float moyenne( int t[Taille] );
int somme(int t[Taille] );
void main()
{
int i;
int t[Taille]={12,26,35,98,23,57,61,25};
printf("\n1. Affichage de la moyenne");
printf("\n2. Affichage de la somme");
printf("\n3. Affichage du plus petit nombre et sa position");
printf("\n4. Quitter");
printf("\n");
scanf("%d",&i);
switch(i)
{
case 1 : {printf("\nMoyenne = %3.3f",moyenne(t)); break;}
case 2 : {printf("\nSomme = %d",somme(t)); break;}
case 3 : { exit(1); break;}
default:;
}
getch();
exit(0);
}
int somme(t)
{
int i;
int s=0;
for(i=0;i<8;i++) s+=t[i];
return(s);
}
float moyenne(t)
{ return((float)somme(t)/8; }

c'est une correction pour ton travail si vous avez des question vous pouvez les poser.
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 836
Modifié par fiddy le 26/03/2013 à 07:29
Il y a plus de faute dans ta correction que dans le post initial...
Pas de ; après un define
Et il faut revoir tes définitions des fonctions.
0