PreTenDer666 Posted March 1, 2006 at 10:23 AM Report #16092 Posted March 1, 2006 at 10:23 AM 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? ? Desda ja agradeço a ajuda que me têm dado até ao momento, estão a ser espectaculares 😄
Warrior Posted March 1, 2006 at 10:52 AM Report #16102 Posted March 1, 2006 at 10:52 AM 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.
GpL Posted March 1, 2006 at 11:34 AM Report #16114 Posted March 1, 2006 at 11:34 AM 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.
Warrior Posted March 1, 2006 at 02:30 PM Report #16142 Posted March 1, 2006 at 02:30 PM ???????????????? é 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
GpL Posted March 1, 2006 at 03:44 PM Report #16164 Posted March 1, 2006 at 03:44 PM 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..
GpL Posted March 2, 2006 at 11:39 AM Report #16322 Posted March 2, 2006 at 11:39 AM 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
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