.Tigas. Posted February 25, 2012 Report Share Posted February 25, 2012 Boas. Estou a fazer um programa de reserva de bilhetes do Sumol Summer Fest para projecto final de um módulo de programação sobre ficheiros de texto e de dados. O projecto está na recta final mas tem dois problemas em dois procedimentos. Apenas vou expor aqui o segundo problema porque o primeiro contem um código um pouco grande e duvido que alguém tivesse paciência para me ajudar. x) Mas passando ao que interessa. O procedimento nº7 faz com que o utilizador possa ver quantos bilhetes estão em stock. O problema é que a minha ideia não resultou e penso que tem haver com o FileSize. Este é o código do meu procedimento: procedure stock; z, y, x: integer; Begin y:=FileSize(fich); //fich é o meu ficheiro que contem os bilhetes reservados. x:=30; //x é o limite dos bilhetes que podem ser reservados. z:=x-y; //número de bilhetes disponíveis= limite dos bilhetes que podem ser reservados-bilhetes reservados If z=<0 then Writeln ('BILHETES ESGOTADOS!'); ELSE Writeln ('Existem ',z,' bilhetes disponíveis.'); Readln; End; Pronto, esta foi a minha ideia original mas falha na execução do programa (não na compilação mas sim quando chamo o procedimento na execução do programa). Agora queria saber se sabem o que está mal porque eu não consigo descobrir. O FileSize aparentemente pode-se usar para operações aritméticas porque se não se pudesse fazer isso dava logo erro na compilação, coisa que não aconteceu. Ou se tiverem outra ideia que possa ser aplicada agradeço também. Obrigado desde já. 😕 Link to comment Share on other sites More sharing options...
nunopicado Posted February 25, 2012 Report Share Posted February 25, 2012 Possivelmente tens o ficheiro fechado quando entras no procedimento. Experimenta o seguinte: . . Reset(fich); y:=FileSize(fich); Close(Fich); . . . Já agora, umas dicas: - Coloca as tags Geshi à volta do teu código. Basta editares, seleccionares a parte do procedimento, ires à caixa no editor que diz "Inserir código" e escolhe pascal. fica muito mais legível aqui no forum se o fizeres. - Melhora a indentação. Dá jeito também a nível da legibilidade. - falta um var antes da declaração de variáveis. Imagino que isso seja só aqui, de contrário tinhas erro logo a compilar. "A humanidade está a perder os seus génios... Aristóteles morreu, Newton já lá está, Einstein finou-se, e eu hoje não me estou a sentir bem!" > Não esclareço dúvidas por PM: Indica a tua dúvida no quadro correcto do forum. Link to comment Share on other sites More sharing options...
.Tigas. Posted February 25, 2012 Author Report Share Posted February 25, 2012 Funcionou perfeitamente. Obrigado! Podem deixar o tópico aberto até o projecto estar concluído? É que assim escuso de criar mais tópicos no fórum por causa disto. 😕 Quanto às dicas: * Já editei o post com o código em Pascal. Eu tentei fazer isso inicialmente ao fazer o main post mas não deu. * A indentação foi aqui apenas (o tab não funciona na caixa do post). Preguiça com os espaços. x) * Sim, o var também foi só aqui. Eu escrevi manualmente o código porque tinha preguiça de abrir o programa em notepad e fazer c/p, ahahah. Estranho, eu sei. XD Obrigado por tudo. 🙂 Link to comment Share on other sites More sharing options...
nunopicado Posted February 25, 2012 Report Share Posted February 25, 2012 🙂😄 Tá boa essa... A preguiça funciona de maneiras insondáveis! hehehehe Já agora, não te inibas de expor o outro problema... Ninguém te garante ajuda certa, mas posso prometer que se não expuseres a dúvida é que não tens mesmo ajuda! 😕 "A humanidade está a perder os seus génios... Aristóteles morreu, Newton já lá está, Einstein finou-se, e eu hoje não me estou a sentir bem!" > Não esclareço dúvidas por PM: Indica a tua dúvida no quadro correcto do forum. Link to comment Share on other sites More sharing options...
.Tigas. Posted February 25, 2012 Author Report Share Posted February 25, 2012 Certo. Por agora vou tentar resolver por mim mesmo já que ainda tenho vários dias até ao final do prazo para a entrega do projecto. Mas depois se não conseguir mesmo contornar o problema então posto aqui a situação. Obrigado mais uma vez. Link to comment Share on other sites More sharing options...
nunopicado Posted February 25, 2012 Report Share Posted February 25, 2012 Sempre às ordens... "A humanidade está a perder os seus génios... Aristóteles morreu, Newton já lá está, Einstein finou-se, e eu hoje não me estou a sentir bem!" > Não esclareço dúvidas por PM: Indica a tua dúvida no quadro correcto do forum. Link to comment Share on other sites More sharing options...
thoga31 Posted February 26, 2012 Report Share Posted February 26, 2012 Podem deixar o tópico aberto até o projecto estar concluído? É que assim escuso de criar mais tópicos no fórum por causa disto. 😕 Já agora, aproveito para referir 2 coisas: 1. Nenhum tópico é encerrado a não ser que viole invariavelmente alguma regra do fórum; 2. A não ser que a dúvida esteja muito ligada à inicial, e esta não tenha séculos de idade, deve-se criar um novo tópico para uma nova dúvida. Cumprimentos. 🙂 Knowledge is free! Link to comment Share on other sites More sharing options...
.Tigas. Posted February 26, 2012 Author Report Share Posted February 26, 2012 Sendo assim vou criar um novo tópico. Apesar de fazer parte do mesmo programa, o procedimento é totalmente diferente. Obrigado. 😕 Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now