Ir ao conteúdo
  • Cadastre-se

Jeff_021

Membro Júnior
  • Posts

    6
  • Cadastrado em

  • Última visita

Reputação

5
  1. Olá boa noite, eu estou tendo esse problema ja faz dias e não consigo ressolver, ja tentei de tudo mas nada funciona, Enfim, eu estou criando uma tela de cadastro e login, salvando todas as informações em um banco de dados do Sqlite3, Quando eu vou compara os dados que o usuário digita, consigo comparar somente os dados do nome, ja a senha eu não consigo, mesmo eu abrindo somente a tabela em um código novo não funciona... OBS: irei resumir o código e deixar somente como estou fazendo essa comparação, pois, o mesmo está muito grande. E estou salvando todos os dados como texto. import sqlite3 ''' Criando o banco de dados path = r'coloque o diretório onde ira se localizar o banco de dados' Banco = sqlite3.connect(path+ r'\DbLogin.db') Cursor = Banco.cursor() try: Cursor.execute("CREATE TABLE cadastro (NOME text, SOBRENOME text, EMAIL text, SENHA text, CONFIRMAR_SENHA text)") except: pass ''' #Criei esse input somente para simular a entrada dos dados na interface gráfica nome = input("NOME: ") senha = input("SENHA: ") #Chamando meu banco de dados e me conectando ao mesmo ''' Dados salvos no banco de dados: NOME---------SOBRENOME---------EMAIL-----------SENHA-------CONFIRMAR_SENHA |Admim 'txt' | Admim | ********* | 123 | 123 | ''' Banco = sqlite3.connect('DBlogin.db') Cursor = Banco.cursor() Cursor.execute("SELECT NOME FROM cadastro") #Salvando todos os dados da coluna NOME dentro da variável Dados_nome = Cursor.fetchall() #Salvando todos os dados da Coluna SENHA dentro da Variável Cursor.execute("SELECT SENHA FROM cadastro") Dados_senha = Cursor.fetchall linha_nome = 0 linha_senha = 0 #lendo todos os dados que estão dentro do banco de dados for row in Dados_nome: print(row) #Comparando a entrada de dados com os do banco de dados if row[linha_senha] == nome: print("Nome OK") for confir in Dados_senha: print(row2) if row2(linha_senha) == senha: print("Senha OK") linha_senha + 1 linha_nome +1
  2. @vangodp Varios, quando um não dava certo eu ia para outro, mas finalmente consegui arrumar aqui e deu certo
  3. Olá sou novo usando o code blocks e programando também alguém poderia me ajudar? Meu IDE está dando esse problema toda vez que eu uso ele para compilar esse código de teste da biblioteca, eu já pesquisei no fórum e na internet porém não estou encontrando a solução do problema, se alguém souber o que pode ser o problema me dá uma ajuda. pelo que eu notei é algum problema no diretório, ou o IDE não está achando a biblioteca. " allegro-4.4.2-mingw-4.5.2 " Essa é versão do meu allegro e a do meu code blocks é a 20.03
  4. @devair1010 Muito obrigo, funcionou, me ajudou muito.
  5. @AdrianoSiqueira Cara muito obrigado, sério mesmo, são pequenos detalhes que tenho que pegar, agora não posso testar por quê estou meio ocupado, mais tarde eu vou corrigir e comentar aqui sobre o mesmo.
  6. #include <stdio.h> #include <stdlib.h> #include <string.h> #include <conio2.h> //Eu deixei essa biblioteca aqui, porque irei usar ela mais a frente #include <locale.h> #define quantidade 10 // Aqui eu defini a minha quantidade de clientes, struct cliente{ char nome[50]; char cpf[12]; char numero[20]; char endereco [200]; char data[20]; }qt[quantidade]; //declação das minhas funções void menu(); void cadastro(); void pesquisar(); void creditos(); void sair(); int main(int ardc, char const *argv[]){ setlocale(LC_ALL, "Portuguese"); menu(); return 0; } void menu(){ //Menu do programa int op; //op é a minha opção que o usuário esclheu do{ system("cls"); printf("\n-----------------------------------PRÉ-MOLDADOS----------------------------------------"); printf("\n\n\n1 - CADASTRAR CLIENTE\n"); printf("\n2 - PESQUISAR CLIENTE\n"); printf("\n3 - CRÉDITOS\n"); printf("\n4 - SAIR\n"); scanf("%d", &op); switch(op){ case 1: cadastro(); break; case 2: pesquisar(); break; } getchar(); }while(op != 0); } //fim do meu menu void cadastro(){ //tela de cadastramento do cliente static int linha; //Cada vez que eu for cadastrar uma pessoa, eu cadastro ela em uma "nova linha" int op; do{ system("cls"); printf("\n--------------------------------CADASTRAR CLIENTE-------------------------------------\n"); printf("\n\nDigite o nome: "); fflush(stdin); fgets(qt[linha].nome, 50, stdin); printf("\nDigite o CPF: "); fflush(stdin); fgets(qt[linha].cpf, 15, stdin); printf("\nDigite o numero: "); fflush(stdin); fgets(qt[linha].numero, 20, stdin); printf("\nDigite o endereço: "); fflush(stdin); fgets(qt[linha].endereco, 255, stdin); printf("\nDigite a data de hoje: "); fflush(stdin); fgets(qt[linha].data, 20, stdin); printf("\n1 - Continuar\n0 - Sair\n"); scanf("%d", &op); linha ++; }while(op != 0); } //fim do meu cadastro void pesquisar(){ //tela de pesquisa do cliente int op; char cpf2[12]; do{// aqui eu escolho se quero pesquisar meu cliente plo cpf ou listar todos os clientes cadastrados system("cls"); printf("--------------------------PESQUISAR POR CLIENTE-------------------------------------\n\n"); printf("\n1 - Pequisar pelo CPF"); printf("\n2 - Listar todos os clientes"); printf("\n\n\n0 - sair\n"); scanf("%d", &op); if(op == 1){ //aqui eu mostro só cliente que pesquisei, porém, não ta funcionando system("cls"); printf("----------------------------PESQUISAR POR CLIENTE--------------------------------------\n\n\n"); printf("\nDigite o CPF: "); fflush(stdin); fgets(cpf2, 12, stdin); for(int i = 0; i < quantidade; i++){ system("cls"); if(strncmp(cpf2, qt.cpf, 11)){ printf("---------------------------------DADOS DO CLINTE-------------------------------------\n\n\n"); printf("\nNOME: %s\n"); printf("CPF: %s\n"); printf("NÚMERO: %s\n"); printf("ENDEREÇO: %s\n"); printf("DATA: %s\n\n"); printf("--------------------------------------------------------"); } } printf("\n\n\n0 - sair\n"); scanf("%d", &op); } if(op == 2){ //aqui eu mostro só os que cadastrei system("cls"); printf("--------------------------------LISTA DE CLIENTES---------------------------------\n\n\n"); for(int i = 0; i < quantidade; i++){ if(qt.cpf != NULL){ printf("\n\nNOME: %s\nCPF: %s\nNÚMERO: %s\nENDEREÇO: %s\nDATA: %s\n\n--------------------------------------------------------", qt.nome, qt.cpf, qt.numero, qt.endereco, qt.data); } } printf("\n\n\n0 - sair\n"); scanf("%d", &op); } }while(op != 0); } // fim da minha listagem de clientes Olá, sou novo aqui no fórum e programando também, se alguém puder me ajudar eu ficaria muito agradecido. Esse aqui é um programa que cadastra pessoas e atribui a elas o um pedido, ainda não comecei a parte do pedido. Enfim eu estou fazendo ele e me deparei com um problema que pode ser besteria para alguns, só que, para min está me dando muita dor de cabeça, já refiz o código três vezes e ele sempre aparece. Na linha 123 do meu código, onde eu pesquiso o cliente pelo cpf, eu estou tentanto comparar uma string com a outra e listar todos os dados onde essa string está porém não consigo, dessa vez não aparece nada, outras as vezes monstra todos os cadastro, até os que eu ainda não cadastrei. O meu segundo problema é quando eu tento listar todos os meu clientes, de fato ele mostra todos os clientes, porém monstra até os cadastro que eu ainda não preenchi, eu tentei tirar isso, coloquei uma condição, mas não está funcionando mesmo assim.

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