Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - acquisire una stringa.....
Forum - C/C++ - acquisire una stringa.....

Avatar
giocala88 (Normal User)
Expert


Messaggi: 243
Iscritto: 23/04/2008

Segnala al moderatore
Postato alle 18:13
Venerdì, 27/06/2008
Salve, ancora una volta ritorno a chiedere aiuto...vorrei sapere come fare ad acquisire un'espressione tutta in una volta...
es: ax^2+bx+c
Si potrebbe acquisire contanto il numero di elementi presenti (9 in questo esempio)....quindi allocare dinamicamente con un ciclo for che parte da 0 e minore di 9...
Ora la domanda è: posso acquisire tutta la stringa (l'espressione dell'es.) senza contare gli elementi che la compongono, ma far terminare magari con un invio l'inserimento????....

Ecco il mio codice :

Codice sorgente - presumibilmente Plain Text

  1.  


#include <stdio.h>
#include <stdlib.h>

int main()
{
    int i,
        j,
        m,
        n_exp_disgiunte,
        *exp_disgiunte,
        n_letterali,
        *letterali;

    char lett[2];


    printf("\nAcquisire il numero di espressioni disgiunte: ");
    scanf("%d",
          &n_exp_disgiunte);

    /* allocazione dinamica */
    exp_disgiunte =  (int *)calloc(n_exp_disgiunte,
                                                 sizeof (int));

    for(i = 0; i < n_exp_disgiunte; ++i)
    {
        printf("\n%d^ Espressione (numero di letterali eventualmente negati): ", i+1);
        scanf("%d",
               &n_letterali);


        /* allocazione dinamica letterali */
        letterali = (int *)calloc(n_letterali,
                                            sizeof (int));
        for(j = 0; j < n_letterali; ++j)
        {
            scanf("%s",
                  &lett[j]);

            while(lett[j] == '\0')
             printf("ciao\n");


        }
    }

      
    return 0;
}

Nel ciclo while(lett[j] == '\0')...ho cercato di far terminare l'acquisizione dell'espressione con un invio (il problema che sopra enunciavo), ma non va....come mai???....spero di essere stato chiaro....grazie anticipatamente....
8-|

PM Quote
Avatar
pierotofy (Admin)
Guru^2


Messaggi: 6110
Iscritto: 04/12/2003

Segnala al moderatore
Postato alle 19:49
Venerdì, 27/06/2008
\0 è il carattere nullo, \n è quello che serve a te.


Seguimi su Twitter: http://www.twitter.com/pierotofy

Fai quello che ti piace, e fallo bene.
PM Quote