Recherche une valeur dans un tableau ehouée
Bonjour à tous :D
JE travaille actuellement sur un mini projet. En fait je suis à l'étape où j'ai rempli un tableau de structure "ville" par les informations récupérées du fichier , maintenant j'ai développé une fonction qui cherche une valeur saisi par l'utilisateur, qui va chercher la valeur si elle existe dans le tableau.
Mon souci là c'est que quand je tape une valeur existante il m'affiche que la valeur n'existe pas
voilà les prototypes des fonction réalisées:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
| int main()
{
FILE *f = NULL;
char titre[100];
char valeur[256] = {'\0'};
int dimension, n;
char index[50], data1[50], data2[50];
// LECTURE DES DONNEES
n = 1;
v=(ville*)malloc((dimension)*sizeof(ville));
while (n<=dimension)
{
fscanf(f, "%s %s %s", index, data1, data2);
strcpy(v[n-1].nom, index);
strcpy(v[n-1].x, data1);
strcpy(v[n-1].y, data2);
printf("%i %s\n", n, v[n-1].nom);
n++;
}
// printf("%s %s %s\n", index, data1, data2);
// n++;
if (v !=0) free(v);
fclose(f);
//Appel de l'algorithme génétique.
genetikAlgo(v, dimension);
}
else
printf("erreur lors de l'ouverture du fichier");
return 0;
} |
Code:
1 2 3 4 5 6 7 8 9 10 11
| #include "atrapvil.h"
int genetikAlgo (ville *v, const long nbVilles)
{
int ret=0;
long vDepart=-1;
if (v == 0)ret=-1;
//Choix de la ville de départ.
pointDepart(v, &vDepart, nbVilles);
return ret;
} |
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
| //Choix de la ville de départ par l'utilisateur.
#include <stdio.h>
#include <string.h>
#include "atrapvil.h"
void pointDepart (ville *v, long *vDepart, const long nbVilles)
{
char villeDepart[20];
char quit[20]="quitter";
int i, j=-1;
do
{
printf("\nDe laquelle de ces villes voulez-vous partir ?\n");
printf("Ville de d\x82part : ");
gets(villeDepart);
//printf("%s",villeDepart);
printf("%s",v[1].nom);
for (i=0 ; i<nbVilles ; i++)
{
j = strcmp (villeDepart, v[i].nom);
if (j == 0)
{
*vDepart=i;
printf("\n\nVous d\x82\x63idez de partir de %s, \n", villeDepart);
}
if ((strcmp (villeDepart, quit))==0) exit(0);
}
if (*vDepart == -1)
{
printf("\n\nCette ville n'existe pas dans votre parcours.\n");
printf("Attention ! Saisissez la ville telle qu'elle appara\x8ct dans le tableau !");
}
}
while (*vDepart == -1);
} |
une idée svp?
merci