Probleme avec structure et tableau

Résolu/Fermé
josh64 Messages postés 56 Date d'inscription jeudi 6 novembre 2008 Statut Membre Dernière intervention 18 janvier 2013 - 6 nov. 2008 à 19:23
josh64 Messages postés 56 Date d'inscription jeudi 6 novembre 2008 Statut Membre Dernière intervention 18 janvier 2013 - 7 nov. 2008 à 13:50
Bonjour,
je tente de faire un programme qui va chercher des villes et des températures dans le fichier temperature.txt suivant :

2 //le nombres de ville
irun 12 20 14 13 24 6 17
bidard 3 10 11 9 8 14 16

mais cela ne fonctionne pas enfin si, voilà ce qui m'es retourné :

le nombre de ville est : 2
----------------------
les villes sont :
irun 12
----------------------
----------------------
i = 2 et j = 7
les temperatures sont :
0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
----------------------

donc voici mon code (en C) :

#include <stdio.h>
#include <stdlib.h>

#define TAYVILLE 10
#define NBJOUR 7

#define DEBUG

struct temperature{
char ville[TAYVILLE];
float tp[NBJOUR];
};

int main (){
int i,j;
int nbville;
FILE *fp;
fp=fopen("temperature.txt","r");
if(fp==NULL){
printf("ouverture impossible du fichier");
scanf("%*c");
exit (0);
}

fscanf(fp,"%d",&nbville);
struct temperature temper[nbville][NBJOUR];

/*on extrait le nom des villes*/
for(i=1;i<nbville+1;i++){
for(j=0;j<1;j++){
fscanf(fp,"%s ",temper[i][j].ville);
}
}

#ifdef DEBUG
printf("le nombre de ville est : %d\n",nbville);
printf("----------------------\n");
printf("les villes sont :\n");
for(i=1;i<nbville+1;i++){
for(j=0;j<1;j++){
printf("%s ",temper[i][j].ville);
//printf("%s ",temper[2][0].ville);
}
}
printf("\n----------------------\n");
#endif

/*on extrait les températures des villes*/
for(i=1;i<nbville;i++){
for(j=1;j<NBJOUR;j++){
fscanf(fp,"%f ",temper[i][j].tp);
//printf("\n%f ",temper[i][j].tp);
}
}
#ifdef DEBUG
printf("----------------------\n");
printf("i = %d et j = %d\n",i,j);
printf("les temperatures sont :\n");
for(i=1;i<nbville;i++){
for(j=0;j<NBJOUR;j++){
printf("%f ",temper[i][j].tp);
//printf("%s ",temper[2][0].tp);
}
}
printf("\n----------------------\n");
#endif
return (0);
}

i need help!
A voir également:

2 réponses

mype Messages postés 2435 Date d'inscription jeudi 1 novembre 2007 Statut Membre Dernière intervention 16 août 2010 436
6 nov. 2008 à 20:00
il vaut mieux utiliser un tableau a une dimension
essaye ça
#include <stdio.h>
#include <stdlib.h>

#define TAYVILLE 10
#define NBJOUR 7

#define DEBUG

struct temperature{
char ville[TAYVILLE];
float tp[NBJOUR];
};

int main (){
int i,j;
int nbville;
FILE *fp;
fp=fopen("temperature.txt","r");
if(fp==NULL){
printf("ouverture impossible du fichier");
scanf("%*c");
exit (0);
}

fscanf(fp,"%d",&nbville);

struct temperature temper[nbville];
/*on extrait le nom des villes*/
for(i=0;i<nbville;i++){
fscanf(fp,"%s",temper[i].ville);
for(j=0;j<7;j++)
{
    fscanf(fp,"%f",&(temper[i].tp[j]));
}
}

#ifdef DEBUG
printf("le nombre de ville est : %d\n",nbville);
printf("----------------------\n");
printf("les villes sont :\n");
for(i=0;i<nbville;i++){
printf("%s ",temper[i].ville);
//printf("%s ",temper[2][0].ville);
}

printf("\n----------------------\n");
#endif

/*on extrait les températures des villes*/

#ifdef DEBUG
printf("----------------------\n");
printf("i = %d et j = %d\n",i,j);
printf("les temperatures sont :\n");
for(i=0;i<nbville;i++){
for(j=0;j<NBJOUR;j++){
printf("%f ",temper[i].tp[j]);
//printf("%s ",temper[2][0].tp);
}
}
printf("\n----------------------\n");
#endif
return (0);
}
0
josh64 Messages postés 56 Date d'inscription jeudi 6 novembre 2008 Statut Membre Dernière intervention 18 janvier 2013 1
7 nov. 2008 à 13:50
merci beaucoup mype
0