• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

fixeira

ajuda com programa

16 mensagens neste tópico

boas pessoal. ando a fazer um programa mas estou com algumas dificuldades.

eu nao percebo muito disto por isso todas as ajudas sao bem vindas.

o que eu ja fiz:

Program rentAcar;
uses crt;
label inicio;
label fim;
type car=record
               categoria:string[10];
               modelo:string[20];
               preco:integer;
               estado:string[10];
end;
var fic:file of car;
    x:car;
    elemento:array[1..99] of car;
    op:integer;
    i,n,op1:integer;
    tecla:char;
    veiculo:string[20];
procedure menu;
begin
     clrscr;
     textbackground(green);
     textcolor(white);
     writeln('                                                                               ');
     writeln('   ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»    ');
     writeln('   º   ±±±±±±±±                                                           º    ');
     writeln('   º   ±±                                                                 º    ');
     writeln('   º   ±±±±±±   ±±   ±± ±±±±±±± ±±±±±±± ±±±±±±± ±±±±±±± ±±±±±±± ±±±±±±±   º    ');
     writeln('   º   ±±       ±±   ±± ±±   ±± ±±   ±± ±±   ±± ±±      ±±   ±± ±±   ±±   º    ');
     writeln('   º   ±±±±±±±± ±±±±±±± ±±      ±±±±±±± ±±±±±±± ±±±±±±± ±±±±±±± ±±        º    ');
     writeln('   º                                    ±±                   ±±           º    ');
     writeln('   º                                    ±±                                º    ');
     writeln('   ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ    ');
     writeln('');
     textbackground(black);
     textcolor(green);
     writeln('              ____                                       ____              ');
     writeln('          \__/ |__\______        THE BEST         ______/__| \__/          ');
     writeln('           >___|___|____o       RENT-A-CAR        o____|___|___<           ');
     writeln('             0        0                             0        0             ');
     writeln('');
     textcolor(white);
     writeln('   ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ» ');
     textcolor(white);
     writeln('   º                                Op‡äes                                º ');
     writeln('   ÌÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͺ ');
     textcolor(red);
     writeln('   º                          1 - criar ficheiro                          º ');
     textcolor(yellow);
     writeln('   º                         2 - introduzir dados                         º ');
     textcolor(lightblue);
     writeln('   º                          3 - info veiculos                           º');
     textcolor(white);
     writeln('   ÌÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͹');
     write('   º introduza a sua escolha:                                             º');
     writeln('        ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ');
     gotoxy(40,23);
     readln(op);
end;
procedure criar;
begin
     case op of
          1: begin
                  clrscr;
                  textcolor(red);
                  writeln('');
                  writeln('              ____                                    ____              ');
                  writeln('          \__/ |__\______         CRIAR        ______/__| \__/          ');
                  writeln('           >___|___|____o        FICHEIRO      o____|___|___<           ');
                  writeln('             0        0                          0        0             ');
                  writeln(' ***************************************************************************** ');
                  writeln('');
                  writeln('');
                  textcolor(red);
                  writeln('');
                  writeln('');
                  writeln('');
                  writeln('                   * ficheiro criado com sucesso *');
                  textcolor(red);
                  rewrite(fic);
                  close(fic);
             end;
     end;
