Programación General > Pascal
Tipos De Datos
(1/1)
ALCEST:
Me piden que defina tipos para un registro con número y palo de naipe
alguien me recomienda algo mejor q lo siguiente?
--- Citar ---program palo_diamante;
uses
crt;
type
rango = 1..13;
vector=array[rango] of string;
diamantes = record
vec_diamantes:vector;
end;
var
palo_diamantes:diamantes;
i:byte;
begin
clrscr;
with palo_diamantes do
begin
vec_diamantes[1]:='As';
vec_diamantes[2]:='2';
vec_diamantes[3]:='3';
vec_diamantes[4]:='4';
vec_diamantes[5]:='5';
vec_diamantes[6]:='6';
vec_diamantes[7]:='7';
vec_diamantes[8]:='8';
vec_diamantes[9]:='9';
vec_diamantes[10]:='10';
vec_diamantes[11]:='Valet';
vec_diamantes[12]:='Dame';
vec_diamantes[13]:='Roi';
end;
writeln('Palo de diamantes: ');
writeln('---- -- --------- ');
with palo_diamantes do
for i:=1 to 13 do
begin
write('Carta Nº ',i,': ');
writeln(vec_diamantes,' de Diamantes');
end;
readln;
end.
--- Fin de la cita ---
saludos y gracias!
Enko:
Se me hace que para el caso viene bien una enumeracion como tipo para el Palo.
--- Código: Text --- type TPalo =(espada,basto,oro,copa); TNaipe = record Num: Byte; Palo: TPalo; end; TBaraja = array[1..40] of TNaipe; o bien, TPalo puede ser byte:0: espada1: basto2: oro3: copapero en realidad con una enumeracion es exactamente lo mismo porquesi el palo es Espada por ejemplo Ord(TPalo)=0 Este codigo iniciaria la baraja y la mostraria en la pantalla.
--- Código: Text --- var Baraja: TBaraja; I: Integer; Palo: String;begin for i:=1 to 10 do begin Baraja[i].Palo = espada; Baraja[i].Num = i; Baraja[10+i].Palo = basto; Baraja[10+i].Num = i; Baraja[i+20].Palo = oro; Baraja[i+20].Num = i; Baraja[i+30].Palo = copa; Baraja[i+30].Num = i; end;for i:=1 to 40 dobegin case Baraja[i].Palo of 0: Palo := 'Espada'; 1: Palo := 'Basto'; 2: Palo := 'Oro'; 3: Palo := 'Copa; end; WriteLn(i, ': ', Baraja[i].Num, ' ', Palo);end;
Navegación
Ir a la versión completa