Conversion chaine - entier

tenohthree Messages postés 55 Statut Membre -  
Pacorabanix Messages postés 4122 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

j'ai arrivé a séparer une chaine de caractère mais je suis coincé comment affecter 1er chaine séparé (ici cent à 100 puis quatre-vingt à 80 etc...) à une case d'une tableau.
#include <stdio.h>
#include <string.h>

int main ()
{
  char str[] ="cent quatre-vignt cinq ";
  char *p;


  
  p = strtok (str," ");
  
  while (p != NULL)
  {
    printf (" %s\n", p);
    p = strtok (NULL, " ");
  }
  return 0;
}
A voir également:

1 réponse

Pacorabanix Messages postés 4122 Date d'inscription   Statut Membre Dernière intervention   663
 
il faudrait d'abord créer un tableau.

Ensuite, à chaque itération de la boucle, il faut créer une fonction (par ex: int chaineVersInt (char*) ) qui prend une chaine et retourne un entier. Ensuite, dans le code de cette fonction on donne des règles de conversion :

if (strcmp(laChaine, "cent")== 0) return 100;
if (strcmp(laChaine, "cinq")==0) return 5;
etc...

dans la boucle tu pourras appeler cette fonction ainsi par exemple :
monTableauDInt[i] = chaineVersInt(p);

où le i est une variable qui fera office de compteur dans la boucle.
0