Jump to content

Programa de registo de faturas


Bruno Santos

Recommended Posts

Boas Tardes eu tou em Programação de Sistemas de Informação e Tou a dar pascal e hj a minha setora pediu nos para fazer um  programa de registo de faturas e eu ja fiz tudo so que so me falta pedir a data assim:dia/mes/ano e o dia tem que ser enter 1 e 31 o mes 1 a 12 e o ano enter 1980 e 2050 Porfavor ajudem me 

Obrigado pela Atenção

Link to comment
Share on other sites

Tens de dar mais algum contexto para te podermos ajudar.

  • O programa é em linha de comandos?
  • Se sim, queres que o utilizador escreva os separadores da data '/' ou queres que ele só escreva os números?

"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

17 horas atrás, nunopicado disse:

Tens de dar mais algum contexto para te podermos ajudar.

  • O programa é em linha de comandos?
  • Se sim, queres que o utilizador escreva os separadores da data '/' ou queres que ele só escreva os números?

 o codiga ta assim:

program registo_de_faturas;
uses crt;
Type registo=record
     nfatura:Integer;
     referencia:String;
     data:(dia,mes,ano);
end;
tabela=array[1..10] of registo;
var t:tabela;
    x:Integer;
    dd,mm,aa:Integer;
Begin
clrscr;
For x:=1 to 10 do
        Begin
            Writeln('Intruduza o N¦ da Fatura');
            repeat
            Readln(t[x].nfatura);
            if (t[x].nfatura <=0) or (t[x].nfatura >100) then
                Writeln('N§ de Fatuta Invaliada!Volte a Introduzir');
            Until (t[x].nfatura >=1) and (t[x].nfatura <=100);
            end;
            Writeln('Refenecia da fatura com o n§ ',t[x].nfatura);
            readln(t[x].referencia);

          {aqui deve ficar a data que o utilizador insere ex:15/06/2015} 
            readln;
            end.

e eu nao sei como

se me conseguir ajudar agradecia 

Edited by nunopicado
Syntax Highlight
Link to comment
Share on other sites

Bem, para começar, tens de corrigir o teu record.

No campo 'data', o que lhe estás a dizer, é que terá um dos três valores dia, mes ou ano. E nem sequer é um valor numérico, é mesmo um literal.

O que precisas será mais deste género:

type
  registo = Record
    NFatura    : Integer;
    Referencia : String;
    Data       : Record
      Dia : Byte;
      Mes : Byte;
      Ano : Word;
    end;
  end;

Mas agora pergunto:
O que precisas é mesmo guardar o dia, mês e ano em separado, ou apenas que o utilizador insira nesse formato?

É que se fosse apenas a inserção, o record já poderia ser assim:

type
  registo = Record
    NFatura    : Integer;
    Referencia : String;
    Data       : String;
  end;

Memorizavas numa string, no formato Ano/Mes/Dia, que facilita por exemplo ordenações.

"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

4 horas atrás, nunopicado disse:

Bem, para começar, tens de corrigir o teu record.

No campo 'data', o que lhe estás a dizer, é que terá um dos três valores dia, mes ou ano. E nem sequer é um valor numérico, é mesmo um literal.

O que precisas será mais deste género:


type
  registo = Record
    NFatura    : Integer;
    Referencia : String;
    Data       : Record
      Dia : Byte;
      Mes : Byte;
      Ano : Word;
    end;
  end;

Mas agora pergunto:
O que precisas é mesmo guardar o dia, mês e ano em separado, ou apenas que o utilizador insira nesse formato?

É que se fosse apenas a inserção, o record já poderia ser assim:


type
  registo = Record
    NFatura    : Integer;
    Referencia : String;
    Data       : String;
  end;

Memorizavas numa string, no formato Ano/Mes/Dia, que facilita por exemplo ordenações.

Muito Obrigado ja tenho o pretendia muito obrigado nunopicado

Link to comment
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.