Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    [C++] sintassi

    Ciao ragazzi ho qualche difficoltà a capire la struttura del linguaggio c++
    qualcuno è in grado di aggiungermi qlc breve commento dento allo codice di esempio
    qui sotto??

    non capisco il
    TFrase f;

    cosa significa?

    -------------------------------------------------------------------------------------

    #include <iostream.h>
    #include <stdlib.h>

    const int NMaxChars = 255;
    typedef char TFrase[NMaxChars];

    int ContaParole(const TFrase frase);

    int main()
    {
    TFrase f;

    cout << "Inserisci una frase: ";
    cin.getline(f, NMaxChars); //oppure: gets(f);

    cout << "\nLa frase\n\n" << f << "\n\ncontiene " << strlen(f) << " caratteri e " << ContaParole(f) << " parole.\n";

    system("PAUSE");
    return 0;
    }

    int ContaParole(const TFrase frase) {
    int n = 0;
    int len;
    int indice = 0;

    len = strlen(frase);

    while (indice < len) {
    //porta indice al successivo carattere diverso da spazio o alla fine
    while ( (indice < len) && (frase[indice] == ' ') )
    indice++;

    //se indice non supera len allora inizia una nuova parola: n++
    if (indice < len)
    n++;

    //porta indice al successivo spazio o alla fine
    while ( (indice < len) && (frase[indice] != ' ') )
    indice++;
    }

    return n;


    }

    ----------------------------------------------------------------------------

    grazie

  2. #2
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,477
    Originariamente inviato da lechuck
    non capisco il
    TFrase f;
    cosa significa?
    Intercedo solamente per assicurarmi che tu abbia già letto quanto ho scritto nelle precedenti discussioni, soprattutto in quelle chiuse, poiché sembra che tu non ne abbia minimamente tenuto conto leggendo la domanda qui sopra.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  3. #3
    Per via del typedef situato all'inizio del codice TFrase è un alias per char[NMaxChars], ossia char[255]. Quindi "tFrase f;" dichiara un buffer di 255 caratteri.
    Amaro C++, il gusto pieno dell'undefined behavior.

  4. #4
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,326

    Moderazione

    Intercedo anch'io per suggerire l'utilizzo degli appositi tag [*CODE] e [*/CODE] (senza asterisco rosso) quando si posta del codice, in modo da agevolare la lettura del codice stesso.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.