Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

marcosmvg

Pascal:Ler data e imprimir por extenso

Recommended Posts

Bom dia !

 

Preciso desnvolver este algoritmo em pascal , mas só usando while, length , contador .

Sem usar case ou repeat!

 

Faça um programa que lê cinco datas no formato dd/mm/yyyy. Seu programa deverá imprimir as datas por extenso.

Por exemplo: suponha que o usuário digite: 26/05/2009, então seu programa deverá exibir:

26 de Maio de 2009.

 

obrigado !

 

Estou tentando dessa forma

está certa ?

 

Program Pzim ;
var data,m01,m02,m03,m04,m05,m06,m07,m08,m09,m10,m11,m12:string;
	contador :integer;
 Begin
  	m01:= 'janeiro';
  	m02:='fevereiro';
  	m03:='março';
  	m04 :='abril';
  	m05:= 'maio';
  	m06:='junho';
  	m07:='julho';
  	m08 :='agosto';
  	m09:= 'setembro';
  	m10:='outubro';
  	m11:='novembro';
  	m12:='dezembro';
  	contador:=1;
  	while contador <=3 do
  	begin
  		writeln ('Digite uma data : por exemplo : 26/05/2009');
  		readln (data);

Compartilhar este post


Link para o post
Compartilhar em outros sites

No Pascal tem algum comando q nem o Mid? para você pegar fragmento no meio da palavra, pq se tiver é facil digamos:

String sData, sMes;
Leia(sData);
sMes = Mid(sData, 2, 4); //Joga na variavel mes 2 caracteres começando do quarto caracter da palavra sData
ai faz os if's para verificar se é janeiro, fevereiro e por ai vai ;D

 

[]s

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu sei que você disse que só pode usar while, length, mas olha ae essa funcao

Função Copy

Retorna uma subcadeia de uma cadeia.

Declaração:

function Copy(S: string; Ind: integer; Cont: integer):string;

Copy retorna uma subcadeia contendo Cont characteres, começando a partir da posição Ind em S.

Exemplo:

var

S1, S2: string;

begin

S1 := 'ABCDEF';

S2 := Copy(S,2,3); {S2 conterá 'BCD' }

 

Obs: Se Ind for maior do que o comprimento de S, Copy retorna uma cadeia vazia. Se Count especificar mais caracteres que o resto a partir da posição Ind, somente o restante da cadeia será retornado.

entao você poderia fazer algo do tipo

 

dia := Copy(data,1,2);

mes := Copy(data,4,2);

ano := Copy(data,7,4);

 

depois disso é so fazer as comparações.

abraço

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.