Dor de cabeça ao ler arquivo. "Será que alguem tem um paracetamol ai? rsrsrs"

1. Dor de cabeça ao ler arquivo. "Será que alguem tem um paracetamol ai? rsrsrs"

Lukas Wilkeer
Lukaswilkeer

(usa Outra)

Enviado em 03/12/2011 - 10:42h

Boa Dia, Tarde ou Noite.

Estou com um trabalho da faculdade pra fazer o qual eu preciso ler um arquivo de texto, cujo o conteudo seria este:

1111 Maria Aparecida Gomes 10
2222 Ana Maria Silva 20
3333 Mariana Santos 30.2
4444 Joao de Barros 40
5555 Marcelo Ferreira Silva Pereira50.5

Eu preciso ler cada parte dele, exemplo:
1111 = Variavél Nreg.
Maria Aparecida Gomes = Variavél nome.
10 = Variavel Horas.

Só que eu não estou conseguindo separar os dados. Não poso alterar nada no arquivo. Logo após ler os dados eu devo salvalos em três vetores separados, os quais são: nregvet,nomevet,horasvet. Para ficar armazenada a informação de cada Funcionário.

Na nariavél nreg eu deveria pegar ela (1111) e fazer isto: (1+1+1+1) e depois dividir por 9 e pegar o resto. Outra coisa que está me dando muita dor de cabeça.

Se alguem puder me ajudar ficarei agradecio.

Obrigado desde já.

Obs: O espaço seria armazenado numa variavél chamado "lixo" que não serviria pra nada.
Obs: Estou usando o While not Eof.
Obs: Segue o código para avaliarem se há algum erro pois o nregvet sempre sai "0".:
///////////////////////////////////
Program controledehoras ;
uses crt;
var
nregvet:array[1..50] of integer;
nomevet:array[1..50] of string[30];
horasvet:array[1..50] of integer;
db:text;
i,j,nreg,nregcopy,dv,soma,somatotal,horas,menucof,divisaodv:integer;
nomes:string[30];
lixo:char;


Begin
{leitura do arquivo}
assign (db,'C:\Users\COMPUTADOR\Desktop\Lukas AEDS\Lukas AEDS\HORAS.TXT.');
reset (db);
j:=0;
while not eof(db) do
begin
read(db,nreg);
{ inicio digito verificador}
divisaodv:=1000;
nregcopy:=nreg;
dv:=0;
somatotal:=0;
for i:=1 to 4 do
begin
soma:=nreg div divisaodv;
nregcopy:= nreg -soma*divisaodv;
divisaodv:=divisaodv div 10;
somatotal:=soma+somatotal;
end;
dv:= somatotal mod 9;
nreg:=nregcopy*10+dv;

j:=i+1;
nregvet[j]:=nreg;
{fim digito verificador}
read(db,lixo,nomes);
nomevet[j]:=nomes;
read(db,horas);
horasvet[j]:=horas;
end;
{Menu do programa}
(O resto não importa para este pro0blema.)
///////////////////////////////////////



  






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts