problemas al utilizar gotoxy

Foro para los que usan Dev-C++.
Responder
Mensaje
Autor
juan_ma90
Mensajes: 3
Registrado: 27/07/2012 4:02 am

problemas al utilizar gotoxy

#1 Mensaje por juan_ma90 » 27/07/2012 4:58 am

Hola muy buenas en el fragmento de codigo que os paso a continuacion me da problemas en el gotoxy, en clrscr, char palabras, radomize, adivina radom, me podiais ayudar para que me compile utilizo devc++, gracias



#include <conio.h>
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <escribe.c>

int salir; /* variable global para romper ciclo del programa y salir del do */
ahorca(int fallo) { /* subrutina que se ejecuta en caso de que no se adivine la letra */

switch (fallo)
{

case 1: /* Fallo 1 imprime cuerda */
gotoxy(15,9); /* posicion de la pantalla donde vamos a imprimir la cuerda */
printf("+============");
gotoxy(15,8);
printf("|");
gotoxy(15,7);
printf("|");
gotoxy(15,6);
printf("|");
gotoxy(15,5);
printf("|");
gotoxy(15,4);
printf("|");
gotoxy(15,3);
printf("|");
gotoxy(15,2);
printf("|");
gotoxy(15,1);
printf("+======");
gotoxy(22,2);
printf("|");
break;
case 2:
gotoxy(22,3); /* posicion de la pantalla donde vamos a imprimir la cabeza */
printf("0"); /* Fallo 2 imprime la cabeza */
break;
case 3:
gotoxy(20,4);
printf("--+ ");
break;
case 4:
gotoxy(20,4);
printf("--+--");
break;
case 5:
gotoxy(22,5);
printf("|");
break;
case 6:
gotoxy(21,6);
printf("/");
break;
case 7:
salir=1; /* variable global */
gotoxy(23,6);
printf("\\");
break;
}


}

int main(void) { /* Programa principal */

char palabras[11][9]={"", "angela", "maria", "mora", "lampara","helice","libro","guitarra","variable","funcion","piso"};
char cadena2[10]="";
char palabra[10]="";
char *p,letra,repetir;
int plantilla[10];
int lonpal,i,fallos,acierto,puntos;
int adivina;

/* MENU PRINCIPAL */

clrscr ();
printf("\n\t ==================================================");
printf("\n\t INSTRUCCIONES JUEGO DEL AHORCADO");
printf("\n\t ==================================================");
printf("");
printf("\n\t Adivinar palabra en un maximo de 7 oportunidades");
printf("\n\t En cada oportunidad puede elegir una letra, si ");
printf("\n\t acierta letra tendra 2 puntos, si no acierta se os ");
printf("\n\t restara un punto . Gana quien tenga mas puntos. ");
printf("\n\t Las palabras son de 4, 5, 6, 7 u 8 letras cada una.");
printf("");
printf("\n\n SUERTE");
printf("\n\n");
printf("\n Pulsa una letra para empezar...");
getch();
do /* Hacer desde aqui mientras se quiera seguir jugando */
{
for(i=0; i<10; i++) /*para limpiar las cadenas de caracteres utilizadas anteriormente*/
{
cadena2=''; /* Limpia con espacios en blancos la cadena */
palabra=''; /* Limpia con espacios en blancos la cadena */
plantilla=0; /* Limpia con 0 la cadena */
}
randomize(); /* Funcion para encontrar un numero al random */
adivina=random(11-1)+1; /* Llamada a la funcion randomize pasandole como parametro la cantidad de palabras de la matriz palabras */
for (i=0; palabras[adivina]!='\0'; i++)
{
palabra=palabras[adivina];
}

clrscr(); /* Limpia la pantalla */
lonpal=0;
salir=0;
fallos=0;
puntos=0;
gotoxy(12,20);
printf("Adivine palabra: ");
gotoxy(12,30);
for(i=0; palabra!='\0'; i++)
{
printf("-"); /* imprimimos guiones en lugar de las letras que contiene la palabra que se va a adivinar */
}

do /* Hacer desde aqui mientras se verifican todas las letras de la palabra a adivinar */
{
acierto=0;
gotoxy(12,19);
printf("Entre letra: ");
letra = getche();
p = palabra;
lonpal=0;
while (*p!='\0')
{
if (*p==letra)
{
acierto=1;
cadena2[lonpal]=letra;
plantilla[lonpal]=1;
}
else
if(plantilla[lonpal] != 1)
cadena2[lonpal] = '-';
p++;
lonpal++;
}
if(acierto==0)
{
fallos++;
ahorca(fallos); /* Llamada a la funcion que imprime el ahorcado */
}
else
puntos=puntos+2; /* Se suman 2 puntos al acumulador por letra adivinada */

gotoxy(12,20);
printf("Adivine Palabra: %s\n", cadena2);
if(strcmp(palabra,cadena2)==0) salir=1;


} while(salir==0);
if (fallos==7)
{
gotoxy(35,5);
printf("LO SIENTO........No acertaste.");
gotoxy(35,7);
printf("La palabra era ");puts(palabra);
gotoxy(35,8);
printf("puntos=%i",puntos-fallos);
gotoxy(35,9);
printf("¿Quieres intentarlo otra vez?(s/n)");
repetir=getch();
}
else
{
gotoxy(35,5);
printf("FELICIDADES!!! Acertaste!!");
gotoxy(35,6);
printf("puntos=%i",puntos-fallos);
gotoxy(35,7);
printf("Quieres intentarlo otra vez? (s/n)");
repetir=getch();
}
} while(repetir=='s');
}

Avatar de Usuario
rir3760
Mensajes: 7553
Registrado: 01/10/2004 11:00 pm
Ubicación: Mexico

#2 Mensaje por rir3760 » 27/07/2012 8:52 am

Por favor no publiques el mismo mensaje en mas de un foro, si lo haces los mensajes duplicados se eliminan. Mas información en el tema reglas de los foros.

Antes de poder ayudarte con el programa necesitas verificar que la biblioteca conio de Borland este instalada correctamente en Dev-C++. Hay varios temas sobre ello, solo tienes que utilizar el motor de búsqueda de los foros.

También es necesario que publiques el contenido del archivo "escribe.c".

Un saludo
C retains the basic philosophy that programmers know what they are doing; it only requires that they state their intentions explicitly.
--
Kernighan & Ritchie, The C programming language

juan_ma90
Mensajes: 3
Registrado: 27/07/2012 4:02 am

#3 Mensaje por juan_ma90 » 27/07/2012 9:18 am

Hola lo siento no lo sabia, si lo de la libreria conio.h que lo estado leyendo en el foro lo puse como venia en un tema, tambien tengo que instalar la libreria conio.h??, lo de escribe.c no entiendo que me pides, y el codigo ves que este correcto??
muchas gracias de antemano
un saludo

Avatar de Usuario
rir3760
Mensajes: 7553
Registrado: 01/10/2004 11:00 pm
Ubicación: Mexico

#4 Mensaje por rir3760 » 27/07/2012 6:48 pm

juan_ma90 escribió:si lo de la libreria conio.h que lo estado leyendo en el foro lo puse como venia en un tema, tambien tengo que instalar la libreria conio.h??
Si, la biblioteca conio de Borland debes instalarla de forma manual o como un "dev-pack". Revisa los temas relacionados mediante el motor de búsqueda (ahí se explican los pasos a realizar).
juan_ma90 escribió:lo de escribe.c no entiendo que me pides, y el codigo ves que este correcto??
Cuando el compilador procesa esta linea:

Código: Seleccionar todo

#include <escribe.c> 
La descarta y en su lugar incrusta el contenido del archivo "escribe.c", sea lo que este contenga. Es por ello que no te puedo decir si el programa funciona correctamente (o no) ya que no es posible compilarlo sin tener acceso a ese archivo.

Un saludo
C retains the basic philosophy that programmers know what they are doing; it only requires that they state their intentions explicitly.
--
Kernighan & Ritchie, The C programming language

juan_ma90
Mensajes: 3
Registrado: 27/07/2012 4:02 am

#5 Mensaje por juan_ma90 » 29/07/2012 1:04 pm

Pues no se porque lo sustituye, porque no tengo nada dentro del contenido escribe.c, y si le quitas pasaria algo?? si no les quitas y dime si lo otro asi funcionaria bien, se puede hacer?
Gracias
un saludo

Responder

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 4 invitados