Bonjour !
Le bloc ci-dessous est incorrect :
Code :
- char* laVille;
- scanf("%s",laVille);
|
En effet, vous déclarez un pointeur qui pointe sur on ne sait pas quoi et vous vous en servez pour stocker le résultat de la saisie.
Vous devez allouer votre pointeur avant de saisir.
Dans le cas qui nous intéresse, le mieux est de faire une double allocation de pResultat :
Code :
- char** pResultat=(char**)malloc(sizeof(char*)*(20));
- for (int i=0;i<20;i++)
- {
- pResultat[i]=(char*)malloc(sizeof(char)*(80));
- }
|
(En prenant assez large au niveau de la taille pour la deuxième allocation pour ne pas déborder ...), puis vous saisissez directement dans pResultat dans la boucle en faisant
Code :
- for (int i=0;i<20;i++)
- {
- scanf("%s",pResultat[i]);
- ...
- }
|
De plus, votre "if (laVille == "." )" ne retournera jamais vrai, il vous faut faire "if (strcmp(laVille, "." ) == 0)"
Bon, maintenant, tout ceci n'est valable que si vous devez faire du C, si vous pouvez faire du C++ (comme la rubrique dans laquelle vous avez posté semble l'indiquer
), vous utilisez std::string et std::cin et c'est BEAUCOUP plus simple 