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

Consegui usar o fread e mostrar todo o conteúdo do arquivo, porém ao final ele esta mostrando o caminho do software, isto é, ele mostra todo conteúdo do arquivo e mostra também o caminho onde esta o software (rlanhellas/documentos..) e isso eu não quero. Aqui vai o código:

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

int main ()
{
    FILE *arquivo;
    char cliente[60],*buffer;
    int anos=0;
    //ENTRADA DE DADOS DO CLIENTE
    printf ("Prototipo de Software p/ Cadastro de Clientes\n\n");
    printf("Digite o nome do cliente:\n");
    fgets(cliente,60,stdin);
    printf("Digite o tempo de contrato em anos:\n");
    scanf("%d",&anos);
    
    //ARMAZENA DADOS NO ARQUIVO
    arquivo = fopen ("dados.txt","a+");
    
    if(arquivo==NULL) 
    {
    printf("Arquivo não pode ser aberto\n");
    return 1;
    }
    else
    printf("Arquivo aberto com sucesso\n");
    
    fprintf(arquivo,"%s%d",cliente,anos);
    fclose(arquivo);
    
    arquivo = fopen ("dados.txt","r");
    fread(buffer,1,100,arquivo);
    fclose(arquivo);
    

    
    getch();
    
}

Link para o comentário
Compartilhar em outros sites

  • 0

Você está abrindo o arquivo duas vezes.

Aqui:

arquivo = fopen ("dados.txt","a+");
E aqui:
arquivo = fopen ("dados.txt","r");
Isso provavelmente não causaria problemas porque você fechou o arquivo antes. Mas abrir um arquivo como append (a) automaticamente lhe dá privilégios de leitura, por isso não precisa abrir de novo como r. Outra coisa: Você criou o ponteiro buffer, mas não alocou memória para ele. Nesse caso podem ocorrer sérios problemas. Veja se o código funciona assim:
#include "stdafx.h"
#include <stdio.h>
#include <stdlib.h>

int main ()
{
    FILE *arquivo;
    char cliente[60],*buffer;
    int anos=0;
    buffer=(char*)malloc(100);
    //ENTRADA DE DADOS DO CLIENTE
    printf ("Prototipo de Software p/ Cadastro de Clientes\n\n");
    printf("Digite o nome do cliente:\n");
    fgets(cliente,59,stdin);
    printf("Digite o tempo de contrato em anos:\n");
    scanf("%d",&anos);
    //ARMAZENA DADOS NO ARQUIVO
    arquivo = fopen ("dados.txt","a+");
    if(!arquivo)
    {
        printf("Arquivo não pode ser aberto\n");
        return 1;
    }
    printf("Arquivo aberto com sucesso\n");
    fprintf(arquivo,"%s%d",cliente,anos);
    fread(buffer,1,100,arquivo);
    fclose(arquivo);
    
    for(;;);
}

Aquele loop infinito no final é só pra parar o programa, não é recomendado. Mas é porque tive que tiver a conio.h aqui (que também não é recomendada).

Link para o comentário
Compartilhar em outros sites

  • 0

Tentei da forma que voce fez e não funcionou , pois agora nem aparece nada do arquivo:

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

int main ()
{
    FILE *arquivo;
    char cliente[60],*buffer;
    int anos=0;
    buffer=(char*)malloc(100);
    //ENTRADA DE DADOS DO CLIENTE
    printf ("Prototipo de Software p/ Cadastro de Clientes\n\n");
    printf("Digite o nome do cliente:\n");
    fgets(cliente,60,stdin);
    printf("Digite o tempo de contrato em anos:\n");
    scanf("%d",&anos);
    
    //ARMAZENA DADOS NO ARQUIVO
    arquivo = fopen ("dados.txt","a+");
    
  if(!arquivo)
    {
    printf("Arquivo não pode ser aberto\n");
    return 1;
    }
    printf("Arquivo aberto com sucesso\n\n");
    fprintf(arquivo,"%s%d",cliente,anos);
    fread(buffer,1,100,arquivo);
      fclose(arquivo);
    
    printf("Conteudo do buffer:%s",buffer);

    getch();

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