Ficheiros
SkiLL-World :: Geral :: Pascal
Página 1 de 1
Ficheiros
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
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
Re: Ficheiros
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.
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.
Re: Ficheiros
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);
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);
Re: Ficheiros
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.
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.
Re: Ficheiros
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.
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.
SkiLL-World :: Geral :: Pascal
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos
|
|