Jump to content


Photo

Tenho Dúvidas Nesse Meu Algoritmo


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

#1 mallu cunha

mallu cunha

    Novato no fórum

  • Usuários
  • 3 posts
  • Sexo:Feminino
  • Localidade:Vitória-ES

Posted 01/07/2009, 10:13

Boa tarde pessoal,
Eu tenho dúvidas sobre um erro que ocorre no meu algoritmo de cardápio, eu fiz esse algoritmo enquanto estudava tratamento de arquivos, na verdade era um algoritmo que eu já havia feito há semanas, mas usei para exercitar tratamento de arquivos...Acho que eu não peguei legal vetores e estutura de repetição, contatores. Enfim, vou postar meu algoritmo e gostaria que alguém pudesse me mostrar onde estou errando, inclusive eu já compilei esse algoritmo mas na hora de imprimir no arquivo, o arquivo sempre repete as mesmas opções do cardápio para cada cliente.
ahhh... eu já ia me esquecendo, usei o Pzim ou pascalzim.

Program Cardapio ;var cliente:array[1..6] of string; opcao:real; i:integer; arq:text; Begin  i:=1;  for i:=1 to 6 do  Begin    writeln('Cardápio');    writeln;    writeln;    writeln('1- Big Super Burger');    writeln('2- Burger Normal');    writeln('3- Misto Simples');    writeln;    writeln('Digite o nome do cliente');    read(cliente[i]);    writeln('Digite a opção escolhida');    read(opcao);    writeln('cliente');         if opcao = 1 then    Begin      writeln('Big super burger');      writeln('com 2 hamburgeres, queijo, batata frita e refrigerante');      writeln('R$ 5,00');    End    else if opcao = 2 then     Begin      writeln('Burger normal');      writeln('1 hamburger, batata frita e refrigerante');      writeln('R$ 3,00');     End    else if opcao = 3 then     Begin 	   writeln('Misto simples');	   writeln('1 misto quente e um refrigerante');	   writeln('R$ 1,50');	   	End;               	            End;          assign(arq,'D:\pascal\arquivos\pedido.txt');     rewrite(arq);    for i:= 1 to 6 do    Begin     writeln(arq,cliente[i]);     if opcao = 1 then    Begin      writeln(arq,'Big super burger');      writeln(arq,'com 2 hamburgeres, queijo, batata frita e refrigerante');      writeln(arq,'R$ 5,00');    End    else if opcao = 2 then     Begin      writeln(arq,'Burger normal');      writeln(arq,'1 hamburger, batata frita e refrigerante');      writeln(arq,'R$ 3,00');     End    else if opcao = 3 then     Begin 	   writeln(arq,'Misto simples');	   writeln(arq,'1 misto quente e um refrigerante');	   writeln(arq,'R$ 1,50');	   	End;                       End;   close(arq);   clrscr;   readkey;  End.

Eu gostaria de dizer que depois que eu fiquei aqui a tarde toda tentando achar o problema, encontrei finalmente o erro, eu devia ter criado um vetor para a variável opcao também, eu tinha criado vetor só para a variavel cliente. Apesar de ninguém aqui ter me ajudado, eu agradeço mesmo assim e agradeço especialmente àquelas pessoas que pensaram que eu queria que alguém refizesse o meu trabalho. Não! Eu não queria que refizessem meu trabalho, eu queria apenas que alguém me mostrasse onde eu estava errando. E eu descobri que era algo simples. Muito obrigada mesmo.

#2 DarkSign

DarkSign

    Doutor

  • Usuários
  • 868 posts
  • Sexo:Masculino
  • Localidade:Brasil
  • Interesses:Tecnologias na área WEB em geral e desenvolvimento.

Posted 01/07/2009, 11:04

Na verdade, é que o pessoal por aqui é mais focado em web, e eu não estava online por um tempo.

De qualquer forma, você não conseguiu usar o IF com a var opcao, pq

opcao:real;

Você tinha declarado como real. Opcao simples deve ser byte, que é um numero pequeno.

Ah, e as pessoas podem acabar demorando pra responder. De qualquer forma, que bom que conseguiu resolver, e postou sua solução. Muito obrigado pela contribuição.
Não sabe por onde começar? Que tal pelas Regras ?

#3 mallu cunha

mallu cunha

    Novato no fórum

  • Usuários
  • 3 posts
  • Sexo:Feminino
  • Localidade:Vitória-ES

Posted 01/07/2009, 14:36

Na verdade, é que o pessoal por aqui é mais focado em web, e eu não estava online por um tempo.

De qualquer forma, você não conseguiu usar o IF com a var opcao, pq

opcao:real;

Você tinha declarado como real. Opcao simples deve ser byte, que é um numero pequeno.

Ah, e as pessoas podem acabar demorando pra responder. De qualquer forma, que bom que conseguiu resolver, e postou sua solução. Muito obrigado pela contribuição.

Obrigada DarkSign! Na verdade eu nem me liguei no detalhe de opcao:real;, é mais um detalhe que eu não havia percebido, obrigada. Agora os arquivos recebem direitinho os 4 nomes de clientes e 4 pedidos. Esse foi um algoritmo que eu fiz no começo do meu curso e agora estou utilizando apenas para treinar tratamento de arquivos, no próximo mês eu quero começar um curso de desenvolvimento em php, eu quero evoluir de uma "designer que faz web" para uma desenvolvedora web. Eu estava me dúvida entre fazer java ou desenvolvimento em php, mas na minha faculdade eu vou ter programação orientada a objeto por isso desisti de fazer java agora. Imagina quanta coisa eu já não vou ter que estudar...
Valeu colega!!




1 user(s) are reading this topic

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

IPB Skin By Virteq