Jump to content


Photo

Há Uma Forma Mais Fácil?


  • Faça o login para participar
3 replies to this topic

#1 thiago_costabr

thiago_costabr

    12 Horas

  • Usuários
  • 200 posts
  • Sexo:Não informado

Posted 30/11/2003, 12:25

Pessoal,

Estou desenvolvendo um trabalho final para a faculdade que tenho que entregar na terça-feira agora... É um trabalho simples em PASCAL... Mas não se preoculpem porque eu não vim aqui pra pedir ng que faça pra mim pois acho isso errado e ridículo, como alguns tem feito por aqui... Eu só preciso de uma ajuda e uma sugestão talvez....

É o seguinte... o programinha é pra fazer tipo uma tabela de rodoviária com as distâncias de uma cidade para outra.... Só que o professor só me cobrou 5 cidades e mesmo assim eu posso inventar uma suposta distância entre elas... Pois bem...

Aí eu comecei inventando algo... fiz uma espécie de menu e tals...tudo certinho... aí se a pessoa informar que a cidade onde ela está é a mesma cidade onde ela deseja ir o programa diz que a distância entre as duas cidades é de 0KM, mas ele só informa isso caso as duas opcões forem iguais as letras correspondentes ao menu... aí se a pessoa digitar duas opções, duas letras que não existem no menu, o programa diz que a letra tal não existe e pergunta se o usuáriod eseja continuar com a pesquisa ou não... pois bem.. tá tudo aí no abaixo... Acontece que o código tá ficando enorme e eu ainda nem fiz as instruções necessárias para informar o usuário uma suposta distância entre uma cidade ou outra! Sem falar que na parte onde ele deve dizer que a distância entre as duas cidades é de 0Km não tá funcionando...

Alguém pode me ajudar? O código está aí em baixo ou então ele pode ser baixado nesse endereço aqui. Esse arquvo está em PAS.. Fiz ele no PASCAL ZIM! Aí está o código abaixo:

Program Pzim;
Var
  x:integer;
  a,b,c,d,e:string;
  opcao1,opcao2,opcao3:string;
begin
    write('===============================================================');
    writeln('================');
    write('(A)Rio de Janeiro  ');
    write('(B)Sao Paulo  ');
    write('(C)Minas Gerais  ');
    write('(D)Brasilia  ');
    writeln('(E)Curitiba  ');
    write('===============================================================');
    writeln('================');
      x:=1;
      while x=1 do
	begin
          writeln('Consulte o menu acima:');
          write('Digite a letra correspondente a cidade em que voce se encontra: ');
          readln(opcao1);
          write('Digite a letra correspondente a cidade para onde voce deseja ir: ');
          readln(opcao2);
          if opcao1=opcao2 then
              begin
                if (opcao1='a') and (opcao2='a') then
                  begin
                    if (opcao1='b') and (opcao2='b') then
                      begin
                        if (opcao1='c') and (opcao2='c') then
                          begin
                            if (opcao1='d') and (opcao2='d') then
                              begin
                                if (opcao1='e') and (opcao2='e') then
      begin
        writeln;
        writeln('A distândia entre essas duas cidades é de 0Km');
        writeln('Você deseja continuar fazendo outra pesquisa? [S/N]: ');
        readln(opcao3);
                 if opcao3='n' then
            begin
              writeln;
              writeln('Obrigado por fazer uso de nosso programa! Até a próxima!');
              x:=0;
            end
              else if opcao3='s' then
                begin
                                              x:=1;
           writeln;
                end;
      end;
                end;
            end;
        end;
                  end;
              end;
            if opcao1=opcao2 then
              begin
                if (opcao1<>'a') and (opcao2<>'a') then
                  begin
                    if (opcao1<>'b') and (opcao2<>'b') then
                      begin
                        if (opcao1<>'c') and (opcao2<>'c') then
                          begin
                            if (opcao1<>'d') and (opcao2<>'d') then
                              begin
                                if (opcao1<>'e') and (opcao2<>'e') then
                                  begin
        writeln;
                                    writeln('Você digitou uma letra que não corresponde a nenhuma das opções do menu acima.');
                                    write('Deseja tentar novamente? [S/N]: ');
               readln(opcao3);
                 if opcao3='n' then
            begin
              writeln;
              writeln('Obrigado por fazer uso de nosso programa! Até a próxima!');
              x:=0;
            end
              else if opcao3='s' then
                begin
                                              x:=1;
           writeln;
                end;
                                  end;
                              end;
                   end;
               end;
                  end;
              end;
        end;
end.

Se alguém puder me ajudar obrigado,

T.C

#2 tiagotdi

tiagotdi

    Turista

  • Usuários
  • 39 posts
  • Sexo:Não informado
  • Localidade:Guarulhos, SP

Posted 02/12/2003, 15:47

Utilize rotinas para fazer este programa, vc pode gerar uma UNIT.
-------------------------------
Tudo Certinho... Então tá bom!!!
e-mail: tiagotdi@yahoo.com.br
icq: 81453528

#3 phmda

phmda

    Expert

  • Usuários
  • 590 posts
  • Sexo:Não informado
  • Localidade:São Paulo - SP

Posted 16/01/2004, 21:51

kra tenta botar uns vetores ai pra dar uma diminuida...no código...e até agora se num fez quase nada...tava meio que fazendo o programa aqui na minha cabeça kra e se vc naum utilizar vetores...vc chega facinho no limite de linhas do pascal...mais pra frente com certezavc vai ter que usar units.. e ai sim deve ficar mais facil controlar por fora do pascal...
www.phmda.com.br

#4 xleandro

xleandro

    Saber eh poder

  • Usuários
  • 359 posts
  • Sexo:Não informado
  • Localidade:ES
  • Interesses:Linguagens de programaçao, SO`s, hardwares e softwares.

Posted 19/03/2004, 16:34

Axo q fikaria mais facil c vc usasse umas procedures e functions.

[]`s

:)

Edição feita por: xleandro, 19/03/2004, 16:34.

Nesta guerra jah conquistamos grandes e pequenas batalhas, desde as mais faceis ateh akelas que para qualquer outro mortal seria dita como inalcansavel, mas então, pq continuar? Simples...
Pq o mais importante não eh vencer todas as batalhas, mas sim perpetuar a guerra. ;o)

Meu fotolog: http://www.pixlog.net/xleandro
Leandro Pretti




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq