1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

Quebra cabeças para verdadeiros Programadores!!

Discussão em 'Programação' iniciada por orien, 25 de Junho de 2007. (Respostas: 9; Visualizações: 1154)

  1. orien

    orien [email protected] Member

    Código:
    void ler(info *ptr)
    {
     clrscr();
     flushall();
     printf("Insira o seu nome: ");
     gets((*ptr).nome);
     flushall();
     printf("\nInsira a sua idade: ");
     scanf("%d", &(*ptr).idade);
     flushall();
     printf("\nInsira o dia de hoje: ");
     scanf("%d", &(*ptr).realizacao.dia);
     flushall();
     printf("\nInsira o mes em que se encontra: ");
     gets((*ptr).realizacao.mes);
     flushall();
     printf("\nInsira o ano em que se encontra: ");
     scanf("%d", &(*ptr).realizacao.ano);
    }
    Como Consigo por tudo o que esta gravado dentro das variaveis, para um Ficheiro?? E depois como faço para voltar a mostrar o que esta dentro do ficheiro??

    Obrigado ;D
     
  2. AragTey

    AragTey Power Member

    Boas,

    Código:
     
    //Escrever:
    File *f = fopen("info", "wb");
    fwrite(ptr, sizeof (info), 1, f);
    fclose(f)
     
    //Ler:
    info varinfo;
    File *f = fopen("info", "rb");
    fread(&varinfo, sizeof (info), 1, f);
    fclose(f)
    
    Onde pagas a loiraça :lol:
     
  3. orien

    orien [email protected] Member

    Desculpa nao entendi ... podes por isso ja no meu codigo??
     
  4. AragTey

    AragTey Power Member

    hum se calhar escrevi muita a pressa...sorry...

    basicamente gravas num ficheiro binario a que chamei info, uma estrutura do teu tipo info (vais escrever no fich toda a estrutura e nao apenas os campos). Depois quando fores ler abres o ficheiro em modo de leitura binaria, les do ficheiro a estrutura pra uma varivel info auxiliar e depois podes mostrar os campos dessa variavel auxiliar com um printf.

    Penso que assim fica mais facil porque so escreves de uma so vez a estrutura com os dados todos em vez de teres de escrever os dados um a um de uma estrutura.
     
  5. Neo4

    Neo4 Banido

    Bem eu acabei de fazer uma coisa do genero ve:

    Código:
    int reg() 
    {
    char Name[30], Password[10], Nome[30], Pass[10];
    FILE *fp;
    
    
    
    fp = fopen( "Regis.txt", "a+");
    printf("Introduza o seu nome de Utilizador:\n");
    scanf ("%s", Nome);
    printf("Introduza a password:\n");
    scanf("%s", &Pass);
    
    
    while(fscanf(fp, "%s %s", Name, Password) !=EOF)
            {
                if (strcmp(Name, Nome)==0) {printf("Utilizador já registado com esse nome escolha outro\n\n"); fclose(fp); return(registo(Nome, Pass, 0));}
            }
    
    return(registo(Nome, Pass, 1));
    }
    
    
    registo (char Nome[30],char Pass[10], int num) 
    {
    FILE *fp;
    
    fp = fopen("Regis.txt", "a+");
    if (num ==0) reg();
    if (num ==1) {fprintf(fp, "%s %s\n", Nome, Pass); printf("Registo Efectuado com Sucesso\n\n");fclose(fp);menu();}
    }
    
    o codigo ainda é muito precário lol ainda estou a aprender :p
     
  6. trashCanMan

    trashCanMan Power Member

    Longe vão os tempos em que tinhamos de descobrir tudo à unha... agora até já exigem que se lhe façam a papinha toda!!!
    Amigo assim não vais longe!!
     
  7. orien

    orien [email protected] Member

    Dscp la simplesmente nao entendi aquilo ... so tenho 1 ano de programaçao ainda :)

    Thkz pelo help ppl ^^
     
  8. n tas o por as strings no ficheiro

    tens que usar um algoritmo de escrita universal para ele escrever os teus ficheiros
    sempre da mesmo forma tipo

    josé;12345;25

    e outro para ler todos os ficheiros da mesma forma
     
  9. tens que utilizar a funçoes tipo fputs e fputc e strcat

    vai ver á net os parametros é facil..............:)
     
  10. good_in_bed

    good_in_bed Power Member

    So queria saber a relação do nome do tópico com o código do primeiro post...:002:
     

Partilhar esta Página