Ir ao conteúdo
  • Cadastre-se

Ajuda - Exercício em pascal!


Posts recomendados

Galera estou com dificuldade para resolver um exercício aqui ...

 

preciso criar um programa que armazene os dados de 3 motoristas usando vetor,e também function ou procedure

(codigo,nome, número do taxi e Kper(km percorridos)) e utilizar um vetor de registros para armazenar
esses dados. Até aí tudo bem
Em seguida, o programa deve imprimir um relatório conforme o modelo abaixo.  
Nome Motorista*****Nº Taxi*****Valor a Receber  XX     XX    XX    XX   XX   XX   XX  XX  
O valor a receber é calculado multiplicando-se a quantidade Kper (km percorrido) por R$ 1,20.
Aí é que tive dificuldade,pois ao final o programa tenho também que exibir todos os dados do motorista com maior valor a receber,ou seja,tenho que mostrar o nome do motorista que mais recebeu e com ele todos os seus dados.
 
 
Se alguém me der uma luz eu agradeço! kk
Link para o comentário
Compartilhar em outros sites


Program Taxi;

uses wincrt;

Type

  Dados_Motoristas=record

  nome:string[10];

  num_taxi:integer;

  codigo:integer;

  kper:real;

end;

var

  DM:Dados_Motoristas;

  arq:text;

  i:integer;

begin

  assign(Arq,'A4.txt');

  rewrite(Arq);

  for i:=1 to 3 do 

  begin

   write('Digite o nome do motorista:');  readln(DM.nome);

   write('Digite o codigo:');  readln(DM.codigo);

   write('Digite o numero do taxi:');  readln(DM.num_taxi);

   write('Digite o Km percorridos:');  readln(DM.kper);

   writeln(Arq,DM.nome);

   Writeln(Arq,DM.codigo);

   Writeln(Arq,DM.num_taxi);

   Writeln(Arq,DM.kper);

   clrscr

  end;

   close(Arq);

   reset(Arq);

   while not (eof(Arq)) do

  begin

     readln(arq,DM.nome);

     readln(arq,DM.codigo);

     readln(arq,DM.num_taxi);

     readln(arq,DM.kper);

     writeln('Nome do motorista:',DM.nome);

     writeln('Código:',DM.Codigo);

     writeln('Número do taxi:',DM.num_taxi);

     writeln('Km percorridos:',DM.kper);

     writeln('                           ');

     Writeln('                           ');

  end;

   close(arq);

   readkey;

end.

 

queria implementar a function ou procedure pois meu professor pediu pra usar nessa atividade,mas ainda não peguei bem o jeito,e ainda calcular e mostrar qual motorista que vai receber mais ,calculando km percorridoX1,20!
Link para o comentário
Compartilhar em outros sites

  • Membro VIP

Olá Joao Carlos de Oliveira,

 

 

Na primeira postagem, você fala em VETOR.

"...preciso criar um programa que armazene os dados de 3 motoristas usando vetor,e também function ou procedure..."

 

 

Mas no seu código está utilizando ARQUIVOS.

var  DM:Dados_Motoristas;  arq:text;  i:integer;

 

Ou seja, está pedindo uma coisa e fazendo outra...

 

 

Então, acho que a assinatura poderia ficar mais ou menos assim: (ajuste ao seu gosto)

Program Taxi;uses   WinCRT;type  Dados_Motoristas = record    nome    :string[10];    num_taxi:integer;    codigo  :integer;    kper    :real;  end;var  dados :array[1..3] of Dados_Motoristas;  i :integer;BEGINEND.

Daí ajusta o código...

 

 

 

MINHA SUGESTÃO
Ajuste o programa para funcionar com array (vetor), posta o código aqui e onde tem dúvidas. Depois tenta inserir as Function e Procedure. Essa é a parte mais fácil... não tem mistério.

 

No aguardo.

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...