Ir para conteúdo
Fórum Script Brasil

Dark Lotus

Membros
  • Total de itens

    2
  • Registro em

  • Última visita

Sobre Dark Lotus

Últimos Visitantes

O bloco dos últimos visitantes está desativado e não está sendo visualizado por outros usuários.

Dark Lotus's Achievements

0

Reputação

  1. Estudei bastante, mas ainda não consigo o que eu queria. Qualquer nome que eu coloque dá "usuário inválido". Estou quase conseguindo... Onde estou errando? Repare nas linhas "fscanf (ArqUsr,"%s",&senhareal);" e "(strcmp(senha,senhareal)!=0)" . Nesta parte, supostamente, o programa copia o conteúdo do arquivo com o nome do usuário (a senha) para a string senhareal, e então compara com a senha informada pelo usuário para ver se elas batem. gotoxy(3,16);printf("Digite seu nome de usuário: ");gets(usr);//Usuário digita o nome com que quer se logar ArqUsr = fopen(usr,"r");//abre o arquivo com o nome do usuário gotoxy(3,17);printf("Digite sua senha: ");textcolor(BLACK);gets(senha);textcolor(WHITE);//usuário informa sua senha if(ArqUsr!=NULL)//se o arquivo com o nome informado existir { fscanf (ArqUsr,"%s",&senhareal);//grava o conteúdo de ArqUsr na variável senhareal if (strcmp(senha,senhareal)!=0)//e a senha informada pelo usuário bater com a senha real... { gotoxy(20,23);printf("Login feito com sucesso!");//é informado ao usuário que ele conseguiu se logar getch();break; } else//se não... { gotoxy(20,23); printf("Usuário ou senha não está correto. Tente novamente...");//é informado que os dados estão incorretos getch();break; } } else { gotoxy(20,23);printf("Usuário ou senha não está correto. Tente novamente...");//quando o usuário tenta entrar com um nome inválido getch();break; }
  2. Boa tarde à todos. Preciso criar uma função que sirva para fazer login de usuários num programinha que estou desenvolvendo. Estou programando em C, não C++, sem orientação à objetos. A parte do cadastro eu já consegui fazer. Aoós o cadastro, é gravado um arquivo com o nome do usuário, e dentro dele, a senha. Exemplo: nome: fulano senha: 12345 arquivo: fulano.txt, conteúdo do arquivo: *123456 Eu sei que é um método tosco, mas num momento, é só o que eu preciso. A parte difícil é a leitura do arquivo, para identificar a senha e usuário em cada arquivo na hora do login. Cada arquivo fica com o nome de quem criou ("fulano.txt"), mas não sei como fazer pra procurar uma determinada palavra no arquivo e usá-la em outra variável, até deixei os marcador (* para senha), mas estou com dificuldades para implementar isso. Alguém pode me ajudar? O código-fonte, comentado, por enquanto, é esse: #include <stdio.h> #include <stdlib.h> #include <string.h> #include <conio.h> #include <conio.c> #include <locale.h> char opl; char usr[50],senha[10]; FILE *ArqUsr; int main() { setlocale(LC_ALL, "Portuguese"); do{ textcolor(WHITE);clrscr(); gotoxy(26,2); printf("*---------------------------*"); gotoxy(26,3); printf("|******CRIPTOFAGO-LOGIN*****|"); gotoxy(26,4); printf("*---------------------------*"); gotoxy(26,5); printf("| 1: Fazer login |"); gotoxy(26,6); printf("| |"); gotoxy(26,7); printf("| 2: Fazer cadastro |"); gotoxy(26,8); printf("| |"); gotoxy(26,9); printf("| 3: Voltar |"); gotoxy(26,10); printf("| Opção: |"); gotoxy(26,11); printf("*---------------------------*"); gotoxy(52,10); opl=getch(); switch(opl) { case '1'://login { gotoxy(3,16);printf("Digite seu nome de usuário: ");gets(usr);//Usuário digita o nome com que quer se logar gotoxy(3,17);printf("Digite sua senha: ");textcolor(BLACK);gets(senha);textcolor(WHITE);//usuário informa sua senha if(ArqUsr!=NULL)//se o arquivo com nome e senha não for inexistente { /* Aqui está a parte difícil: Como eu faço para procurar uma palavra específica no arquivo (a senha), e compará-la com a senha informada pelo usuário? */ } else { gotoxy(3,16);printf("Nenhum usuário cadastrado!");break; } } case '2'://cadastro { textbackground(BLACK); textcolor(WHITE); gotoxy(3,16);printf("Digite seu nome: ");gets(usr);//Usuário insere o nome com que quer ser cadastrado gotoxy(3,17);printf("Digite sua senha: ");textcolor(BLACK);gets(senha);//usuário digita sua senha ArqUsr=fopen(usr,"a");//fazer um arquivo com o nome do usuário textcolor(WHITE);gotoxy(3,18);printf("Usuário cadastrado com sucesso!"); fprintf(ArqUsr,"*%s",senha);//grava no arquivo a senha do usuário, antecedida pelo caractere * fclose(ArqUsr);//fecha o arquivo getch(); } case '3': opl=0;break; default : printf("\a");break; } }while (opl!=0); }
×
×
  • Criar Novo...