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
Ir a la versión completa