Ir ao conteúdo

Posts recomendados

Postado

Boa noite!

Eu tenho que fazer um programa utilizando funções que inverta a ordem dos nomes.

Exemplo: João Calvet  teria que ficar Calvet João.

 

Eu realmente n sei o que fazer, se alguem puder me ajudar eu agradeço!

(Lembrando que esse programa está errado)

#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <ctype.h>
#include <string.h>
#include <locale.h>

//Função Trocar Nomes

char* eraser (char*st)
{
   int i, var1, j;
   char nom[50][50];
   int cont=0;

   for(i = strlen(st);i<=0;i--)
   {
      if(st[i]==' ')
      {
        var1 = i;
      }
   }
   for(j=0;j>=var1;j++)
   {
      st[j] == nom[cont];
      cont++;
   }
}

//Principal

int main()
{
   char nome[50];

   printf("Digite seu nome");
   scanf("%s", &nome);
   
   printf("Seu nome: %s", eraser(nome));
}

 

  • Curtir 1
Postado

O primeiro passo é ler corretamente o nome, pois o scanf não aceita espaços. Use fgets.

int main()
{
   printf("Digite seu nome");
   fgets(nome, 50, stdin);
   nome[strlen(nome)-1]="\0";//remove o enter
  

você pode usar a função strstr para encontrar a primeira ocorrência do espaço e assim delimitar o nome/sobrenome:

 char* ch = strstr (nome, " " );
 int pos = ch - nome;

pos vai dizer em que posição o espaço está. Então você deve separar o nome em dois: primeiro_nome e sobre_nome. você copia os caracteres de 0 até pos-1 no primeiro_nome e de pos+1 até o fim em sobre_nome. Depois é só imprimir na tela ordem que você quer.

Veja se consegue terminar.

  • Curtir 1

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