Jump to content

ajuda a desenvolver programa que le e escreve dados em ficheiro


ralmeidasantos
 Share

Recommended Posts

boas pessoas estou com um problema em desenvolver um programa que consta em  implementar uma base de

dados, que terá a capacidade de:

- guardar dados de uma nova pessoa:

• Nome (40 caracteres)

• Morada (60 caracteres)

• Localidade (25caracteres)

• Codigo_p (8 caracteres)

• Num_tel (9 caracteres)

- ler os dados de

e mostrá-los um a um.

e tenho que usar um menu

todas as pessoas guardadas em disco

MENU

N – Introduz dados duma nova pessoa

L – Lista dados de todas as pessoas

S - Sair

ja tenho o seguinte codigo:

#include <stdio.h>
#include <stlib.h>

var globais
char opc;


function introduzirdados()





funtion menu()
printf("\nmenu\n\n");
printf("N – introduz dados duma nova pessoa");
printf("L – lista dados de todas as pessoas");
printf("S-sair");
printf("qual a opcao?");
scanf("%c"&opc);

switch (opc)
{
case 'n':
case 'N':introduzdados;
case 'l':
case 'L':listados;
case 's':
case 'S':exit(1);
default
   printf("ERRO!");
}
while (opc!='N') or (opc!='n');


funtion listados()




int main ()
{
file*f;


fclose(f);

}//end_main()

Edit: titulo modificado (pmg)

HTML Master

The programs change the world

Link to comment
Share on other sites

Compila o teu codigo com o maximo de warnings possivel -- depois tenta eliminar os warnings (e erros!).

Se a tua dificuldade for n o uso duma instrucao especifica, mete a tua duvida especifica.

O teu programa acima esta cheio de erros. Sugiro que voltes ao "hello world" antes de te meteres em base de dados.

What have you tried?

Não respondo a dúvidas por PM

A minha bola de cristal está para compor; deve ficar pronta para a semana.

Torna os teus tópicos mais atractivos e legíveis usando a tag CODE para colorir o código!

Link to comment
Share on other sites

Em introduzirdados() deves ter maneira de pedir informacoes ao utilizador e acrescentar essas mesmas informacoes ao ficheiro de dados.

Sugiro fgets(), possivelmente seguido de sscanf() ou strtol.

Em listados() deves apresentar os dados existemtes no ficheiro.

Sugiro o printf().

Outra sugestao:

em vez de abrires o ficheiro na funcao main(), abre-o (e fecha-o) para "appending" ou leitura dependendo das necessidades em cada uma das funcoes.

What have you tried?

Não respondo a dúvidas por PM

A minha bola de cristal está para compor; deve ficar pronta para a semana.

Torna os teus tópicos mais atractivos e legíveis usando a tag CODE para colorir o código!

Link to comment
Share on other sites

Olá.

O código que apresentaste contem vários erros.

O segundo #include está a chamar uma biblioteca que não existe.

As funções introduzirdados(), menu() e listados() estão mal definidas.

A variável opc não necessita de ser global.

Link to comment
Share on other sites

Nao sei se a ideia era so 'ilustrar' o que tinhas feito, mas se não foi isso, este código está com alguns erros.

Os mais 'graves' acabam por ser as chavetas das funções e o #include<stdlib.h> (falta um d), mas acabam também por ser os mais fáceis de resolver.

Acho que o melhor, neste caso, é mesmo por a função menu a funcionar(chavetas e chamada no main), e depois ires ler alguns exemplos de código para tentar resolver isso.

Link to comment
Share on other sites

Se o teu problema é criares o ficheiro..

FILE *file_pointer;
...
file_pointer = fopen("nome_ficheiro.txt", "r");

Oops ... o modo "r" (ou ate o modo "r+") nao criam ficheiros. Se o ficheiro nao existir o fopen devolve NULL.

Para criar um ficheiro usa modo "w", "w+", "a", "a+" (possivelmente com um 'b' para modo binario em Windows).

What have you tried?

Não respondo a dúvidas por PM

A minha bola de cristal está para compor; deve ficar pronta para a semana.

Torna os teus tópicos mais atractivos e legíveis usando a tag CODE para colorir o código!

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.