suite de mon pb en C++

suite de mon pb en C++ - C++ - Programmation

Marsh Posté le 31-07-2002 à 16:21:55    

je veux verifier ma methode sur tout les caracteres sauf '\0'

Reply

Marsh Posté le 31-07-2002 à 16:21:55   

Reply

Marsh Posté le 31-07-2002 à 16:31:42    

J ai une classe Interpreter
comment on declare un destructeur ?
Interpreter::~Interpreter () ;
 
ou comme ca ?
~Interpreter::~Interpreter () ;

Reply

Marsh Posté le 31-07-2002 à 16:33:00    

Mais oui, mais oui !!!
 
T'aimes troller toi, ça se voit...  :kaola:


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 31-07-2002 à 16:34:43    

picshertho a écrit a écrit :

je veux verifier ma methode sur tout les caracteres sauf '\0'




rien que ca
eh ben :ouch:


---------------
What butter and whiskey won't cure, there is no cure for.
Reply

Marsh Posté le 31-07-2002 à 16:35:43    

Achète un bouquin, ou cherche sur Google, c'est trop de base tes problèmes. Perso, je sais pas, ça fait hyper longtemps que j'ai pas touché au C++.


---------------
Le site de ma maman
Reply

Marsh Posté le 31-07-2002 à 16:36:11    

je suis débutant, et je crois que ce forum n'interdis pas les débutants. Je demande une aide, j'ai l'intention de progresser.
Souviens toi que tu es passé par la toi aussi.
donc je te renvoie ma question mais tu n'es pas obligé d'y répondre surtout comme tu viens de le faire :non:

Reply

Marsh Posté le 31-07-2002 à 16:42:14    

picshertho a écrit a écrit :

je suis débutant, et je crois que ce forum n'interdis pas les débutants. Je demande une aide, j'ai l'intention de progresser.
Souviens toi que tu es passé par la toi aussi.
donc je te renvoie ma question mais tu n'es pas obligé d'y répondre surtout comme tu viens de le faire :non:  



C'est sur, c'est sur. Cela étant je pense que si tu commence à poser des question, comme la syntaxe du destructeur, tu risques deux choses :
  1. de perdre du temps : il y a des didacticiels bien fait sur le net.
  2. d'agacer les gens qui te donnent des réponses. Parce qu'après le destructeur, il va y avoir les friends, l'héritage simple, multiple, la surcharge d'opérateur, bref, des sujets triviaux et lassant.


---------------
Le site de ma maman
Reply

Marsh Posté le 31-07-2002 à 16:50:30    

picshertho a écrit a écrit :

je suis débutant, et je crois que ce forum n'interdis pas les débutants. Je demande une aide, j'ai l'intention de progresser.
Souviens toi que tu es passé par la toi aussi.
donc je te renvoie ma question mais tu n'es pas obligé d'y répondre surtout comme tu viens de le faire :non:  




et ta chaine de caracteres "trouduc" de tout a l'heure ? t'as essayé de te foutre de nous en posant des questions basiques (du style différence entre un IDE et langage), alors que je suis sur que tu connais le C++
 
si tu veux des tutoriaux excellents, va voir ici :
 
www.developpez.com
 


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 31-07-2002 à 16:54:05    

Harkonnen a écrit a écrit :

 
et ta chaine de caracteres "trouduc" de tout a l'heure ? t'as essayé de te foutre de nous en posant des questions basiques (du style différence entre un IDE et langage), alors que je suis sur que tu connais le C++
 
si tu veux des tutoriaux excellents, va voir ici :
 
www.developpez.com
 
 



Ils ont un forum très très bien d'ailleurs. :o


---------------
Le site de ma maman
Reply

Marsh Posté le 31-07-2002 à 16:55:33    

Cherrytree a écrit a écrit :

Ils ont un forum très très bien d'ailleurs. :o




dis bonjour à Vazkor de ma part [:ddr555]


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 31-07-2002 à 16:55:33   

Reply

Marsh Posté le 31-07-2002 à 17:02:16    