end;
procedure introduzir;
begin
     case op of
          2: begin
                  clrscr;
                  textcolor(yellow);
                  writeln('');
                  writeln('              ____                                   ____              ');
                  writeln('          \__/ |__\______      INTRODUZIR     ______/__| \__/          ');
                  writeln('           >___|___|____o        DADOS        o____|___|___<           ');
                  writeln('             0        0                         0        0             ');
                  writeln(' ***************************************************************************** ');
                  writeln('');
                  writeln('');
                  reset(fic);
                  writeln('');
                  writeln('');
                  writeln('');
                  write('                Quantos veiculos pretende?  ');
                  readln(n);
                  for i:=1 to n do
                  begin
                       clrscr;
                       textcolor(lightred);
                       writeln('                      ÚÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄ¿');
                       writeln('                      ³ Modelo ³ Categoria ³ Pre‡o/dia ³');
                       writeln('                      ÃÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄ´');
                       writeln('                      ³Audi  A2³ economic  ³  50 euros ³');
                       writeln('                      ³Audi  A3³ standart  ³ 100 euros ³');
                       writeln('                      ³Audi  A4³ standart  ³ 100 euros ³');
                       writeln('                      ³Audi  A5³ executive ³ 150 euros ³');
                       writeln('                      ³Audi  A6³ executive ³ 150 euros ³');
                       writeln('                      ³Audi  A8³ luxury    ³ 200 euros ³');
                       writeln('                      ³Audi  Q7³ luxury    ³ 200 euros ³');
                       writeln('                      ³Audi  R8³ sport     ³ 250 euros ³');
                       writeln('                      ³Audi  TT³ sport     ³ 250 euros ³');
                       writeln('                      ÀÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÙ');
                       writeln('');
                       writeln('                          ESTADO: Livre ou Ocupado ');
                       writeln('');
                       writeln('  ***************************************************************************');
                       textcolor(yellow);
                       writeln('                Introduza os dados do ',i,' § veiculo');
                       writeln('');
                       write('Modelo:  ');
                       readln(x.modelo);
                       write('Categoria:  ');
                       readln(x.categoria);
                       write('Pre‡o por dia:  ');
                       readln(x.preco);
                       write('Estado:  ');
                       readln(x.estado);
                       elemento[i]:=x;
                       write(fic,x);
                  end;
                  close(fic);
             end;
     end;
end;
Procedure consultar;
begin
     case op of
          3: begin
             clrscr;
             textcolor(lightblue);
             writeln('');
             writeln('              ____                                   ____              ');
             writeln('          \__/ |__\______         INFO        ______/__| \__/          ');
             writeln('           >___|___|____o       VEICULOS      o____|___|___<           ');
             writeln('             0        0                         0        0             ');
             writeln(' ***************************************************************************** ');
             writeln('');
             writeln('');
             writeln('');
             writeln('');
             writeln('        ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿');
             writeln('        ³                     tabelas                       ³');
             writeln('        ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´');
             writeln('        ³               1 - veiculos livres                 ³');
             writeln('        ³              2 - veiculos ocupados                ³');
             writeln('        ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´');
             write('        ³        introduza a sua escolha:                   ³');
             writeln('                           ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ');
             gotoxy(46,17);
             read(op1);
             case op1 of
                  1: begin
                          clrscr;
                          writeln('');
                          writeln('              ____                                  ____              ');
                          writeln('          \__/ |__\______       VEICULOS     ______/__| \__/          ');
                          writeln('           >___|___|____o        LIVRES      o____|___|___<           ');
                          writeln('             0        0                        0        0             ');
                          writeln(' ***************************************************************************** ');
                          writeln('');
                          writeln('');
                          reset(fic);
                          writeln('');
                          writeln('');
                          while not eof(fic) do
                          begin
                               read(fic,x);
                               if ((x.estado= 'l') or (x.estado = 'L'))
                               then
                               writeln(x.modelo );
                          end;
                          close(fic);
                     end;
                  2: begin
                          clrscr;
                          writeln('');
                          writeln('              ____                                  ____              ');
                          writeln('          \__/ |__\______       VEICULOS     ______/__| \__/          ');
                          writeln('           >___|___|____o       OCUPADOS     o____|___|___<           ');
                          writeln('             0        0                        0        0             ');
                          writeln(' ***************************************************************************** ');
                          writeln('');
                          writeln('');
                          reset(fic);
                          writeln('');
                          writeln('');
                          while not eof(fic) do
                          begin
                               read(fic,x);
                               if ((x.estado= 'o') or (x.estado = 'O'))
                               then
                               write (                  x.modelo );
                               writeln('');
                          end;
                          close(fic);
                     end;
             end;
             readln;
          end;
     end;
end;
procedure pesquisa;
begin
     clrscr;
     reset(fic);
     write('Introduza o veiculo que pretende visualizar:  ');
     readln(veiculo);
     while not eof(fic) do
     begin
          read(fic,x);
          if veiculo = x.modelo then
          begin
               writeln('');
               writeln('');
               writeln('Modelo: ',x.modelo);
               writeln('Categoria: ',x.categoria);
               writeln('Pre‡o por dia: ',x.preco);
               writeln('Estado: ',x.estado);
          end;
     end;
end;
begin
     inicio:
     assign(fic,'f:\lprog\projecto\pro3.txt');
     menu;
     criar;
     introduzir;
     consultar;
     readln;
     clrscr;
     writeln('');
     writeln('');
     writeln('');
     writeln('');
     textcolor(lightred);
     writeln('                            MENU ou SAIR');
     writeln('                           _______________');
     writeln('');
     writeln('       tecla m/M = Menu                    tecla f/F = Sair');
     tecla:=readkey;
     if ((tecla = 'm') or (tecla = 'M')) then goto inicio;
     if ((tecla = 'f') or (tecla = 'F')) then goto fim;
     fim:
end.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

antes de mais nada faz o seguinte...mete o teu codigo entre:

["code=Pascal"] ["/code"] (sem as aspas)

p.s. bem vindo :)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

O código da primeira thread. Em vez de color=red, como lá tens, mete como te disseram :)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

eu acho que vou fazer esta cena com matrizes e procedures.

o que dizem? ha outra maneira mais facil/rapida de fazer?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Experimenta um vector tipo:

Carro1 = [marca, modelo, kilometragem, preço]

Carro 2 = [marca, .. ... ..]

Ou então, uma matriz para guardares todos:

[[marca, marca1, marca2], [modelo, modelo1, modelo2] .....]

Assim chamavas tipo os títulos (linha 0) e os sucessivos veículos (linha 1, linha 2, linha 3) com um for.

Procedures... só se for para simplificar o writeln writeln writeln :(

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Então, uma matriz como eu te disse:[[marca, marca1, marca2], [modelo, modelo1, modelo2] .....]

Qual é a tua dúvida? Como fazer a matriz?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

:thumbsup:

Dude, uma matriz é um vector de vectores ;) Usas 2 ciclos for, uma para preeencher cada linha e outro para uma coluna de cada vez. Já fica mais claro?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

boas

como pdem ver la em cima ja tive a alterar umas cenas no programa mas ainda nao o consegui acabar.

a 3ª opção continua-me a dar muitas dores de cabeça. se alguem daqui que perceba de pascal me podesse dizer qual e o erro que estou a fazer agradecia. o que eu pretendo fazer tambem ja ta la em cima por isso nao vale a pena estar a repetir. obrigado

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

É pá, eu continuo sem saber o teu problema.. é que ninguém te vai escrever o código que precisas.. Já te disse que mais vale fazeres uma matriz para isso. Já te disse que uma matriz é um vector de vectores. Agora tens tu que pensar na melhor maneira de organizar essa estrutura. Procura na net por exemplos de matrizes em pascal para ficares melhor elucidado. Pergunta ao teu professor que ele vai-te ajudar com certeza.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

que codigo joao rodrigues?

ja so me falta a ultima parte do programa que é escolher um dos veiculos da tabela mas nao sei como faze-lo. como posso faze-lo? pesquisa por nome, da?

joao obrigado pela tua ajuda mas tambem nao precisas ficar chateado.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Eu não estou chateado :) O problema é que tens que ser TU a pensar na solução.

Pensa, como queres fazer? Já tens as tabelas feitas? Se não, vê como funcionam matrizes para as construir. Depois, é uma questão de TU pensares no que queres que o programa tenha. Pesquisas em matrizes são feitas com ciclos for até que uma determinada condição (digamos, um certo item do menu ser encontrado) ser atingida. Portanto, se queres uma pesquisa por carro, por nome do carro, tens que ter armazenado o nome de cada carro e depois tens que ir a esse sítio ver se encontras um igual ao que o utilizador pesquisou. Entendes?

Se preferires, eu dou-te uma ajuda mais real no MSN. Escreve num papel exactamente o que queres fazer :thumbsup: Ajuda

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

ok ja actualizei o meu programa la em cima.

o que me falta fazer:

queria que desse para escolher um veiculo da tabela.

depois de escolher o veiculo tem que mostrar todos os dados do veiculo.

no fim queria que desse para alterar o estado do veiculo, tipo de livre para ocupado e vice-versa

e que ao alterar o estado o veiculo passe automaticamente para a outra tabela.

joao obrigado pela a tua ajuda, mas eu nao quero uma ajuda mais real quero ser eu a fazer o programa.

prefiro que me des dicas em como faze-lo

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

voltei actualizar o meu programa la em cima

tenho agora uma duvida depois de tar a ver os dados do veiculo como e que posso alterar o estado desse mesmo veiculo?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora