SkiLL-World
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Ficheiros

Ir para baixo

Ficheiros Empty Ficheiros

Mensagem  Admin Qua maio 13, 2009 6:53 am

exercicio

Ficheiro de dados para armazenar informação sobre os sócios de uma colectividade (n_socio,nome,localidade,valor da cota,utlimo mês pago)
A aplicação deverá começar por apresentar o seguinte menu e realizem as operações.

-Inserir socios

-Listar socios
-por localidade
-por valor da cota
-pagar cota

Admin
1337-soldier
1337-soldier

Mensagens : 752
Data de inscrição : 02/03/2009
Idade : 32
Localização : Hell

https://skill-time.forumeiros.com

Ir para o topo Ir para baixo

Ficheiros Empty Re: Ficheiros

Mensagem  Admin Qua maio 13, 2009 7:22 am

program socio;
type
aplicacao=record
n_socio:integer;
nome:string;
localidade:string;
v_cota:integer;
UMpago:integer;
end;
ficheiro:file of aplicacao;
var
mes:string;
conta:string;
pagar:integer;
F:ficheiro;
socio:aplicacao;
opcao:char;
begin
assign(f,'dados.dat');
rewrite(f);
write('escolha opcao: 1-inserir socio; 2-listar socios; 3-pagar cotas');
readln(opcao);
case opcao of
1:begin
write('insira o nome');
read(socio.nome);
write('insira o nº de socio');
read(socio.n_socio);
write('inserir a localidade');
read(socio.localidade);
write('inserir o valor da cota');
read(socio.V_cota);
write('inserir o ultimo mes pago');
read(f,socio);
end;
2:begin while not EOF(f) do
begin
read(f,socio);
write(socio.nome);
write(socio.n_socio);
write(socio.localidade);
write(socio.V_cota);
write(socio.UMpago);
end;
3:begin
write('quantos meses pretende pagar?');
read(mes);
write('qual o nº de socio que pretende pagar as cotas?');
read(a);
seek (f,a);
read(f,socio);
pagar:=mes*socio.V_cota;
write(pagar);
UMpago.socio=UMpago+mes;
write(f,socio);
end;
close(f);
end.

Admin
1337-soldier
1337-soldier

Mensagens : 752
Data de inscrição : 02/03/2009
Idade : 32
Localização : Hell

https://skill-time.forumeiros.com

Ir para o topo Ir para baixo

Ficheiros Empty Re: Ficheiros

Mensagem  Admin Sex maio 15, 2009 8:23 am

I

1- os ficheiros de texto são codificados por forma a poder serem editados em qualquer aplicação capaz de os ler como por exemplo bloco de notas ou comando edit do msdos ao passo que os ficheiros baseados em record são estreturados em cada uma das aplicações logo a aplicação em que foi criado é unica capaz de os ler.

2-faz a ligação entre a variavel e o ficheiro em disco.

3- o rewrite e utilizado para rescrever o ficheiro e prepara-o para escrever novamente e o reset disponibiliza o ficheiro para actualização ou seja leitura e escrita mantendo o existente.

4-quando se fala de ficheiros de texto a diferença e que apos a leitura com o readln o sistema fica preparado para ler na linha seguinte sendo que com o read no final da linha em relação aos ficheiros de dados o comando readln n funciona uma vez que é o sistema que controla o fim de cada um dos registos.

5-Devolve para os ficheiros de dados os numeros de registos e para os ficheiros de texto o numero de linhas.

6- seek

7-Saber a qualquer momento qual a posição do ficheiro . exemplo: filepos(f);

Admin
1337-soldier
1337-soldier

Mensagens : 752
Data de inscrição : 02/03/2009
Idade : 32
Localização : Hell

https://skill-time.forumeiros.com

Ir para o topo Ir para baixo

Ficheiros Empty Re: Ficheiros

Mensagem  Admin Sex maio 15, 2009 8:42 am

II

program ex;

var

f:text;
I:string;
begin
assign(f,"ex.text");
rewrite(f);
writeln(f,'modulo8..');
close(f);
reset(f);
read(f,i);
write(i);;
close(f);
end.

Admin
1337-soldier
1337-soldier

Mensagens : 752
Data de inscrição : 02/03/2009
Idade : 32
Localização : Hell

https://skill-time.forumeiros.com

Ir para o topo Ir para baixo

Ficheiros Empty Re: Ficheiros

Mensagem  Admin Sex maio 15, 2009 9:31 am

program ex;

aplication=record
nome:string;
preco:real;
quantidade:integer;
end;
ficheiro:file of aplication;
var

armazenamento:real;
resp:boolean;
i,valor,caro,barato:real;
eco:aplication;
begin
barato:=9999;
assign('ficheiro,"dados.dat");
rewrite(ficheiro);
repeat
writeln('insira o nome do produto');
read(eco.nome);
writeln('insira o preço do produto');
read(eco.preco);
writeln('insira a quantidade do produto');
read(eco.quantidade);
write(eco,ficheiro);
writeln('deseja inserir mais? y/n');
read(resp);
i:=i+1;
if eco.preco>caro then
caro:= eco.preco;
if eco.preco<barato then
barato:=eco.preco;
armazenamento:=eco.preco*eco.quantidade;
total:=total+armazenamento;
writeln('o valor total armazenamento do produto é de', armazenamento);
until resp='n'
writeln('o numero de produtos armazenados foi de',i);
writeln('o valor total de produtos armazenados é de',total');
writeln('o produto mais caro tem o valor tem o valor de',caro);
writeln('o produto mais barato tem o valor de',barato);
end.

Admin
1337-soldier
1337-soldier

Mensagens : 752
Data de inscrição : 02/03/2009
Idade : 32
Localização : Hell

https://skill-time.forumeiros.com

Ir para o topo Ir para baixo

Ficheiros Empty Re: Ficheiros

Mensagem  Conteúdo patrocinado


Conteúdo patrocinado


Ir para o topo Ir para baixo

Ir para o topo

- Tópicos semelhantes

 
Permissões neste sub-fórum
Não podes responder a tópicos