Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

  • 0
Brendakaroliny

Strcat

Pergunta

Eu pedir para que o usuário digitasse três nomes, e concatenar pelo strcat. porém no começo os três nomes estavam aparecendo um embaixo do outro.

ex:

Carol

Maria

Felipe

resolvir isso tirando o \n, mas agora o nome esta aparecendo tudo junto.

ex:

CarolMariaFelipe

como posso separar os nomes ? 

Compartilhar este post


Link para o post
Compartilhar em outros sites

5 respostas a esta questão

Recommended Posts

Por que não usa o sprintf ????

 

   char nome1[20], nome2[20], nome3[20], str_final[80];

   strcpy(nome1, "Carol" );
   strcpy(nome2, "Maria" );
   strcpy(nome3, "Felipe");

   sprintf(str_final, "%s %s %s", nome1, nome2, nome3);

   printf(str_final);

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

porq eu tenho que concatenar em uma única string 

olha como estou fazendo

    printf("Informe o 1° nome: ");
    fgets(nome1,QTD_NOM,stdin);
    nome1[strlen(nome1) -1]='\0';
    
    printf("Informe o 2° nome: ");
    fgets(nome2,QTD_NOM,stdin);
    nome2[strlen(nome2) -1]='\0';
       
    printf("Informe o 3° nome: ");
    fgets(nome3,QTD_NOM,stdin);
    nome3[strlen(nome3) -1]='\0';
    
    strcat(nome1,nome2);
    strcat(nome1,nome3);
    strcpy(nomeCompleto,nome1); 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sim... o "sprintf" vai fazer exatamente isso.

sprintf(nomeCompleto, "%s %s %s", nome1, nome2, nome3);

 

Ele irá concatenar as várias nome1, nome2 e nome3 na string nomeCompleto, com espaços entre os nomes.

Tente aí!

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por melin
      Olá, estou com uma dúvida nesta questão que necessita da utilização de struct. A minha dúvida é como juntar as duas estruturas e compara-las para que seja imprimido o nome e sobrenome junto com a nota. Outra dúvida é o meu ciclo for que não é inicializado.
      Escreva um programa que preencha, a partir do teclado, duas estruturas distintas do tipo vetor com os nomes e as notas (as notas têm de estar contidas no intervalo 0 ≤ nota ≤ 10) dos alunos, respectivamente, de uma turma de 100 alunos. Após, exteriorize somente os nomes dos alunos que obtiveram notas iguais ou maiores que 5 (cinco).
       
      #include <stdio.h> struct nome { char nome; char sobrenome; }; struct nota{ int nota; }; int main(void){ int i,j,h; struct nome aluno[2]; struct nota boletim[2]; for (i = 0; i < 2; ++i){ printf("Digite o nome do Aluno\n"); scanf("%s%s", &aluno[i].nome, &aluno[i].sobrenome); printf("Digite a nota do Aluno\n"); scanf("%i", &boletim[i].nota); } for (i = 0; i < 2; ++i){ if (boletim[i].nota >= 2){ printf("O Aluno %s %s tem foi aprovado com nota %i", aluno[i].nome, aluno[i].sobrenome, boletim[i].nota); } } system("pause"); return 0; }  
    • Por lara1807
      Boa noite pessoal, preciso resolver um algoritmo que o código abaixo descreve. Eu possuo um vetor de porcentagens e cada porcentagem dessas é atribuida de um valor do vetor entrada_pop. Nesse programa eu quero gerar um numero aleatório e ver as porcentagens que são maiores que esse numero aleatório e armazenar o valor, não da porcentagem, mas do valor que representa a porcentagem, em um vetor novo, depois imprimir este vetor, só que não está indo. Alguém pode me ajudar?? Estou variando os valores de 0 a 100
      #include <time.h>
      #include<math.h>
      #define num_individuo 3
      #define tam_vetores 1000
      int main()
      {
          float valor_percen_aptidao[]={6,20,80},v_selecionado[100],vetor_entrada_pop[]={1,2,3};
          int cont=0,i,valor_percen;
          srand(time(NULL));
          while(cont<=num_individuo)
          {
              valor_percen=(rand()%100);
              printf("sorteado %d",valor_percen);
              for(i=0;i<num_individuo;i++)
              {
                  if(valor_percen_aptidao[1]>=(float)valor_percen)
                  {
                      v_selecionado[cont]=vetor_entrada_pop;
                      cont++;
                  }
              }
          }
           for(i=0;i<num_individuo;i++)
          {
              printf("selecionados %.2f \n",v_selecionado);
          }
      }
       
    • Por novo na programação
      O sistema consiste em ler os dados cadastrados (valores estáticos) de uma entrevista e
      fornecer as informações para as seguintes perguntas:
       
      1 - Quantidade de mulher e homens na área? (% de cada sexo)
      2 - Faixa etária? (Menor e maior idade por sexo). Criar um vetor idade para cada sexo.
      3 - Quem ganha mais? Homem ou Mulher? (Comparar médias de salários)
      4 - Quem é mais especializado? (Comparar quantidade com pós-graduação %)
       
      Ex1. Perguntas?
      Sexo (1- H, 2-M)
      Idade (?)
      Salário (?)
      Possui pós-graduação? (1-S, 2-N)

      Entrada (estática)

      Entrevistado 1
      Sexo = 1
      Idade = 19
      Salário = 4.000,00
      Possui pós-graduação = 2

      Entrevistado 2
      Sexo = 2
      Idade = 25
      Salário = 3.000,00
      Possui pós-graduação = 1

      Entrevistado 3
      Sexo = 1
      Idade = 18
      Salário = 5.000,00
      Possui pós-graduação = 2

      Entrevistado 4
      Sexo = 1
      Idade = 23
      Salário = 6.000,00
      Possui pós-graduação = 1 

      Entrevistado 5
      Sexo = 2
      Idade = 30
      Salário = 2.000,00
      Possui pós-graduação = 1

      SAÍDA
      1 - Quantidade de mulher e homens na área?
      60% homens e 40% mulheres
      2 - Faixa etária?
      homens (18-23) e mulheres (25-30)
      3 - Quem ganha mais? Homem ou Mulher?
      Homens (média 5.000,00) e Mulheres (média 2.500,00)
      4 - Quem é mais especializado?
      homens - 33% e mulheres - 100%
      Cálculo = qtdhomens com pós/qtdhomens *100
    • Por Lucas00
      ALGUÉM PODE ME AJUDAR?
      Escreva um programa que seja capaz de ler uma Matriz (4x4) e um valor x qualquer. O programa deverá fazer uma busca por esse valor x na Matriz e, ao final, escrever a localização (linha e coluna) do valor na Matriz. Caso o valor lido (x) não exista na Matriz, uma mensagem de “não encontrado” deverá ser exibida ao usuário.
    • Por Lucas00
      Escreva um programa que seja capaz de ler uma Matriz (4x4) e um valor x qualquer. O programa deverá fazer uma busca por esse valor x na Matriz e, ao final, escrever a localização (linha e coluna) do valor na Matriz. Caso o valor lido (x) não exista na Matriz, uma mensagem de “não encontrado” deverá ser exibida ao usuário.
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.