Ir para o conteúdo
dianaalbano

Menu Login

Mensagens Recomendadas

dianaalbano    0
dianaalbano

Boas tardes

Estou a fazer um trabalho em C++ sobre a gestão de uma Loja e tenho no início um menu login porém, não sei como fazer a confirmação de que o user e a password inseridas se encontram no vector utilizadores. Se não estiverem lá então não entra no sistema. Podem me ajudar?

Obrigado

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
FABIO_F_A_SANTOS    0
FABIO_F_A_SANTOS

Claro que te podemos ajudar...

Mas primeiro tens de explicar melhor o que pretendes...

Primeiro: estás a criar a aplicação em modo de consola ou em modo gráfico?

Podes mostrar-nos o código que já tens feito?

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
dianaalbano    0
dianaalbano

void menuLogin()
{
string user, password, util_user;
int flag=0, i;

do
{
	cout << "Username" << endl;
	cin >> user;
	cout << "Password" << endl;
	cin >> password;

	for(i=0; i<(int)utilizadores.size(); i++)
	{
		if((strcmp(utilizadores[i].util_user, user)==0 && (utilizadores[i].util_password, password)))
		{
			cout << "Entrou no sistema!" << endl;
		}
		else
			break;
	}
}
while(flag=0);
}

Este é o código que tenho mas não está bem...

Ajudas-me?

Obrigado

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
FABIO_F_A_SANTOS    0
FABIO_F_A_SANTOS

Aqui tens o código corrigido e com algumas sugestões. Espero que tenha ajudado! Mais alguma coisa não esites em perguntar que o pessoal não esitará em ajudar. Falando por mim, tb podes contactar-me por mail ou no msn que se eu puder ajudo-te!

void menuLogin()
{
string user, password, util_user;
int flag=0, i;

do
{
	cout << "Username" << endl;
	cin >> user;
	cout << "Password" << endl;
	cin >> password;

	for(i=0; i<(int)utilizadores.size(); i++)
	{
		//if((strcmp(utilizadores[i].util_user, user)==0 && (utilizadores[i].util_password, password)))
		if(utilizadores[i].util_user == user && utilizadores[i].util_password == password)
		// como para strings existe o overload do operador "==" não precisas de usar o strcmp que nem sei se funcionaria neste caso...
		{
			cout << "Entrou no sistema!" << endl;
			flag = 1; // para indicar que já pode ser quebrado o ciclo do - while pois como o user e a pass coincidem já não tem de testar os seguintes.
		    break; // para quebrar o ciclo for e "cair" para o do-while dado que já foi encontrado
            }
		//else          este codigo aqui, não estava correcto pois pretende-se que o ciclo for pare apenas quando for encontrado um user e pass coincidentes
			//break;
	}
	//aqui poderias fazer algo do tipo: if(i == (int)utilizadores.size()) /*significa que não encontrou*/ cout << "user ou pass inválidos!";
}
//while(flag=0);
while(flag == 0); // lembra-te que isto é uma comparação e não uma atribuição do valor zero, este erro é muito comum quando se está a começar...
}

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
dianaalbano    0
dianaalbano

Muito obrigado pela ajuda. Não tinha muita coisa errada mas era o bastante. Eu começei agora a programar em c++ e ainda n sei grande coisa.

Vou abusar um bocado de ti se puder.

Tenho mais dúvidas.

void insereCliente()
{
int cl_nif, cl_contacto;
string cl_nome, cl_morada;
int data_nasc;

ofstream out;
out.open ("Clientes.txt");
if (out.is_open)
{
	cout << endl << "Nome: ";
	cin >> cl_nome;
	fflush(stdin);
	cout << endl << "Morada: ";
	cin >> cl_morada;
	fflush(stdin);
	cout << endl << "Data de Nascimento (dd-mm-aaaa): ";
	cin >> data_nasc;
	fflush(stdin);
	cout << endl << "Numero de Identificacao Fiscal: ";
	cin >> cl_nif;
	fflush(stdin);
	cout << endl << "Contacto: ";
	cin >> cl_contacto;
	fflush(stdin);
	cout << endl;

	out.close();
}
else
{
	cout << "Ocorreu um problema!" << endl;
}

}

Tenho este codigo para fazer inserções (neste caso para inserir um cliente). Este código está bem?

Ele tá a ser chamado no main mas dá erro e não sei pk? Tou a trabalhar bem com os ficheiros?

Ja agora posso juntar no msn? Torna-se um bocado mais fácil para esclarecer as dúvidas.

Obrigado

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
TheDark    0
TheDark

Ja agora posso juntar no msn? Torna-se um bocado mais fácil para esclarecer as dúvidas.

Acho que é má onda vir a um fórum pedir ajuda e depois querer ficar com a ajuda em privado. O fórum serve para que todos exponham as suas dúvidas e, quando os problemas são resolvidos, que os esclarecimentos dados sirvam para ajudar futuros utilizadores que possam ter as mesmas dúvidas.

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
NuGuN    2
NuGuN

Boas....

Estive a olhar para esse código e surgio uma questão, isto - utilizadores[ i ].util_user - é uma estrotura que foi criada algures, certo?

Cumps

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
NuGuN    2
NuGuN

Supostamente, é um vector de utilizador. Em que utilizador é uma struct com dois campos do tipo string.

pois.... como não aparecia definida nesses códigos fonte postados e eu também não percebo muito de C, ficou logo a fazer confusão  :-[

Obrigado.

Cumps

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora


×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade