Foros del Web » Programación para mayores de 30 ;) » Programación General »

Cuadro en c

Estas en el tema de Cuadro en c en el foro de Programación General en Foros del Web. Gente tengo que modificar mi cuaro para que sea perfecto....alguien me puede ayudar...el codigo que tengo es: #include <stdio.h> #include <stdlib.h> #include <conio.h> #define MARGENX ...
  #1 (permalink)  
Antiguo 01/11/2008, 10:35
 
Fecha de Ingreso: noviembre-2008
Mensajes: 1
Antigüedad: 15 años, 6 meses
Puntos: 0
Cuadro en c

Gente tengo que modificar mi cuaro para que sea perfecto....alguien me puede ayudar...el codigo que tengo es:

#include <stdio.h>
#include <stdlib.h>
#include <conio.h>

#define MARGENX 10
#define MARGENY 2
#define ESPACIADO 3

#define BASE 36
#define ALTURA 23

void bloquearCasilla (int X, int Y) {
int i, h;

for (i = MARGENX; i < (BASE + MARGENX); i++) {
for (h = 0; h <= ALTURA; h++) {
if (
i > ((X * ESPACIADO + MARGENX) - ESPACIADO) &&
i < ((X * ESPACIADO + MARGENX)) &&
(MARGENY + h) > ((Y * ESPACIADO + MARGENY) - ESPACIADO) &&
(MARGENY + h) < ((Y * ESPACIADO + MARGENY))) {
gotoxy (i, (MARGENY + h));
printf ("%c", 177); // Bloquear con cubito ASCII
}
}
}
}

void ubicarLetra (char Letra, int X, int Y) {
int i, h;

for (i = MARGENX; i < (BASE + MARGENX); i++) {
for (h = 0; h <= ALTURA; h++) {
if (i == (X * ESPACIADO + MARGENX) && (MARGENY + h) == (Y * ESPACIADO + MARGENY)) {
gotoxy (i - ESPACIADO / 2, (MARGENY + h) - ESPACIADO / 2);
printf ("%c", Letra);
}
}
}
}

void ubicarReferencia(int Numero, int X, int Y) {
int i, h;

for (i = MARGENX; i < (BASE + MARGENX); i++) {
for (h = 0; h <= ALTURA; h++) {
if (i == (X * ESPACIADO + MARGENX) && (MARGENY + h) == (Y * ESPACIADO + MARGENY)) {
gotoxy (i - (ESPACIADO - 1), (MARGENY + h) - (ESPACIADO - 1));
printf ("%d", Numero);
}
}
}
}

void dibujarGrilla(void) {
int i, h;

for (i = MARGENX; i < (BASE + MARGENX); i++) {
for (h = 0; h <= ALTURA; h++) {
if (h % ESPACIADO == 0) {
gotoxy (i, (MARGENY + h));
printf ("%c", 196); // - horiz
}
}
}

for (i = MARGENY; i < (ALTURA + MARGENY) - 1; i++) {
for (h = 0; h <= BASE; h++) {
if (h % ESPACIADO == 0) {
gotoxy ((MARGENX + h), i);
printf ("%c", 179); // | vert
}
}
}

}

void ubicarPalabraHorizontal (char* palabra, int X, int Y) {
int i;
gotoxy (X, Y);

for (i = 0; i < (BASE / ESPACIADO); i++, X++) {
ubicarLetra (palabra[i], X, Y);
}
}

void ubicarPalabraVertical (char *palabra, int X, int Y) {
int i;
gotoxy (X, Y);

for (i = 0; i < (BASE / ESPACIADO); i++, Y++) {
ubicarLetra (palabra[i], X, Y);
}
}

void imprimirControles(void) {
gotoxy (49, 18);
printf (":: CONTROLES ::");
gotoxy (49, 20);
printf ("ENT : Ingresar Palabra.");
gotoxy (49, 21);
printf ("<- : Ver Palabras Horizontales");
gotoxy (49, 22);
printf ("-> : Ver Palabras Verticales");
gotoxy (49, 23);
printf ("ESC : Sale");
}

void pedirPalabra (void) {
char input[255];
int indice, hov;
gotoxy (49, 5);
printf ("[H]orizontal o [V]ertical?\n");
while (hov != 'h' && hov != 'v') {
gotoxy (49, 6);
hov = getch();
}
(hov == 'h') ? printf ("Horizontal") : printf ("Vertical");
gotoxy (49, 7);
printf ("Ingrese numero de referencia:\n");
gotoxy (49, 8);
scanf ("%d", &indice);
gotoxy (49, 9);
printf ("Ingrese palabra:\n");
gotoxy (49, 10);
scanf ("%s", &input);

if (hov == 'h')
ubicarPalabraHorizontal (input, 2, 2);
else if (hov == 'v')
ubicarPalabraVertical (input, 2, 2);
}

int main () {
int tecla = 0, subtecla;

while (tecla != 27) {
clrscr();
dibujarGrilla();
imprimirControles();
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:45.