no save
Assistance
Achat
News

Forum | programmation
mini probleme(programmation en C)
mamiemando, le ven. 07 avr. 2006 à 16:58:06
Ton return 0 n'était pas dans le bon bloc. Après correction ça donne :
#include <stdio.h>
#include <string.h>

int main(){
double tab[255];
char *pointeur;
char *separateur = { "*-+/eE" }; // Le séparateur
char *buffer;
char *Chaine_Entrante="2.56e-8*3.14";
int nb_mot=0;

buffer = strdup ( Chaine_Entrante );

// premier appel,
pointeur = buffer;

pointeur = strtok(buffer,separateur);
if ( pointeur != NULL )
{
tab[nb_mot]=atof(pointeur);
++nb_mot; // increment du nombre de mot
printf ("Mot de la phrase numero : %d %s\n",nb_mot, pointeur);
}

while( pointeur != NULL )
{
// Cherche les autres separateur
pointeur = strtok( NULL, separateur );
if ( pointeur != NULL )
{
tab[nb_mot]=atof(pointeur);
++nb_mot; // increment du nombre de mot
printf ("Mot de la phrase numero : %d %s\n",nb_mot, pointeur);
}
}
return 0 ;
}

Le 1er élément est stocké dans la case 0, le second dans la case 1 etc...

Pour bien faire tu peux mettre le bloc if(pointeur!=NULL){ ... } dans une fonction corrigeant nbmot et tab... Cf cours sur les pointeurs.

@+
PrécédentSelia
avr. 06
Selia
avr. 06
Suivant
REPONSES
mamiemando
mars 06
Selia
mars 06
mamiemando
mars 06
Selia
mars 06
mamiemando
mars 06
Selia
avr. 06
mamiemando
avr. 06
Selia
avr. 06
mamiemando
avr. 06
Version Web
Réalisé par RedShift
no save