Ir ao conteúdo

Posts recomendados

Postado

Escreva um programa para ler 5 nomes (e sobrenomes) de pessoas (considere que cada nome possui no máximo 70 letras e contém apenas letras minúsculas). Converter apenas a inicial de cada nome para maiúscula. Imprimir cada nome após a conversão.

#include <stdio.h>
#include <string.h>
#include <ctype.h>

int main() {

    char frase[71];
    int i;
	for(i=0;i<5;i++){
    	printf("Digite seus dois primeiros nomes: ");
    	scanf("%[^\n]", frase);

    	strlwr(frase);

    	for (i = 0; i < ; i++) {
        	if (i == 0 || frase[i - 1] == ' ')
            	frase[i] = toupper(frase[i]);
        	else
            	frase[i] = frase[i];
    	}

    	printf("Nome: %s\n", frase);
    }

    return 0;
}

Eu coloquei esse ''for(i=0;i<5;i++)'' para poder colocar os 5 nomes que pede ali, porém só repete uma vez. o que estou fazendo de errado?

  • Membro VIP
Postado
8 minutos atrás, Helio Junnior Sartor Dalmolin disse:

for (i = 0; i < ; i++)

préstenção...

8 minutos atrás, Helio Junnior Sartor Dalmolin disse:

''for(i=0;i<5;i++)''

 

  • Curtir 1
Postado

@.if

#include <stdio.h>
#include <string.h>
#include <ctype.h>

int main() {

    char frase[71];
    int i;
	for(i=0;i<5;i++){
    	printf("Digite seus dois primeiros nomes: ");
    	scanf("%[^\n]", frase);

    	strlwr(frase);

    	for (i = 0; i <strlen(frase) + 1; i++) {
        	if (i == 0 || frase[i - 1] == ' ')
            	frase[i] = toupper(frase[i]);
        	else
            	frase[i] = frase[i];
    	}

    	printf("Nome: %s\n", frase);
    }

    return 0;
}

arrumei ali a parte que você falou porém não repetiu as 5 vezes

Postado
53 minutos atrás, Helio Junnior Sartor Dalmolin disse:

Escreva um programa para ler 5 nomes (e sobrenomes) de pessoas (considere que cada nome possui no máximo 70 letras e contém apenas letras minúsculas).

O exercício está situado em três etapas a primeira é  Ler os 5 nomes de máximo 70 caracteres (está garantido de que não haverá entradas de nomes acima de 70 caracteres).

 

Você pode escrever essa entrada "analiticamente", passo a passo um comando para cada nome, ou fazer com está fazendo, porém, a estrutura deve cuidar apenas da Leitura, Ler ou (Entrada)

 

p. Ex:

char   nomes[5][71];

/**! 
 *  Entrada dos Nomes
 *  
 *  Querendo descreva o que acontece abaixo, ou não.
 */
for( int i = 0 ;    i < 5    ; i = 1 + i ){
        
        printf( "Digite seus dois primeiros nomes (no máximo 70 caracteres): " );
        scanf( " %70[^\n]" , &nomes[i][0] );
}

 

53 minutos atrás, Helio Junnior Sartor Dalmolin disse:

Converter apenas a inicial de cada nome para maiúscula

Imprimir cada nome após a conversão.

Converter (processo) e Imprimir (saída) podem ou não estarem no mesmo ‘loop’, penso que se entende mais quando estão cada qual no seu. 

 

Já a entrada, essa realmente me parece ser solitária.

[:)]

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...