Ir ao conteúdo
  • Cadastre-se

C Código C: leia nomes de pessoas compostos por um prénome e sobrenome


Shifther
Ir à solução Resolvido por Ansi C,

Posts recomendados

#include <stdio.h>
#include <conio.h>
#include <string.h>
 
main(){
      char nome[50],sobrenome[50],n[50];
      int i,j=0,x=0,tam,sei,aux=0;
      printf("Digite seu nome completo:");
      fflush(stdin);
      fgets(nome, 50, stdin);
	  nome[strlen(nome)-1] = '\0';	
      tam=strlen(nome);
 
      for (i=tam-1;nome[i]!=' ';i--){
        sobrenome[j]=nome[i];
        j++;
 
       }
      sobrenome[j] = '\0';
      sei=strlen(sobrenome);
      strrev(sobrenome);
      fflush(stdin);
 
      aux=tam-sei;
 
 
      for (i=0;i<aux;i++){
          n[x]=nome[i];
          x++;
        }    
      fflush(stdin);
      printf ("%s, %s", sobrenome, nome);   
 
      getch();
}  

 

adicionado 1 minuto depois

Não consigo entender como posso fazer
- A lista de nomes em ordem alfabética do pré-nome;
- A lista de nomes em ordem alfabética de sobrenomes;
- O número médio de letras por nome.

Link para o comentário
Compartilhar em outros sites

  • Solução

Nós não queremos lhe dar a resposta, as vezes alguns membros mesmo assim dão na forma de algoritmo narrativo, descritivo ou pseudocódigo. Como eu estou sem tempo então não posso lhe ajudar com muita coisa.

 

Percebo que o nome e o sobrenome são impressos separadamente no final, é o caso de lê na mesma técnica, ou seja, um de cada vez separadamente. Isso resume a leitura em 1 linha de código o que é muita coisa comparada a se fazer um "cabaré" por tão pouco.

 

char nome[42];	        // para salvar o primeiro nome
char sobrenome[150];	// para salvar o segundo nome

scanf (" %s%149[^\n]", nome, sobrenome);	// ler nome
printf ("%s, %s", nome, sobrenome);		// exibir nome

 

Com relação a segunda parte, planeja a solução de como faria para resolver você mesmo e não com programação, nesse caso é você papel e caneta: como seu cérebro resolve isso. Depois aplique a linguagem e faça perguntas mais objetivas.

Link para o comentário
Compartilhar em outros sites

  • 3 meses depois...

Eu fiz o código para resolver isso devo seguir a mesma apostila que tu causo querer me adiciona discord e me diz que é do Clube do Hardware podemos fazer os exerci-os juntos.

 

Discord: PedroOliveira#0962

 

#include <stdio.h>

#include <string.h>

int main(){

 

float media=0,soma=0;

int i=0,tam=20,j=0,dijitados=0;

char nomes[tam][20],aux[20];

char sobrenomes[tam][40],saux[40];

 

printf("Coloque a Lista de Nomes; Dijite FIM para sair.\n");

 

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

char tmpnomes[tam][20];

char tmpsobrenomes[tam][40];

printf("Nome %d: ",i+1);

scanf("%s%[^\n]s",&tmpnomes,&tmpsobrenomes);

setbuf(stdin, NULL);

if(strcmp(tmpnomes, "FIM") != 0)

{

dijitados++;

strcpy(nomes,tmpnomes);

strcpy(sobrenomes,tmpsobrenomes);

}

else{

break;

}

}

//organizar array em ordem alfabetica dos pre-nomes

for (i = 1; i < dijitados; i++) {

for (j = 1; j < dijitados; j++) {

if (strcmp(nomes[j - 1], nomes[j]) > 0) {

strcpy(aux, nomes[j - 1]);

strcpy(nomes[j - 1], nomes[j]);

strcpy(nomes[j], aux);

}

}

}

//organizar array dos sobrenomes

for (i = 1; i < dijitados; i++) {

for (j = 1; j < dijitados; j++) {

if (strcmp(sobrenomes[j - 1], sobrenomes[j]) > 0) {

strcpy(aux, sobrenomes[j - 1]);

strcpy(sobrenomes[j - 1], sobrenomes[j]);

strcpy(sobrenomes[j], aux);

}

}

}

 

//imprimir nomes

printf("\nA lista de nomes em ordem alfabética do pré-nome: \n");

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

printf("\n%s", nomes);

}

//imprimir sobrenomes

printf("\nA lista de nomes em ordem alfabética de sobrenomes: \n");

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

printf("%s\n", sobrenomes);

}

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

soma += strlen(nomes);

}

media = soma / dijitados;

printf("Numero medio de letras por nome: %.2f \n",media);

}

 

 

Link para o comentário
Compartilhar em outros sites

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...