Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - problema con le stringhe
Forum - C/C++ - problema con le stringhe

Avatar
Dice (Normal User)
Expert


Messaggi: 238
Iscritto: 26/11/2011

Segnala al moderatore
Postato alle 12:32
Domenica, 05/08/2012
Questo topic è stato chiuso dal moderatore

Non so perchè, ma non riesco neanche a controllare se nella mia stringa sono presenti certi caratteri:
io devo verificare con un if se nella stringa è presente il carattere 'o', seguito dal carattere 'y'.
Adesso vi faccio vedere come faccio io:

char     *fnp;        /*vettore in cui è contenuta la formula normale prenessa*/
int     i = 0,
         f_presente = 0,       /*flag per indicare se f è gia presente */
         g_presente = 0,      /*flag per indicare se g è gia presente */
         h_presente = 0,      /*flag per indicare se h è gia presente*/
         x_presente = 0,      /*flag per indicare se x farà parte del funtore*/
         y_presente = 0,      /*flag per indicare se y farà parte del funtore*/
         z_presente = 0;      /*flag per indicare se z farà parte del funtore*/

for(i = 0;
       (fnp != '\0');
       i++)
   {
      if(fnp == 'f')
      {
     f_presente = 1;
      }
      if(fnp == 'g')
      {
     g_presente = 1;
      }
      if(fnp == 'h')
      {
     h_presente = 1;
      }  
      if((fnp == 'o') && (fnp[i + 1] == 'x'))
      {
     x_presente = 1;
      }
      if((fnp == 'o') && (fnp[i + 1] == 'y'))
      {
     y_presente = 1;
      }
      if((fnp == 'o') && (fnp[i + 1] == 'z'))
      {
     z_presente = 1;
      }
   }

Adesso vado a stampare i vari valori per vedere se ho fatto bene:

    printf("f = %d\ng = %d\nh = %d\nx = %d\ny = %d\nz = %d\n",
          f_presente, g_presente, h_presente,
          x_presente, y_presente, z_presente);

E mi segna tutte le variabili a zero, quando invece la variabile y_presente dovrebbe valere 1 (inserendo la stringa exoyezP(x, y, z); però mi segna la presenza del carattere 'f'; e non capisco il perchèèèèèè

vi prego aiutatemi :hail:

PM
Avatar
anthony015 (Member)
Pro


Messaggi: 116
Iscritto: 20/05/2011

Segnala al moderatore
Postato alle 13:02
Domenica, 05/08/2012
innanzitutto ti consiglio di usare i tag code...
comunque devi controllare fnp, non fnp e basta...

PM
Avatar
HeDo (Founder Member)
Guru^2


Messaggi: 2765
Iscritto: 21/09/2007

Segnala al moderatore
Postato alle 17:43
Domenica, 05/08/2012
Questo topic è in violazione di una o più norme del regolamento: http://www.pierotofy.it/pages/extras/forum/9/3839-regolame ... .
    
Dopo averlo letto riapri un nuovo topic assicurandoti di aver rispettato le regole. Grazie per la tua pazienza.

PM