Conta numero delle parole.

di il
1 risposte

Conta numero delle parole.

Ho risolto la seguente traccia:


Esercizio 1.
Scrivere un programma in linguaggio C che legge un file di testo e conta il numero di parole in esso
presenti. Ogni parola e’ terminata da uno dei seguenti caratteri
<spazio> , . ; : ? ! <invio>
Il programma deve inoltre creare un array in cui ogni elemento e’ una stringa. L’array dovra’
contenere tutte le parole del testo. Si stampi a video il contenuto dell’array.
#include <stdio.h>
#include <stdlib.h>
#include <string.h>


#define LUNG_MAX[];

int main(int argc, char* argv[])
{
    FILE *fp;
    int i;
    int j;
    char bufferlettura [LUNG_MAX];

    if(argc!=2){
        printf("Errore numero di parametri\n");
        return 1;
    }

    if((fp=fopen(argv[1],"r"))==NULL){
        printf("Errore apertura file\n");
        return 1;
    }
    printf("File aperto ed ecco il contenuto\n");

    int count = 0;

    while(!feof(fp)){
    fgets(bufferlettura, LUNG_MAX,fp);
    count ++;
    }
    char parola[count][LUNG_MAX];
    fseek(fp,0,SEEK_SET);
    i=0;
    while(!feof(fp)){
        fgest(parola[i],LUNG_MAX,fp);
        i++;
    }
    printf("Fine del file\n");
    fclose(fp);

}
for(i=0; i<count-1; i++){
    printf("parola %d: %s\n", i parola[i]);
    for(j=0 j<strlen(parola); j++){
        if(j == "?");
        printf("%s", parola);

        if(j == "!");
         printf("%s", parola);

         if(j == ";");
         printf("%s", parola);

         if(j == ".");
         printf("%s", parola);

         if(j == ",");
         printf("%s", parola);

}
    printf("\n");
    fprintf(fp, "\n");
    fclose(fp);

}



Dite che ho elaborato correttamente il programma?

P.S. Vi chiedo di rispondere cortesemente non come sempre, ma di aiutarmi discutendo in modo tale che potrò capire e magari i lettori apprezzeranno questo thread!

1 Risposte

  • Re: Conta numero delle parole.

    Ok, ma tu devi provare a compilarli i tuoi sorgenti, altrimenti non c'è molto da discutere.

    Cosa vuol dire

    #define LUNG_MAX[];


    ?

    Cosa ti dice il compilatore?

    Correggi tutti gli errori di sintassi e di compilazione e solo dopo discuti del codice.
Devi accedere o registrarti per scrivere nel forum
1 risposte