Harkonnen a écrit a écrit :

 
et ta chaine de caracteres "trouduc" de tout a l'heure ? t'as essayé de te foutre de nous en posant des questions basiques (du style différence entre un IDE et langage), alors que je suis sur que tu connais le C++
 
si tu veux des tutoriaux excellents, va voir ici :
 
www.developpez.com
 
 




 
j ai desd bases en programmation objet
j ai un dut info voila
mais C++ je connais moins
j avais plus l habitude avec java

Reply

Marsh Posté le 31-07-2002 à 17:04:16    

Cherrytree a écrit a écrit :

C'est sur, c'est sur. Cela étant je pense que si tu commence à poser des question, comme la syntaxe du destructeur, tu risques deux choses :
  1. de perdre du temps : il y a des didacticiels bien fait sur le net.
  2. d'agacer les gens qui te donnent des réponses. Parce qu'après le destructeur, il va y avoir les friends, l'héritage simple, multiple, la surcharge d'opérateur, bref, des sujets triviaux et lassant.




 
pour la perte de temps ok je suis dac
par contre pour ton 2eme point, c 'est n importe quoi
t as vu que j etais debutant ok si ca t agace que je pose mes questions tu vas voir ailleurs c est tout
c est la vertu du forum... :na:

Reply

Marsh Posté le 31-07-2002 à 17:07:00    

picshertho a écrit a écrit :

 
 
pour la perte de temps ok je suis dac
par contre pour ton 2eme point, c 'est n importe quoi
t as vu que j etais debutant ok si ca t agace que je pose mes questions tu vas voir ailleurs c est tout
c est la vertu du forum... :na:  




attends, sur le topic qu'antp a fermé tt a l'heure, je t'ai donné plein de tuyaux sur tes pointeurs fous, et t'en a pas tenu compte...
alors....


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 31-07-2002 à 17:12:38    

si seulement j ai dit un moment que je me sentais depasse parles envenements.
 
et au fait pourquoi il a fermé ce topic ca m etonne?

Reply

Marsh Posté le 31-07-2002 à 17:16:10    

j'ai fermé ce topic parce que c'était pollué par un débat sur Word, et aussi parce que toi tu semblais poser des questions très bizarres et ne pas tenir compte des réponses que les autres te donnaient.


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Marsh Posté le 31-07-2002 à 17:17:38    

comment fait on pour fermer un topic ?

Reply

Marsh Posté le 31-07-2002 à 17:20:22    

picshertho a écrit a écrit :

 
 
pour la perte de temps ok je suis dac
par contre pour ton 2eme point, c 'est n importe quoi
t as vu que j etais debutant ok si ca t agace que je pose mes questions tu vas voir ailleurs c est tout
c est la vertu du forum... :na:  



C'est l'histoire qui nous dira si j'ai tort. Mais je veux bien parier un snikers que j'ai raison. Cependant je pars avec un avantage de deux ans sur toi. Je sais un peu comment les choses fonctionnent ici. Quand il y a un flot de questions limite : je suis une feignasse, glisser moi la connaissance dans le bec, ça pardonne pas.


---------------
Le site de ma maman
Reply

Marsh Posté le 31-07-2002 à 17:20:45    

picshertho a écrit a écrit :

comment fait on pour fermer un topic ?
 



il faut être modérateur, petit. :sol:


---------------
Le site de ma maman
Reply

Marsh Posté le 31-07-2002 à 17:24:00    

Cherrytree a écrit a écrit :

C'est l'histoire qui nous dira si j'ai tort. Mais je veux bien parier un snikers que j'ai raison. Cependant je pars avec un avantage de deux ans sur toi. Je sais un peu comment les choses fonctionnent ici. Quand il y a un flot de questions limite : je suis une feignasse, glisser moi la connaissance dans le bec, ça pardonne pas.




 
mais qu est ce qu il me pond celui la. C'est bien t es un fossile du forum de hardware beh c est bien mon gars
j suis content de le savoir
salut

