Programación General > Pascal

 Subprograma nombre de cartas de la baraja española

(1/1)

party_metal:
Hola soy nuevo y estoy programando el siguiente ejercicio.
Las cartas de la baraja española pueden representarse mediante un nú-
mero entre uno y cuarenta. En esta representación, las cartas del palo de
oros tendrán sus valores entre 1 y 10. Las del de copas entre 11 y 20, espadas
entre 21 y 30, y las de bastos entre 31 y 40. Dentro de cada palo, el primer
número corresponderá al as, el segundo al dos, y así sucesivamente hasta el
último que representa al rey.
Con esta representación, al seis de copas le corresponderá el 16, al caballo
de espadas el 29 y a la sota de bastos el 38.
Implementar un subprograma que pregunte al usuario un número entre 1
y 40 y escriba por pantalla la carta de la baraja y el palo al que corresponde

--- Código: Pascal --- function devuelveCarta(n:integer):string;   var    aux:string;    unidad:integer;   begin     unidad:=n mod 10;     case unidad of      1:aux:='El As de';      8:aux:='La Sota de';      9:aux:='El Caballo de';      0:aux:='El Rey de';     else      aux:='El n de';     end;{end case}     case n of     1..10: devuelveCarta:=aux+'Oros';     11..20:devuelveCarta:=aux+'Copas';     21..30:devuelveCarta:=aux+'Espadas';     31..40:devuelveCarta:=aux+'Bastos';    end;{end case} end;  Centrandome en la función en sí y de momento no validando la entrada y mostrando la salida, llevo esto, pero me acabo de dar cuenta de que en el primer case cuando entra al else realmente me escribre "El n de" y no si fuera n=8 "El 8 de" y nose como puedo luego concatenarlo con el 2ºcase sin ponerlo como una variable...
¿Alguíen me puede ayudar o dar alguna pista?
Gracias!

m0skit0:
Tienes la respuesta delante de tus narices:


--- Cita de: "party_metal" ---aux+'Oros';
--- Fin de la cita ---
^_^

Pero primero debes convertir n en cadena de caracteres

Salud

party_metal:
Cierto es!! :o
Muchas gracias!!

Navegación

[0] Índice de Mensajes

Ir a la versión completa