Programma da mettere alla prova!

di
Anonimizzato28411
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