Reply

Marsh Posté le 31-07-2002 à 17:24:54    

heureusement que je fais que passer, ca barde ici  
salut cherry :D

Reply

Marsh Posté le 31-07-2002 à 17:27:29    

picshertho a écrit a écrit :

 
 
mais qu est ce qu il me pond celui la. C'est bien t es un fossile du forum de hardware beh c est bien mon gars
j suis content de le savoir
salut
 



Créature futile. :sarcastic:


---------------
Le site de ma maman
Reply

Marsh Posté le 31-07-2002 à 17:27:43    

djkurgan a écrit a écrit :

heureusement que je fais que passer, ca barde ici  
salut cherry :D  



Salut DJK, alors, ça bosse ?


---------------
Le site de ma maman
Reply

Marsh Posté le 31-07-2002 à 17:29:52    

ca bosse, ca bosse, je vais meme de ce pas me rentrer et me
taper ces putains de transports parisiens...
et toi ca roule ? :)

Reply

Marsh Posté le 31-07-2002 à 17:31:48    

djkurgan a écrit a écrit :

ca bosse, ca bosse, je vais meme de ce pas me rentrer et me
taper ces putains de transports parisiens...
et toi ca roule ? :)



Allons sur BlaBla pour éviter la pollution engendrée par nos discussions irrévérencieuses, vis à vis du freluquet. Tiens clique ici, on sera mieux.


---------------
Le site de ma maman
Reply

Marsh Posté le 31-07-2002 à 17:35:08    

pour qui ca interesse voila le code de ma metod interpreter
si y en a qu on des commentaires ... nezitez pas
 

