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
codice:
#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;
}
Grazie
Andrea