Why it prints 2 times?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#include<stdio.h>
#include<string.h>
#include <ctype.h>

void esvaziar(char *frase)
{
	int contador;
	for(contador = 0; contador < 76; contador++)
	{
		frase[contador] = 0;
	}
}

int main()
{
	int contador;
	char frase[76];
	esvaziar(frase);
	fgets(frase, 76, stdin);
	
	while( strcmp(frase, "the end!\n") != 0 )
	{
		for(contador = 0; contador < 75; contador ++)
		{
			frase[contador] = putchar (toupper(frase[contador]));	
		}
		printf("%s", frase);
		
	
		esvaziar(frase);
		fgets(frase, 76, stdin);
	}
	
	return 0;
}


input:

MSX foi o nome dado a uma arquitetura de micro computadores pessoais
criado no Japao em 1983, apresentada em 27 de junho do mesmo ano,
e que definia um padrao para os desenvolvedores de hardware.
Foi desenvolvido por Kazuhiko Nishi, vice-presidente da ASCII Corporation,
empresa japonesa que era representante da Microsoft no Japao ate 1986.
Vou escrever mais um monte de besteira aqui que e pra nao ficar igual
ao exemplo de entrada. Boa sorte aos programadores!
the end!



output:

MSX FOI O NOME DADO A UMA ARQUITETURA DE MICRO COMPUTADORES PESSOAIS
MSX FOI O NOME DADO A UMA ARQUITETURA DE MICRO COMPUTADORES PESSOAIS
CRIADO NO JAPAO EM 1983, APRESENTADA EM 27 DE JUNHO DO MESMO ANO,
CRIADO NO JAPAO EM 1983, APRESENTADA EM 27 DE JUNHO DO MESMO ANO,
E QUE DEFINIA UM PADRAO PARA OS DESENVOLVEDORES DE HARDWARE.
E QUE DEFINIA UM PADRAO PARA OS DESENVOLVEDORES DE HARDWARE.
FOI DESENVOLVIDO POR KAZUHIKO NISHI, VICE-PRESIDENTE DA ASCII CORPORATION,
FOI DESENVOLVIDO POR KAZUHIKO NISHI, VICE-PRESIDENTE DA ASCII CORPORATION,
EMPRESA JAPONESA QUE ERA REPRESENTANTE DA MICROSOFT NO JAPAO ATE 1986.
EMPRESA JAPONESA QUE ERA REPRESENTANTE DA MICROSOFT NO JAPAO ATE 1986.
VOU ESCREVER MAIS UM MONTE DE BESTEIRA AQUI QUE E PRA NAO FICAR IGUAL
VOU ESCREVER MAIS UM MONTE DE BESTEIRA AQUI QUE E PRA NAO FICAR IGUAL
AO EXEMPLO DE ENTRADA. BOA SORTE AOS PROGRAMADORES!
AO EXEMPLO DE ENTRADA. BOA SORTE AOS PROGRAMADORES!


Why it prints 2 times?
putchar() prints once each character in a line and then you print the entire line with printf();
Ok thank you so much. Really was it.
please mark as solved, thank you :}
Is this in Spanish?
No it's portuguese
Topic archived. No new replies allowed.