Aide Programmation dans C

Résolu
danielle1977 Messages postés 1 Date d'inscription   Statut Membre Dernière intervention   -  
fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention   -
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.



2 réponses

Utilisateur anonyme
 
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
Le_tigre
 
#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   Statut Contributeur Dernière intervention   1 846
 
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