Programma da mettere alla prova!

di Anonimizzato28411 il
27 risposte
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

  • Ma perché il newline viene compreso nel conteggio dei caratteri?
  • Oregon ho visto che negli argomenti c' era un altro programma da mettere alla prova ma diverso da questo, quindi ho creato un altro argomento.
    il newline viene compreso nel conteggio delle righe.
  • Ti ho chiesto perché il newline viene compreso nel conteggio dei caratteri
  • Allora dimmi a che riga ti riferisci perché a me non risulta
  • Se scrivi

    ciao

    e dai return cosa ottieni?
  • Ah boh dimmelo tu
  • Da errore!
  • Se hai un errore, devi dire quale esattamente, altrimenti, dato che nessuno ha tempo da perdere, non avrai molte risposte.
  • Mi sono sbagliato forse, cosa vuol dire scrivere ciao e dare return?
  • Compila ed esegui il tuo programma e quando ti chiede l'input scrivi

    ciao

    e dai invio.
  • L'ho fatto non da nessun problema
  • Quanti caratteri conta?
  • Ne conta 5 anche se sono 4
  • Ma quello è un problema che c'è sempre stato
Devi accedere o registrarti per scrivere nel forum
27 risposte