Ir ao conteúdo
  • Cadastre-se

Como armazenar string em variavies?


arh

Posts recomendados

oi galera, to estudando a linguagem c, e to com um problema

nao consigo armazenar uma string, a ideia do programa seria criar um nome de usuario e senha, e se os dois estiverem certo fazer tal coisa e se tiver errado mostrar o aviso, o programa que fiz ta assim, mas ta dando erro

 #include <stdio.h>
#include <stdlib.h>

int main (void)
{
//variaveis
char nome_mestre [10];
char nome [10];
int senha_mestre [10];
int senha [10];
//***************************************************

//entrada de dados
printf("Digite um nome de usuario: ");
gets(nome_mestre);

printf("Digite uma senha: ");
scanf("%d", &senha_mestre);

printf("\n\nTESTE Digite o nome de usuario: ");
gets(nome);

printf("\nTESTE Digite a senha: ");
scanf("%d", senha);
//**************************************************

//processamento

if (nome_mestre == nome && senha_mestre == senha)

{
printf ("bem vindo senhor(a) %s",senha_mestre);
}
else
{
printf ("nome ou senha invalido");
}

system ("pause");
return(0);


}

O primeiro gets unciona, o segundo nao. o que tem de errado?

Link para o comentário
Compartilhar em outros sites

Pra comparar strings você tem q usar o strcmp(), com o if não funciona.

R. = Deu certo brother hehe, valeu.

E alí no printf depois do if, você pede pra ele imprimir uma string, mas está usando um vetor de inteiros como argumento.

R. Não entendi.

o que nao entendi foi que o codigo assim da certo

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


int main ()
{
//variaveis
char nome1[10], nome2[10];
int senha1,senha2;

//*******************************************************
//ENTRADA DE DADOS

printf("Digite um nome de usuario: ");
gets (nome1);

printf ("\nConfirmar nome de usuario: ");
gets (nome2);


printf ("\n\nDigite uma senha: ");
scanf ("%d", &senha1);

printf ("\nConfirmar senha: ");
scanf ("%d", &senha2);

//*********************************************************
//PROCESSAMENTO
if (!strcmp (nome1,nome2) && senha1 == senha2)
{ printf("Bem vindo %s. \n", nome2);}
else
{printf("nome ou senha invalido.");}


system ("pause");
return (0);
}

mas se eu coloco a parte

 printf ("\nConfirmar nome de usuario: ");
gets (nome2);

depois da parte

 printf ("\n\nDigite uma senha: ");
scanf ("%d", &senha1);

ja da erro, a funçao gets term que ser usado uma depois da ourta?

OBS: como faço pra ocultar o codigo no site, igual o MateusLPS fez aqui http://forum.clubedohardware.com.br/pic-16f628-lcd/833173

que fica aparecendo a opção "mostrar".

Link para o comentário
Compartilhar em outros sites

Arquivado

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

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