Quero fazer um programa semelhante a esse debaixo,só que não compila:
#include<stdio.h>#include<stdlib.h>intmain(){charnome[50],sobrenome[50],nomecompleto[100];printf("\n Digite o seu nome:\t");scanf("%c",&nome);printf("\n Digite o seu sobrenome\t");scanf("%c",&sobrenome);nomecompleto=(nome+sobrenome);if(nomecompleto=JoãoSantosVieiraJunior){printf("\n Você é o cara!");}else{printf("\n Você não é o cara!");}return0;}
Não é assim que se concatena String em C, tem que usar a função strcat.
O operador = é para fazer atribuição;
Para comparar String tem que usar a função strcmp;
João Santos Vieira Junior não é um literal string válido.
W
WhiteHat
#include<stdio.h>#include<string.h>intmain(){charnome[50],sobrenome[50],nomecompleto[100];printf("\nDigite o seu nome: ");scanf("%s",nome);printf("\nDigite o seu sobrenome: ");scanf("%s",sobrenome);strcat(nomecompleto,nome);strcat(nomecompleto," ");strcat(nomecompleto,sobrenome);if(strcmp(nomecompleto,"João Santos Vieira Junior")==0){printf("\nVocê é o cara!");}else{printf("\nVocê não é o cara!");}return0;}
Como faço para imprimir você é o cara no programa quando eu digitar o meu nome João Santos Vieira Junior?
S
staroski
Imprime o valor da variável nomecompleto entre aspas pra ver o conteúdo dela, aí vai descobrir porque a comparação não passa.
W
WhiteHat1 like
Não entendi.
S
staroski
Antes do if, imprime o valor da variável nomecompleto.
Aí você vai ver qual é o conteúdo dela e vai entender o motivo de não estar entrando no seu if.
W
Solucao aceita
WhiteHat
De novo não entendi o que tu disse,mas um amigo meu de outro fórum fez o programa como eu queria,e ficou assim:
#include<stdio.h>#include<string.h>intmain(){charnome[100],sobrenome[100];printf("Digite seu nome: ");fgets(nome,100,stdin);printf("Digite seu sobrenome: ");fgets(sobrenome,100,stdin);// Verifica se o nome é "João" e se o sobrenome completo contém "Santos Vieira Junior"if(strcmp(nome,"João\n")==0&&strstr(sobrenome,"Santos Vieira Junior")!=NULL){printf("Você é o cara!\n");}else{printf("Você não é o cara!\n");}return0;}
S
staroski1 like
Só pedi pra você imprimir a variável nomecompleto antes do seu if.