Ciao,
a laboratorio di programmazione ci č stato dato da fare questo semplice esercizio:
scrivere un programma che usi la funzione getchar, che legga dei caratteri sulla shell di linux e che conti quanti caratteri, quate parole e quante righe sono state inserite.
Dove la aprte sul numero dei caratteri funziona ma la parte sulle parole (incrmenta la var parole ogni carattere spazio che viene inserito) e la parte sulle righe (incrementa la variabile righe ogni volta che si preme invio) non funziona..dā 2 warning in fase di compilazione e quando lo vado ad eseguire questi due valori stanno sempre a 0....per favore potete aiutarmi a risolvere...la logica dovrebbe essere giusta...probabilmente sbaglio qualcosa nel contornto nelle due if
Graziecodice:#include <stdio.h> int main(){ int caratteri = 0; int parole = 0; int righe = 0; int corrente; corrente = getchar(); // Leggi il primo carattere dalla tastiera while(corrente != EOF){ caratteri ++; // Incrementq il numero di caratteri letti if(corrente == " ") parole ++; // Ad ogni spazio incrementa il numero delle parole scritte if(corrente == "\n") // Ad ogni invio incrementa il numero di righe righe ++; corrente = getchar(); // Leggi un nuovo carattere dalla tastiera } printf("\nSono stati letti: %d caratteri dalla tastiera\n", caratteri); printf("\nIl numero di parole corrisponde a: %d\n", parole); printf("\nIl numero di righe corrisponde a: %d\n\n", righe); return 0; }
Andrea

Rispondi quotando
