Gravar em dois arquivos simultaneamente [RESOLVIDO]

1. Gravar em dois arquivos simultaneamente [RESOLVIDO]

Marcos
marcos@marcos

(usa Ubuntu)

Enviado em 02/12/2012 - 20:39h

Boa noite! Pessoal preciso trabalhar com estruturas de tamanho fixo, sendo que uma armazena os dados dos alunos e a outra, os dados dos livros. Essas informações devem ser gravadas em arquivo, neste caso tenho que trabalhar com dois arquivos (um para alunos e outro para os livros).

Estou em dúvida na forma como devo fazer essas gravações no arquivo, por se tratar de estruturas de tamanho fixo penso em utilizar o fwrite, mas a questão é: preciso fazer duas chamadas a esta função pra gravar nos dois arquivos? Ou dentro da estrutura alunos fazer uma chamada a outra estrutura?

Segue minhas estruturas:

struct alunos{
int matricula;
char nome[101];
char endereco[101];
};

struct exemplares{
int codigo;
int num_exemplar;
char nome_exemplar[101];
int ano;
bool status;
};


Se eu fizer conforme abaixo funcionará?

struct exemplares{
int codigo;
int cod_exemplar;
char nome_exemplar[101];
int ano;
bool status;
};

struct alunos{
int matricula;
char nome[101];
char endereco[101];
exemplares emprestimo;//variável emprestimo do tipo struct exemplares
};




  


2. Re: Gravar em dois arquivos simultaneamente [RESOLVIDO]

Paulo
paulo1205

(usa Ubuntu)

Enviado em 02/12/2012 - 21:48h

Um aluno pode emprestar vários livros de uma vez, mas um livro só pode estar ou na prateleira ou com um único aluno de cada vez. Então, para fazer a relação, é mais fácil colocar um campo a mais na estrutura do livro. Nesse campo, você poderia usar apenas o número que o registro correspondente ao aluno que o emprestou ocupa no arquivo de alunos, em lugar de copiar o nome do arquivo.

Pelo visto, seu exercício está pedindo um mini-banco de dados, no qual você tem uma tabela de livros e outra de alunos, e tem de especificar relações que existem entre os membros dessas duas tabelas. Outra forma de fazer isso seria, em vez de adicionar um campo a mais na tabela de livros, que será usado mesmo em livros que não estejam emprestados, criar uma terceira tabela para representar apenas os empréstimos, simplesmente relacionando o número do registro de quem emprestou e o número do registro do livro emprestado.






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts