Jump to content
Fórum Script Brasil
  • 0

Usar char dentro de for???


Question

Gente estou começando a estudar linguagem em c/c++, e to com uma duvida, eu consigo usar uma variavel char em uma função for, estou tentatndo fazer com que para executar o resta do codigo o usuario precise se manifestar com seu nome e senha, o nome e senha preciso que seja em caracter, pois em numero fica chato kkkk, tentei fazer com variavel int e deu certo, mas ainda fica minha duvida, alguém pode me dar uma força? Obrigado!!!

Link to post
Share on other sites

1 answer to this question

Recommended Posts

  • 0

O correto é se utilizar de strings para representarem o nome e senha do usuário. Em C, strings nada mais são que um vetor de caracteres (char), cujo a leitura a partir do teclado pode ser feita por intermédio da função scanf.

Veja um simples exemplo de como validar o acesso de um usuário:

//Programa: Login
//Função: Validar um usuário através da senha mestre
//Autor: Hazzu#0707
//Data: 28/07/2020

//Cabeçalhos
#include <stdio.h>
#include <string.h>

//Constantes
#define USUARIO "hazzu"
#define SENHA "vampiro0707"

//Função principal
int main(){
    //Declaração de variáveis
	char user[20], pass[20];
	int validado = 0;
	
	//Apresentação
	printf("------ Login ------\n");
	printf("Ola, esta na hora de validar o seu acesso.\n");

	//Loop de validação
	do{
		//Solicitando usuário e senha
		printf("- Digite o nome de usuario:\n");
		scanf("%s", user);
		printf("- Digite a senha:\n");
		scanf("%s", pass);
		
		//Conferindo senha
		//O operador "==" não pode ser usado para checar igualdade entre duas strings, pois o que está sendo comparado é o ponteiro (endereço de memória), que necessariamente será diferente
		//A função strcmp da biblioteca string.h checa se duas strings são diferentes, retornando 0 (falso) caso sejam iguais.
		if (strcmp(user, USUARIO) || strcmp(pass, SENHA)){
			printf("Login e/ou senha invalidos. Tente novamente.\n");
		}
		else{
			printf("\nLogin efetuado com sucesso!\n");
			validado = 1;		//True
		}
	} while(!validado);
	
	//Usario validado
	//Coloque o codigo funcional aqui
	
    //Encerrando programa
	printf("Obrigado por utilizar o programa!\n");
    return 0;
}

 

Edited by Hazzu
Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      148681
    • Total Posts
      644506
×
×
  • Create New...