1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

Pascal

Discussão em 'Programação' iniciada por Mjcp, 3 de Setembro de 2008. (Respostas: 6; Visualizações: 653)

  1. Mjcp

    Mjcp Power Member

    OI preciso de ajuda de alguem que saiba de pascal podem me dizer o que esta mal nisto
    Código:
    uses
      WinCrt; 
    var sn :integer;
    Begin
        writeln("oi gostas de mim?");
        readln(sn) ;
        if sn="sim" or sn"Sim" then
        writeln("fixe")
        else writeln("que pena")   ;
    end;
    end.
     
     
    Última edição pelo moderador: 3 de Setembro de 2008
  2. MPalhas

    MPalhas Power Member

    Código:
    uses
      WinCrt; 
    var sn :integer;
    Begin
        writeln("oi gostas de mim?");
        readln(sn) ;
        if sn="sim" or sn[COLOR="Red"]=[/COLOR]"Sim" then
        writeln("fixe")[COLOR="red"];[/COLOR]
        else writeln("que pena")   ;
    [COLOR="red"]end;[/COLOR]
    end.
    marquei a vermelho as correções.
    faltava aquele = no if, faltava ponto e virgula no segundo writeln, e penso que aquele end que marquei a vermelho não está ali a fazer nada (mas desta ultima não tenho a certeza)
     
  3. Mavors

    Mavors Power Member

    Eu não programo em Pascal, mas isso parece-me ter umas coisas estranhas.
    A primeira é as condições não estarem fechadas tipo:
    Código:
    if (sn="sim") or (sn[COLOR=Red]=[/COLOR]"Sim")
    ao invés de apenas
    Código:
    if sn="sim" or sn[COLOR=Red]=[/COLOR]"Sim"
    A outra coisa que me parece estranha é tares a comparar uma String ao sn quando o declaraste como integer...
    Código:
     var sn :integer;
    Mas lá está, isto é senso comum pq eu não programo em Pascal, portanto posso tar errado. :)
     
  4. RADguy

    RADguy Power Member

    Olá,

    Tens várias coisas mal nesse programa:

    A váriavel sn deve ser do tipo String ou Char(3), e não do tipo Integer, pois mais á frente estás a atribuir as String que lês com o readln.

    Depois, as Strings que usas dentro de uma aplicação em Pascal devem estar entre pelicas ' e não entre aspas "

    Quando tens várias condições num if estas devem estar entre ()

    antes de um else nunca leva ;

    aqui vai o código corrigido, acho que já deve compilar (não tenho como testar aqui):

    Código:
    var sn :string;
    Begin
        writeln('oi gostas de mim?');
        readln(sn) ;
        if (sn='sim') or (sn='Sim') then   {aqui seria mais seguro if UpperCase(sn)='SIM' then}
        writeln('fixe')
        else writeln('que pena');
    End;
     
  5. MPalhas

    MPalhas Power Member

    só acho que tens uma coisa mal. o End, como neste caso é o fim do programa, não devia ser com ponto final?
     
  6. Mjcp

    Mjcp Power Member

    yah ja funka
     
  7. Gurzi

    Gurzi Power Member

    eu dizia que era o programa que nao gostava mesmo de ti :P

    lol, sorry o offtopic mas curti da pergunta no programa lol :P
     

Partilhar esta Página