cyberice67
Messages postés88Date d'inscriptionsamedi 6 décembre 2003StatutMembreDernière intervention 7 novembre 2016
-
7 déc. 2004 à 20:11
cs_6co
Messages postés114Date d'inscriptionlundi 27 janvier 2003StatutMembreDernière intervention 5 avril 2012
-
8 déc. 2004 à 00:16
Salut tlm,
Z'ai un ch'tit gros soucis en C++, en fait je cherche a renverser une chaine de caractère quelconque (string, int etc) mais je connais pas les fonction C++ permettant de tester le type d'une chaine de caractère saisie.
En fait mon appli doit utiliser de préférence le polymorphisme. J'ai une fonction qui renvoie un caractère designant le type de chaine saisie :
ex : renvoie E si c'est un entier,
renvoie R si c'est un réel ... etc
ensuite selon la réponse je stocke la chaine dans une classe et j'inverse la saisie, par exemple :
Si je saisi ETOILE ca doit me renvoyer ELIOTE,
si je saisi 2.0 ca doit renvoyé 0.2 etc...
J'vous ai mis une esquise du prog pour voir un peu comment c'est articulé...
TH'X d'avance à ceux qui voudrons bien cogité :)
cs_6co
Messages postés114Date d'inscriptionlundi 27 janvier 2003StatutMembreDernière intervention 5 avril 20121 8 déc. 2004 à 00:16
je pense que de toute façon, le meilleur moyen est de traiter toutes les entrer comme des char*, non... comment le programme peut-il savoir le type de données qui va être saisi..?
darkkinj
Messages postés18Date d'inscriptionsamedi 6 novembre 2004StatutMembreDernière intervention12 mars 2005 7 déc. 2004 à 23:23
Pour ce qui est d'une fonction qui renverraie enfait le nom de la classe je sais pas. Je sais que ce genre de fonctions existe en Java mais en C++ je ne sais toujours pas.
Par contre je ne vois pas en quoi tu peut avoir besoin de connaitre le type de chaine pour faire le renverser, si tu manipules simplement un void* tu n'a juste qu'à intervertir les cases du tableau par contre tu auras besoin de passer la longeur de ton tableau en paramètre également.
J'aurai plustôt vu que tu cast tout en char* avant de le passer dans la fonction de renversement.
plus_plus_fab
Messages postés232Date d'inscriptionvendredi 9 janvier 2004StatutMembreDernière intervention 8 janvier 2005 8 déc. 2004 à 00:10
"J'aurai plustôt vu que tu cast tout en char* avant de le passer dans la fonction de renversement."
ça ne fonctionnera pas, on ne caste comme ça en char* !
ce code devrait t'indiquer comment faire :
#include <string>
#include
#include
#include <sstream>
using namespace std;
int main(int argc,char** argv)
{
string s("ETOILE");
reverse(s.begin(),s.end());
cout << s << endl;