Besoin d'aide

fred100582 Messages postés 37 Date d'inscription mardi 20 avril 2004 Statut Membre Dernière intervention 6 décembre 2005 - 21 juil. 2005 à 10:15
cs_neria Messages postés 319 Date d'inscription vendredi 21 février 2003 Statut Membre Dernière intervention 16 février 2009 - 22 juil. 2005 à 12:44
Salut, je suis en train de me faire un petit programme pour automatiser le traitement de fichiers excel mais çà ne marche pas et je ne vois pas d'ou çà vient donc je vous mets le code en espérant que quelqu'un trouvera l'erreur.
Merci.

void main(int argc, char **argv)
{
FILE *fIn=NULL;
FILE *fOut=NULL;
float randPercent, crossPercent, mutPercent, stepPercent=10.0f;
float alpha, orangeSkin, lmdsSize = 10.0, bvSize;
int cptTimesArray = 0,i;
char filename [64],filename_results [64];
float bufEspionsTime, bufDeterministTime;
int bufNbLMDs;
float averageDeterministTime, averageEspionsTime;
int sumLMDs;

sprintf(filename_results,"%s_%d","results/ESP_static",
(int)lmdsSize);
strcat(filename_results, ".xls");
fOut=fopen(filename_results,"wt");
fprintf(fOut, "Determinist Time\tEspions Time\tNb LMDs:\n");
fprintf(fOut,"%f\t%f\t%d\n",(float)averageDeterministTime, (float)averageEspionsTime, (int)sumLMDs);
fclose(fOut);
fOut=NULL;


printf(" Debut de l'analyse des donnees\n");
for(randPercent=0.0;randPercent<=100.0;randPercent+=stepPercent)
{
for(crossPercent=0.0;crossPercent<=100.0-randPercent;crossPercent+=stepPercent)
{
mutPercent = 100.0 - randPercent - crossPercent;
{
for(bvSize=1.0;bvSize<=30.0;bvSize += 2.0)
{
for(lmdsSize=10.0, alpha=1.0; alpha<=5.0; alpha += 0.2)
{
orangeSkin = alpha * lmdsSize;


/*sprintf(filename,"%s%s_%d_%d_%d_%d_%d",iFolder,
"times/ESP_static_",
(int)randPercent,
(int)crossPercent,
(int)mutPercent,
(int)orangeSkin,
(int)bvSize);*/
sprintf(filename,"%s_%d_%d_%d_%d_%d","times/ESP_static",
(int)randPercent,
(int)crossPercent,
(int)mutPercent,
(int)orangeSkin,
(int)bvSize);


fIn=fopen(filename,"rt");


if(fIn==NULL)
continue;


averageDeterministTime = 0.0;
averageEspionsTime = 0.0;
sumLMDs = 0;


for(i=0;i<cptTimesArray;i++)
{
printf("Lecture des donnees\n");
fscanf(fIn, "%f %f %d", &bufDeterministTime ,&bufEspionsTime, &bufNbLMDs);


averageDeterministTime+=bufDeterministTime/cptTimesArray;
averageEspionsTime+=bufEspionsTime/cptTimesArray;
sumLMDs+=bufNbLMDs;
}



}
}
}
}
}


printf(" Fin de l'analyse des donnees\n");
}

1 réponse

cs_neria Messages postés 319 Date d'inscription vendredi 21 février 2003 Statut Membre Dernière intervention 16 février 2009
22 juil. 2005 à 12:44
Salut !

C'est très joli tout ça, mais ça serait bien de dire à quoi sert exactement le programme et ce qui ne fonctionne pas ... Enfin en analysant un peu le code j'ai trouvé une faute :
for(crossPercent=0.0;crossPercent<=100.0-randPercent;crossPercent+=stepPercent)
{
mutPercent = 100.0 - randPercent - crossPercent;
{
for(bvSize=1.0;bvSize<=30.0;bvSize += 2.0)

La seconde accolade est inutile.

@+ Neria
0