Renvoyer un int a partir d'une chaine

Résolu
Toxyz Messages postés 9 Date d'inscription jeudi 13 mai 2004 Statut Membre Dernière intervention 29 mai 2005 - 18 janv. 2005 à 20:31
cs_Joky Messages postés 1787 Date d'inscription lundi 22 novembre 2004 Statut Membre Dernière intervention 31 janvier 2009 - 19 janv. 2005 à 21:10
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

Toxyz Messages postés 9 Date d'inscription jeudi 13 mai 2004 Statut Membre Dernière intervention 29 mai 2005
19 janv. 2005 à 16:29
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;
}
}
3
The_Snail Messages postés 21 Date d'inscription mardi 18 janvier 2005 Statut Membre Dernière intervention 6 mars 2009
19 janv. 2005 à 00:32
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
0
Toxyz Messages postés 9 Date d'inscription jeudi 13 mai 2004 Statut Membre Dernière intervention 29 mai 2005
19 janv. 2005 à 16:11
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 ^^
0
cs_Joky Messages postés 1787 Date d'inscription lundi 22 novembre 2004 Statut Membre Dernière intervention 31 janvier 2009 2
19 janv. 2005 à 21:10
Lol ca me fait penser à moi !!!
Le gars qui réponse a ses questions !!!
Bravooo :p


void Aurevoir( void ); //Bonne journée
0
Rejoignez-nous