Programma da mettere alla prova!

di il
27 risposte

Programma da mettere alla prova!

In che modo si può mettere alla prova questo programma per il conteggio di righe, parole e caratteri in un testo? Quale tipo di dati in ingresso ha più probabilità di individuare eventuali bachi?

#include <stdio.h>

#define IN 1
#define OUT 0
//Conta il numero di righe, parole e caratteri in un testo
main()
{
	int c, nl, nw, nc, state;

	state = OUT;   //stato=esterno alla parola
	nl = nw = nc = 0;
	while ((c = getchar()) != EOF) {
		++nc;//conta il carattere
		if (c == '\n')//se c è 1 carattere new line
			++nl;//conta nuova riga
		if (c == ' ' || c == '\n' || c == '\t')//se (c=spazio o c=newline o c=tabulazione)
			state = OUT;//allora stato=esterno alla parola
		else if (state == OUT) {//altrimenti se (stato=esterno alla parola)
			state = IN;//allora stato=interno alla parola
			++nw;//conta nuova parola
		}printf("Righe:%d Parole:%d Caratteri:%d\n", nl, nw, nc);
	}
	
}

27 Risposte

Devi accedere o registrarti per scrivere nel forum
27 risposte