Probleme de compilation en c
Résolu/Fermé
A voir également:
- Probleme de compilation en c
- Breach compilation - Guide
- Compiler plusieurs pdf en un seul - Guide
- Comment faire une compilation video - Forum Montage et acquisition vidéo
- Erreur de compilation type défini par l'utilisateur non défini ✓ - Forum VB / VBA
- Compilation année 80 télécharger gratuit - Forum Musique / Radio / Clip
4 réponses
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 842
27 oct. 2010 à 19:42
27 oct. 2010 à 19:42
Bonjour,
Ceci veut dire "erreur: la valeur souscrite n'est ni un tableau ni un pointeur".
Probablement une erreur de type en passage d'argument à une fonction.
Cdlt,
Ceci veut dire "erreur: la valeur souscrite n'est ni un tableau ni un pointeur".
Probablement une erreur de type en passage d'argument à une fonction.
Cdlt,
merci mais comment on peut la corriger??
voiçi mon programme:
#include <stdio.h>
#include <stdlib.h>
struct critere
{
float prix;
float robustesse;
float confort;
};
struct voiture
{
char marque[30];
char modele[30];
struct critere point;
};
void saisie_voiture(struct voiture a )
{
printf("donner la marque de la voiture\n");
scanf("%s",a.marque);
printf("donner le modele de la voiture\n");
scanf("%s",a.modele);
printf("donner le prix de la voiture\n");
scanf("%d",&a.point.prix);
printf("donner la robustesse de la voiture\n");
scanf("%d",&a.point.robustesse);
printf("donner le confort de la voiture\n");
scanf("%d",&a.point.confort);
return 0;
}
void remplissage(struct voiture t,int k)
{
int i;
for (i=0;i<=(k-1);i++)
{
saisie_voiture(t[i]);
}
return 0;
}
float moyenne_point(struct voiture t,int j)
{
float x,y,z,moy;
x=t[j].point.prix;
y=t[j].point.robustesse;
z=t[j].point.confort;
moy=(x+y+z)/3;
return moy;
}
float moyenne(int i,int k,struct voiture t)
{
float moy1[100];
float m;
float moyennefinale;
int j;
m=0;
for (i=0;i<=(k-1);i++)
{
moy1[j]=moyenne_point(t,i);
m=m+moy1[i];
}
moyennefinale=m/3;
return moyennefinale;
}
int main()
{
struct voiture voit;
struct critere crit;
int i,n;
struct voiture tab[100];
float moypoint,moytot;
printf("donner le nombre de voiture n");
scanf("%d",&n);
remplissage(tab,n);
for (i=0;i<=(n-1);i++)
{
moypoint=moyenne_point(tab,i);
moytot=moyenne(i,n,tab);
if (moypoint>moytot)
{
printf("la qualification da la voiture %d ent bonne\n",i);
}
}
return 0;
}
voiçi mon programme:
#include <stdio.h>
#include <stdlib.h>
struct critere
{
float prix;
float robustesse;
float confort;
};
struct voiture
{
char marque[30];
char modele[30];
struct critere point;
};
void saisie_voiture(struct voiture a )
{
printf("donner la marque de la voiture\n");
scanf("%s",a.marque);
printf("donner le modele de la voiture\n");
scanf("%s",a.modele);
printf("donner le prix de la voiture\n");
scanf("%d",&a.point.prix);
printf("donner la robustesse de la voiture\n");
scanf("%d",&a.point.robustesse);
printf("donner le confort de la voiture\n");
scanf("%d",&a.point.confort);
return 0;
}
void remplissage(struct voiture t,int k)
{
int i;
for (i=0;i<=(k-1);i++)
{
saisie_voiture(t[i]);
}
return 0;
}
float moyenne_point(struct voiture t,int j)
{
float x,y,z,moy;
x=t[j].point.prix;
y=t[j].point.robustesse;
z=t[j].point.confort;
moy=(x+y+z)/3;
return moy;
}
float moyenne(int i,int k,struct voiture t)
{
float moy1[100];
float m;
float moyennefinale;
int j;
m=0;
for (i=0;i<=(k-1);i++)
{
moy1[j]=moyenne_point(t,i);
m=m+moy1[i];
}
moyennefinale=m/3;
return moyennefinale;
}
int main()
{
struct voiture voit;
struct critere crit;
int i,n;
struct voiture tab[100];
float moypoint,moytot;
printf("donner le nombre de voiture n");
scanf("%d",&n);
remplissage(tab,n);
for (i=0;i<=(n-1);i++)
{
moypoint=moyenne_point(tab,i);
moytot=moyenne(i,n,tab);
if (moypoint>moytot)
{
printf("la qualification da la voiture %d ent bonne\n",i);
}
}
return 0;
}
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 27/10/2010 à 20:36
Modifié par fiddy le 27/10/2010 à 20:36
J'ai pas tout regardé mais :
Tu appelles la fonction ainsi remplissage(tab,n); où tab est un tableau
Pourtant ta fonction est déclarée ainsi : void remplissage(struct voiture t,int k)
On voit bien que le premier argument n'est pas un tableau ni un pointeur.
Il faudrait donc déclararer la fonction remplissage en : void remplissage(struct voiture *t,int k)
Et n'oublie pas de corriger les erreurs similaires.
S'il reste des erreurs, reposte ton code avec tes corrections et utilise les balises <codes> (à droite du bouton souligné) car sinon c'est illisible.
Tu appelles la fonction ainsi remplissage(tab,n); où tab est un tableau
Pourtant ta fonction est déclarée ainsi : void remplissage(struct voiture t,int k)
On voit bien que le premier argument n'est pas un tableau ni un pointeur.
Il faudrait donc déclararer la fonction remplissage en : void remplissage(struct voiture *t,int k)
Et n'oublie pas de corriger les erreurs similaires.
S'il reste des erreurs, reposte ton code avec tes corrections et utilise les balises <codes> (à droite du bouton souligné) car sinon c'est illisible.