abril 19, 2021, 02:02:40 am

Noticias:

Si tienes problemas para ingresar: puedes escribir a [email protected] para soporte técnico.


ayuda con proyecto

Iniciado por alejo572, octubre 21, 2012, 09:07:33 pm

Tema anterior - Siguiente tema

alejo572

gente como les va, yo se que por aqui hay mucho programador entonces quisiera saber si me pueden hechar una mano en realidad creo que es una tontera pero si esta tontera no esta bien mi programa no va a funcionar bien , la cuestion es esta tengo que hacer lo siguiente

Una sala de cine está compuesta de sillas que se identifican con una letra que representa la fila (A-K) y un número de silla (1-10). Las sillas pueden ser de dos clases, preferencial (filas I, J y K) y general (filas restantes), las primeras tienen un costo de ¢10.000 y las segundas de ¢8.000

ok el programa es mucho mas grande y falta reservaciones , pagos ect ... pero eso ya lo tengo planeado , mi unica duda es que estoy haciendo el digrama de flujo y no se como hacer la matriz para que tenga letras y numeros ,y a la vez almacenar un valor en cada casilla de la matriz que sea Disponible , osea ya he creado la matriz M= {10} {10} y ahora como hago para mostrar los indices con letras por ejemplo A5

seria de gran ayuda cuaquier comentario saludos

felipelvrd

no entendí, la matriz es como la de un ajedrez solo que hasta diez.


Lo de mostrar los indices con letras? el A5 sería la primera fila y la quinta silla, entonces los indices serian [0,4].

alejo572

todo bien felipe mae seria algo como esto , yo se como llegar las posiciones pero no se como mostrar o asignar las letras osea si hago una reserva de una silla yo se que la silla sepuede mostrar como silla 5 en la fila 3 por ejemplo pero en lugar de eso deberia mostrar C5 donde C es el numero de la fila ?? osea como hacer para mostrar subindices con letras solo lo he hecho con numeros creo que si seria como una tablero de ajedrez

felipelvrd

Lo que quiere es meter la letra en el indice como decir mtz[C][5], de eso se trata?

alejo572

Cita de: "felipelvrd"Lo que quiere es meter la letra en el indice como decir mtz[C][5], de eso se trata?

mae si exacto las filas tienen que llevar letras por ejemplo A1 A2 A3
                                                                                             B1 B2 B3
                                                                                             C1 C2 C3
                                                                                             D1 D2 D3

y asi hasta 10 y hasta K ,,, y dentro de esa matriz todas los valores dentro de cada posicion les voy a asignar la letra D de disponible para hacer despues un IF y cambiar el valor a O  de ocupado para hacer reservas del cine

alejo572

lo que se me ha ocurrido es que talvez pueda hacer una columna adicional para las letras osea una matriz 10x11 donde la primera columna seria exclusivamente para asignar las letras y usarlas como referencia para cada numero

felipelvrd

Meter letras en el indice no se puede ahí solo van enteros, lo que si puede es convertir la letra en un numero, tomando en cuenta que la 'A' es el 0, 'B' el 1, 'C' el 2 ... Lo que tiene que hacer es restarle 65 a la letra, ej: para la posición C5 entra así matriz['C'-65,5], pero las letras tienen que estar en mayúscula, si lo va a hacer en minúscula tiene que restarle 97 en lugar de 65.

koda

De ser cierto eso  que dice felipe esta cool, yo nunca lo he probado, porque sí, luego para volverlo a letra de nuevo nada más se los vuelve a sumar y listo.

Una solución un tanto más chapusa es hacerse una variable que lea la letra, luego otra que almacene un número, luego lee la letra en la variable de texto, luego la pasa por un case que según el caso guarde el número correspondiente a la letra en la variable que fijo para el número, por ejemplo, A, que equivale que a 0 en la matriz, luego para buscar en la matriz pone el número en vez de la letra.

CASE letra
"A": numero = 0;

Y para hacerlo de número a letra igual:

Si desea sacar nada más convierte de número a letra:

CASE número
0: letra = "A"

De todas formas dudo que lo necesite, porque si ocupa consultar ya tiene la letra en una variable y el número en otra por lo que si tiene que usar esa info tiene los dos datos a mano.

Puede usar un case o un chorro de IF, es ineficiente pero funciona.

Otra solución sería con clases, pero no se si las manejas, de ser así te podría explicar ese método también.

Coste

Al igual que Cold yo había pensado en el de las clases, pero el método de felipe suena bien ...

maucostarico

Me suena lo de cold hace poco hice una calculadora con numeros romanos que tenia que mostrar el resultado en numeros romanos y tenia un problema parecido, a lo ultimo hice los arreglos de las letras en unidades, decenas, centenas etc, y despues usé el case, eso hace mas simple que crear strings e if's.

alejo572

gente muchas gracias por los comments en especial a cold y a felipe

Buscar en el Foro: