Ir para conteúdo
Fórum Script Brasil
  • 0

Software de Cadastros em C


Ronaldo Lanhellas

Pergunta

Estou desenvolvendo um software para cadastro de determinados objetos, gostaria de saber se apenas preciso trabalhar com MANIPULAÇÃO DE ARQUIVOS (fprintf,fscanf,fopen...) ou vou precisar integrar isto a um banco de dados.

Por exemplo: o usuario entra pela primeira vez no software e vai criar sua senha, essas informação são gravadas em um arquivo chamado "users" (criado por mim), de forma que essas informação sejam encriptografadas.

Link para o comentário
Compartilhar em outros sites

Posts Recomendados

  • 0

o problema de fazer com banco de dados é que a pessoa que for usar o programa irá precisar do banco de dados instalado para manusear os dados do software. por isso prefiro fazer um arquivo normal.

PS: Criei um arquivo chamado USERS, e gostaria que o programa verifica-se nesse arquivo se existe o usuário que a pessoa digitou, como faço essa busca ? caso não exista o usuario, o programa pedirá para ele criar um.

Link para o comentário
Compartilhar em outros sites

  • 0

Então você precisará ler o arquivo como uma string (já sabe fazer isso ?), separar as quebras de linhas (pois cada linha contém um usuário), e depois percorrer todas as linhas separando por espaços " " (separador de usuário e senha) e tentar achar uma linha que contenha o usuário digitado.

Link para o comentário
Compartilhar em outros sites

  • 0

olha como estou fazendo:

//Protótipo de programa para Cadastro
#include "stdio.h"
#include "conio.h"

int main ()
{
    
    FILE *fp;
    char user[10],teste[10];
     //Arquivo para armazenar usuários
    fp = fopen ("users.txt","a+");
    
    //Verifica se usuário existe
    printf("Digite seu usuario:");
    gets(user);
Não consegui ler as strings do arquivo, seria este formato :
fgets ("usuario que procuro",10,fp);
por exemplo se procuro o usuario "ronaldo" a linha de código seria assim :
fgets ("ronaldo",10,fp);

Link para o comentário
Compartilhar em outros sites

  • 0
//Protótipo de programa para Cadastro
#include "stdio.h"
#include "conio.h"

int main ()
{
    
    FILE *fp;
    char user[10],teste[10],armazena[100];
     //Arquivo para armazenar usuários
    fp = fopen ("users.txt","a+");
    
    //Verifica se usuário existe
    printf("Digite seu usuario:");
    gets(user); <<<< COMO USO O FGETS AQUI E PARA QUE ?

fgets (armazena,100,fp); <<< armazeno todo conteudo do arquivo nessa string chamada armazena, ta certo, se não estiver me ensine como fazer porfavor

Link para o comentário
Compartilhar em outros sites

  • 0

A função strtok serve para fazer buscas por caracteres.

Para ler o arquivo você pode fazer algo assim:

char buffer[100];
do{
    if(feof(file)){
        break;
    }
    fgets(buffer,100,file);
}while(1);
Note que isso é válido porque a função fgets retorna a próxima linha do arquivo. E para obter o usuário e a senha (separados por espaços) e comparar com o que foi digitado, você deve utilizar as funções strtok, strcmp (comparação case sensitive) e stricmp (comparação case insensitive). Segue um exemplo de código:
char*usuario_digitado="Jonathan";
char*senha_digitada="1234";
char *usuario,*senha;
char buffer[100];
do{
    if(feof(file)){
        break;
    }
    fgets(buffer,100,file);
    usuario=strtok(buffer," ");
    if(stricmp(usuario_digitado,usuario)==0){
        printf("Usuario igual: %s\n",usuario);
        senha=strtok(0,buffer);
        if(strcmp(senha_digitada,senha)==0){
            printf("Senha igual: %s\n",senha);
            break;
        }else{
            printf("Senha errada\n");
            break;
        }
    }
}while(1);

Poste aí se funcionou ou não e as possíveis dúvidas.

Link para o comentário
Compartilhar em outros sites

  • 0

#include "stdio.h"
#include "conio.h"

int main ()
{
       FILE *arquivo;
       char nome[60],armazena[100];
       int idade=0; 
       printf("Digite seu nome completo:\n");
       fgets(nome,100,stdin);
       printf("Digite sua idade");
       scanf("%d",&idade);
       
       arquivo = fopen ("pessoas.txt","a+");
       fprintf(arquivo,"%s%d",nome,idade);
       fclose(arquivo);
       
       arquivo = fopen ("pessoas.txt","r");
        do
        {
               if (feof(arquivo))
               break;
               
               else
               fgets(armazena,200,arquivo);
               
         }while(1);
                   
        
        
        printf("conteudo do arquivo: %s",armazena);
       
       
       
       
       
       getch();
}

Bem este codigo que criei baseia-se em o usuario digite seu nome e sua idade, ao final disto, é armazenado no arquivo esses dados, e no final do programa deve ser mostrado na tela os dados de todo mundo que digitou. porém só aparece a ultima linha do arquivo, qual o problema ?

Editado por Ronaldo Lanhellas
Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...