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

Kriptosgeek

Problema com o Dev Pascal

8 mensagens neste tópico

O seguinte codigo escrito em Dev Pascal dá erro e eu não consigo dar com o erro, é o seguinte:

Program mario;
uses dos;
label fim;
var vect:array [1..4,1..2] of String;
    i:integer;
    con:Boolean;
Begin
for i:=1 to 4 Do
Begin
Writeln ('Introduza o nome do aluno ', i);
Write ('Nome=> ');
Read (vect[i,1]);
Write ('Idade=> ');
Read (vect[i,2]);
Clrscr;
end;
i:=0;
con:=True;
While con DO
Begin
a:
Writeln ('Introduza o numero do aluno que pretende consultar');
Write ('Numero=> ');
Read (i);
Clrscr;
if ((i=0) or (i<1) or (i>4))
Then Goto a;
Write ('O aluno ',i,' chama-se ',vect[i,1], ' e tem ',vect[i,2],' anos');
Readkey;
Clrscr;
end;

end.

ouvi falar deste compilador e resolvi exprimentar criando este codigo simples!

Mas pelos visto axo que o compilador não é dos melhores (acho eu!)

alguem conhece um compilador que seja bastante abrajente???

è que no Turbo Pascal for Windows e no Pascal ZIM tenho vindo a programar na maior!!!

Mas resolvi mudar de compilador, mas ainda não consegui arranjar um que seja o mais abranjente possivel!

Qual é o compilar que voces recomendam???

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Não sei quantas vezes já disse isto neste fórum, mas cá vai mais uma vez:

O Dev-Pascal é um IDE e não um compilador. O Dev-Pascal usa uma versão do excelente compilador FreePascal.

Faz o download do FreePascal que já traz um IDE.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Program mario;

uses dos; /*deves incluir tambem a livraria crt, pois + a frente usas o ClrScr q é uma função da livraria CRT

label fim;  /* ERRO aqui deveria estar a e não fim, pois foi o label q usas-te + a frente*/

var vect:array [1..4,1..2] of String;

    i:integer;

    con:Boolean;

Begin

for i:=1 to 4 Do

Begin

Writeln ('Introduza o nome do aluno ', i);

Write ('Nome=> ');

Read (vect[i,1]);

Write ('Idade=> ');

Read (vect[i,2]);

Clrscr;

end;

i:=0;

con:=True;

While con DO

Begin

a:

Writeln ('Introduza o numero do aluno que pretende consultar');

Write ('Numero=> ');

Read (i);

Clrscr;

if ((i=0) or (i<1) or (i>4))

Then Goto a;

Write ('O aluno ',i,' chama-se ',vect[i,1], ' e tem ',vect[i,2],' anos');

Readkey;

Clrscr;

end;

end.

Eu vi os erros q tinhas no código e comentei os erros q tinhas, mas uma coisa não percebo, oq é q tu keres fazer  com esse código?? Não seria melhor usares Records?? Já agora Usar Label e Goto -> Não uses tentar usar ciclos while ou if. Tentar compilar o código com estas correcções e vê que já não dá erro.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Não sei quantas vezes já disse isto neste fórum, mas cá vai mais uma vez:

O Dev-Pascal é um IDEe não um compilador. O Dev-Pascal usa uma versão do excelente compilador FreePascal.

Faz o download do FreePascal que já traz um IDE.

Se me permitem a ignorancia! Podiam-me explicar o que é um IDE??

Para lordnins:

Apos esses erros, eu executei e reparei que o programa apenas perguntou o nome do primeiro aluno e dps avancou para o While, a que se deve???

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Eu só vi o código assim por alto, agora num tenho tempo  para analizar isso e dizer-te o que está errado, amanhã já posso ver disso, eu já não me lembro muito bem de pascal, já não uso isso há uns anos e como tou + habituado a c e vb podia dizer-te o código errado  :P

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Primeiro que tudo, bem vindo ao fórum. :P

Só um pequeno reparo: Programar com labels e goto's não é muito correcto. Não sei se tens conhecimento de como se faz, mas podes criar um Procedimento (Procedure) ou Função (Function).

Apesar de já não programar em Pascal sempre utilizei o Turbo Pascal, pois tem uma porrada de libraries (Ah, já agora, li por aí um comentário em que se referiam às libraries como livrarias o que é incorrecto, library traduz-se para Português como Biblioteca).

E já agora podias postar o erro que te deu, para a ajuda ser mais eficiente.

Cumps,

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Apresenta a tela para introduzir o nome do 1º aluno, mas ao introduzir o nome e carregar enter ele não le a segunda variavel e quando o ciclo passa para 2 não le nada e o mesmo se passa com o 3 e 4, passando directamente para o ciclo do While.

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