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

PreTenDer666

Mais uma pergunta...como reiniciar o programa?

6 mensagens neste tópico

Mais uma vez...Boas,

ainda nao consegui atinar naquela parte das horas que perguntei, mas ja consegui acabar os outros dois que estava a fazer, mas agora falta limar as pontas...e a minha pergunta é: Como eles são supostos so aceitarem numeros (é esse o objectivo deles), como é que faço para quando alguem coloca uma letra ou um caracter que nao seja um numero para eles reiniciar em vez de fecharem automaticamente? :hmm:

Desda ja agradeço a ajuda que me têm dado até ao momento, estão a ser espectaculares :D

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Tenho a certeza que existe um método mais simples, mas foi nisto que pensei..

program teste;
var a,erro:integer;
    d:string;

function isnum(s:string):boolean;
var i:integer;
begin
  isnum:=true;
  for i:=1 to length(s) do
    if ((s[i]<'0') or (s[i]>'9')) then isnum:=false;
end;

begin
  repeat
    readln(d);
  until (isnum(d));
  val(d,a,erro);
  writeln(a);
end.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Esse método não é o correcto.. o método correcto é algo como usar {$i+} e {$i-} no principio e no fim do algoritemo que lê o numero.. agora como é nesse caso não tenho a certeza.. sei que em ficheiros para o programa não abortar se o ficheiro não for encontrado usas este algoritemo

   

 clrscr;
     gotoxy(20,12);write('ABERTURA DE FICHEIRO');
     assign(F,'zzz.txt');{$I-}reset(F);{$I+}
     if ioresult<>0 then
                        begin
                             writeln('Novo ficheiro...');
                             existefich:=false;
                        end
                    else existefich:=true;

se o ioresult for diferente de 0 é porque o ficheiro não existe.. se for 0 o ficheiro existe e o programa conseguiu abri-lo para leitura,neste caso..

é um questão de pesquisar,usar a ajuda e tentar.. mas o algoritemo que tens de usar é basicamente isso..

cumps.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

????????????????

é verdade que existem directivas de compilação para o programa não crashar por si mesmo, mas sinceramente duvido que seja essa que tu usaste.

Esse exemplo serve para ao fazeres o reset, se o ficheiro não existir, o programa não crashar.

Pesquisa por directivas de compilação em Pascal, pode ser que encontres alguma coisa

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Warrior.. e eu disse que isto era a maneira que se usava para ficheiros.. para o caso dele tenho quase a certeza que é duma maneira muito semelhante..

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Afinal não sei se existe alguma directiva de compilação para esse caso.. o que o meu prefessor me sugeriu foi ler tudo como string e converter para inteiro usando o procedimento Val ..

cumps

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