Code :
  1. //---------------------------------------------------------------------------------------------
  2. // Interpret permet d'interpreter une chaine de caracteres saisies par l'utilisateur sur la console
  3. // Cette fonction permet de lire les commandes à partir du clavier ou de toute autre source,  
  4. // de les exécuter et de fournir si nécessaire un flux de sortie
  5. int Interpreter::Interpret (char* Chain) {
  6. /* test nb fonction dispos
  7. Function.back().FunctionsDispos.size(); */
  8. //---------------------------Copie de chaque mot de Chain dans la liste LisCom de char* --------
  9. // Cette liste de chaine de caracteres permet de référencer le nom de la commande ainsi que
  10. // les parametres saisis par l'utilisateur dans une liste. Le premier element de la liste sera le nom de la commande
  11. int LenChain = strlen(Chain) ;
  12. list <char*> LisCom ;
  13. char* Tab ;
  14. // Compteur de Tab
  15. int j = 0 ;
  16. // Compteur du parametre Chain
  17. int i = 0 ;
  18. do {
  19.  // Allouer Tab dynamyquement
  20.  Tab = new char[strlen(Chain)+1] ;
  21.  // Jusqu'a ce que j'ai un espace ou un '\0'
  22.  while ( (!isspace(Chain[i])) && (Chain[i] != '\0') ) {
  23.   // Copier les caracteres
  24.   Tab[j] = Chain[i] ;
  25.   i++ ;
  26.   j++ ;
  27.  }
  28.  // Terminer la chaine Tab par le retour chariot
  29.  Tab[j] = '\0' ;
  30.  // Inserer la commande et les parametres dans LisCom
  31.  LisCom.push_back(Tab) ;
  32.  // Passer au caractere suivant de la chaine Chain
  33.  while (isspace(Chain[i])) i++ ;
  34.  // Reinitialiser Tab
  35.  j = 0 ;
  36. } while (i <= LenChain) ;
  37. //-------------------------------Verifier si la fonction est acceptable-----------------------------------
  38. // Comparaison du nom de la commande saisie avec les commandes referencees dans les fonctions acceptables
  39. // ATTENTION le premier element de la liste LisCom sera toujours le nom de la commande
  40. // et ensuite viendront les parametres
  41. // FinddAccess est vrai lorsque la commande est trouvee
  42. bool FindAccess = false ;
  43. for (list<Functions>::iterator ItFunAccess = Function.begin() ; ItFunAccess != Function.end() ; ++ItFunAccess) {
  44.  for (list<char*>::iterator ItCom = ItFunAccess->Commands.begin() ; ItCom != ItFunAccess->Commands.end() ; ++ItCom)
  45.   // Cas ou le nom de commande est referencee parmi les fonctions acceptables
  46.   if ( ! strnicmp (*ItCom , LisCom.front(), strlen(LisCom.front())) ) {
  47.    FindAccess = true ;
  48.    break ;
  49.   }
  50.  // Si on a trouve la fonction acceptable alors on verifie si la fonction est disponible
  51.  if (FindAccess == true) break ;
  52. }
  53. if (!FindAccess) {
  54. // On libere la memoire de ItLisCom
  55.  for ( list<char*>::iterator ItLisCom = LisCom.begin() ; ItLisCom != LisCom.end() ; ++ItLisCom ) {
  56.   delete [] *ItLisCom ;
  57.   LisCom.clear() ;
  58.  }
  59. }
  60.  return UNKNOWN_COMMAND ;
  61. //-------------------------------Verifier si la fonction est disponible----------------------------------
  62. // Verifier si le nombre des parametres pour une fonction disponible correspond bien a celui
  63. // des parametres saisis  
  64. // FindDispo est initialise a false et suppose qu'on a pas trouve de fonction disponible
  65. bool FindDispo = false ;
  66. // Iterateur des fonctions disponibles
  67. for (list<FunctionDispo>::iterator ItFunDispo = ItFunAccess->FunctionsDispos.begin() ; ItFunDispo != ItFunAccess->FunctionsDispos.end() ; ++ItFunDispo) {
  68.  /* test  
  69.  int k = 5 ;
  70.  k++ ;
  71.  char monbuffer [512] ;
  72.  sprintf (monbuffer, "%d", k) ;
  73.  MessageBox(NULL, ItFunAccess->ID, monbuffer, MB_OK | MB_ICONEXCLAMATION) ; */
  74.  // Verifier si le nombre de parametres de la fonction disponible est le meme que celui de LisCom - 1
  75.  if ( (ItFunDispo->Params.size()) != (LisCom.size())-1 ) continue ;
  76.  // Verifier si le type des parametres est correctement saisi
  77.  // FindParam est initialise a true et permet de sortir de la boucle lorsque qu'il y a une erreur de typage  
  78.  bool FindParam = true ;
  79.  // Iterateur des parametres d'une fonction disponible
  80.  list<Param>::iterator ItParam ;
  81.  // Iterateur des parametres saisis  
  82.  list<char*>::iterator ItLisCom = LisCom.begin() ;
  83.  // On parcourt chaque iterateur momentanement pour verifier dans l'ordre si les types sont bien saisis
  84.  for (ItParam = ItFunDispo->Params.begin(),++ItLisCom ;
  85.     ((ItParam != ItFunDispo->Params.end()) && (ItLisCom != LisCom.end())) ;
  86.     ++ItParam, ++ItLisCom) {
  87. /*test
  88.      int gh = 5 ;
  89.  gh++ ;
  90.  char monbuffer [512] ;
  91.  sprintf (monbuffer, "%d", gh) ;
  92.  MessageBox(NULL, *ItLisCom, monbuffer, MB_OK | MB_ICONEXCLAMATION) ;
  93.      int typos = ItParam->Type ;
  94.      void* datos = ItParam->data ; */
  95.    // Comparer les types
  96.    // FindParam est a false des qu il y a erreur de typage
  97.    // Dans le cas ou aucun parametre n'est saisi, il n y a pas besoin d appeler TypeParam  
  98.    if ( (ItParam->Type) != TypeParam(*ItLisCom) ) {
  99.     FindParam = false ;
  100.     break ;
  101.    }
  102.  }
  103.  // Si en sortie de boucle la variable FindParam est toujours vrai c'est que les parametres ont ete
  104.  // correctemtent saisis et l'on peut donc sortir de la boucle ItFunDispo
  105.  if (FindParam) FindDispo = true ;
  106.  // Si FindDispo est vrai c'est que tous les parametres ont ete corectement saisis
  107.  if (FindDispo) {
  108.   CallFunction(*ItFunDispo,LisCom) ;
  109.   // On libere la memoire de ItLisCom
  110.   for ( list<char*>::iterator ItLisCom = LisCom.begin() ; ItLisCom != LisCom.end() ; ++ItLisCom ) {
  111.    delete [] *ItLisCom ;
  112.    LisCom.clear() ;
  113.   }
  114.   return INTERP_OK ;
  115.  // Sinon en cas d'erreur de typage
  116.  } else {
  117.   // On libere la memoire de ItLisCom
  118.   for ( list<char*>::iterator ItLisCom = LisCom.begin() ; ItLisCom != LisCom.end() ; ++ItLisCom ) {
  119.    delete [] *ItLisCom ;
  120.    LisCom.clear() ;
  121.   }
  122.  }
  123. }
  124. // On libere la memoire de ItLisCom
  125. for ( list<char*>::iterator ItLisCom = LisCom.begin() ; ItLisCom != LisCom.end() ; ++ItLisCom ) {
  126.  delete [] *ItLisCom ;
  127.  LisCom.clear() ;
  128. }
  129. // Cas ou on a trouve aucune fonction disponible dont la signature correspond a celle saisie par l'utilisateur
  130. return UNFOUND_FUN_DISPO ;
  131. }


