Renvoyer un int a partir d'une chaine [Résolu]

Signaler
Messages postés
9
Date d'inscription
jeudi 13 mai 2004
Statut
Membre
Dernière intervention
29 mai 2005
-
Messages postés
1787
Date d'inscription
lundi 22 novembre 2004
Statut
Membre
Dernière intervention
31 janvier 2009
-
bonsoir,
apres 24h de programation, un nouveau probleme viens a moi
hier c'etait de remplacer "-" par "+-" dans une chaine
merci encore a BruNews pour la fonction précuite
aujourdui le probleme est toujours a cause des pointeurs ^^
le voici donc !
on on imagine une equation : 2x^3
int x = 3;
int i, e; //je declare i ici pour la portée ?
char[] eq = "2x^3";
char * sam;
sam = eq;
if (*sam == '-')
{
cout << "le premier caractere est un signe moins";
e = -1; //coef negatif
}
if (*sam == 'x')
{
cout << "le premier caractere est un x";
e = x; // ici e= 3
}
if ((*sam != 'x') && (*sam != '-'))//En clair, si c'est un chiffre...
{
for (i = 0; i <= 9 ;i++) // Bon ben la etre gros caca et ici etre mon soucis ^^
{
char * a;
itoa (i,a,10);
if (*sam == *a)
{
cout << "la premiere ligne est un " << a ;// a vaudrai 2 si mon prog etait juste ...


}
}


}
...si c'est un chiffre, je cherche lequel, je le met dans e, et je sort de la boucle ...
lisez dernier comment si vous ne me comprenez pas
(je ne cherche pas la valeur de eq au premier caractere mais sa valeur au pointeur donné (ici, premier caractere)
Voila voila il est bien possible que sa soit nettement plus simple ou l'inverse mais je passe la main pour cette fin de journée ...
merci d'avance !

4 réponses

Messages postés
9
Date d'inscription
jeudi 13 mai 2004
Statut
Membre
Dernière intervention
29 mai 2005

re snail, désolé pour la reponse de tout a l'heure, ton aide ma été tout a fait utile voici le nouveau code fonctionel (si par hasard quelqun cherche un jour une info la dessus)
sortie = "2x"
int x = 3;
char * sam;
sam = sortie;
int e;
if (*sam == '-')
{
cout << "la premiere ligne est un signe moins";
e = -1;
}
if (*sam == 'x')
{
cout << "la premiere ligne est un x";
e = x;
}
if ((*sam != 'x') && (*sam != '-'))
{
int lol = atoi (sam);
for (i = 0; i <= 9 ;i++)
{


if (i == lol)
{
cout << "la premiere ligne est un " << lol ;
e = lol;
}
}
Messages postés
21
Date d'inscription
mardi 18 janvier 2005
Statut
Membre
Dernière intervention
6 mars 2009

Salut,



D'apres se que j'ai compris tu cherches a transformer un caractere en
chiffre. Pour faire sa il existe la fonction atoi dont voici le
protoype : int atoi (const char* szNumber) je sais
pas si elle fonctionne en C++ mais en C elle fonctionne tres bien
elle se trouve dans stdlib.h



Bye
Messages postés
9
Date d'inscription
jeudi 13 mai 2004
Statut
Membre
Dernière intervention
29 mai 2005

salut the snail, en fait si tu avai regardé un petit peu plus le code et non le titre du post qui j'en suis désolé ne reflete pas tres exactement mon but, tu aurai pu voir que je fait(pour le moment) justement le contraire, pour comparer. Merci cependant d'avoir donné ton point de vue et en passant de m'avoir donné une nouvelle idée ^^
Messages postés
1787
Date d'inscription
lundi 22 novembre 2004
Statut
Membre
Dernière intervention
31 janvier 2009
2
Lol ca me fait penser à moi !!!
Le gars qui réponse a ses questions !!!
Bravooo :p


void Aurevoir( void ); //Bonne journée