Message édité par picshertho le 31-07-2002 à 23:41:56
Reply

Marsh Posté le 31-07-2002 à 17:38:32    

je me suis pas parsé tout ton source, mais je te dis juste que la ligne suivante est fausse :

Code :
  1. delete [] *ItLisCom;


 
à remplacer par :

Code :
  1. delete [] ItLisCom;


 
mais je te le répète, j'ai pas tout lu
 


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 31-07-2002 à 17:48:12    

ok merci je vais voir ca de plus pres

Reply

Marsh Posté le 31-07-2002 à 17:51:45    

non si j enleve le * ca compile plus
 
ah oui une autre question et puis apres je m en vais :  
*chose renvoie le resultat du pointeur chose ou bien
le pointeur de la chose ?
 
si je modifie *chose je me demande si ... oh pis non
 
aller salut tout le monde et n'oubliez pas :
tout le monde doit y passer :hello:

Reply

Marsh Posté le 31-07-2002 à 17:52:18    

picshertho a écrit a écrit :

 
tout le monde doit y passer :hello:  



Ach ! Ekzaktement.


Message édité par Cherrytree le 31-07-2002 à 18:21:08

---------------
Le site de ma maman
Reply

Marsh Posté le 31-07-2002 à 18:08:44    

Harkonnen a écrit a écrit :

 
dis bonjour à Vazkor de ma part [:ddr555]




 
 [:rofl]

Reply

Marsh Posté le 01-08-2002 à 10:01:04    

alors bonjour tout le monde

Reply

Marsh Posté le 04-08-2002 à 14:15:25    

picshertho a écrit a écrit :

non si j enleve le * ca compile plus
 
ah oui une autre question et puis apres je m en vais :  
*chose renvoie le resultat du pointeur chose ou bien
le pointeur de la chose ?
 
si je modifie *chose je me demande si ... oh pis non
 
aller salut tout le monde et n'oubliez pas :
tout le monde doit y passer :hello:  




 
 :sarcastic: Donc d'après toi : je n'aurais jamais pu apprendre le C++ sans avoir le net ? N'importe quoi...  :sarcastic:  
 
Tu sais, tu peux aussi te prendre un bouquin complet et le bosser tout seul comme un grand (et pas comme un assisté) dans ton coin pour apprendre à ton rythme... Ca ira plus vite que de passer des heures à essayer d'expliquer tes problèmes de newb qui sont résolus dans la 1ere page d'une doc sur le C++...

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed