SoloCodigo

Programación General => C/C++ => Mensaje iniciado por: nylh en Viernes 2 de Julio de 2004, 23:03

Título: Graficon En Turbo C/c++
Publicado por: nylh en Viernes 2 de Julio de 2004, 23:03
:o  HOLA!!!

TENGO UN PROBLEMA CON TURBO C/C++ NO ME CORRE NINGUN PROGRAMA GRAFICO
DE LA LIBRERIA GRAPHISC.H SIEMPRE ME MUSTRA UN ERROR DE EJECUCION ....
NESECITO QUE ALGUIEN ME AYUDE CON ESO...

SI ALGUIEN ME QUIERE AYUDAR QUE ME ENVIE LA RESPUESTA A NELSON_YESSY@YAHOO.COM

GRACIAS
Título: Re: Graficon En Turbo C/c++
Publicado por: Noel Solw en Sábado 3 de Julio de 2004, 10:29
Te envio un programa grafico para que lo pruebes.

[a] : supungo que estas trabajando con un compilador de C++, algo asi como el borland c++, ver 3.1.
: no te olvides de configurar el compilador para trabajar en forma grafica, como esta especificado al principio del programa.
[c] : si siguen habiendo problemas, especifica los avisos de error.


// program k13_1a.CPP - page 256
// graphics : recurrents squares.
// written in Borland CPP ver 3.1

// for graphics programs set options windows:
//              options -> linker -> libraries ->
  • graphics library


#include <conio.h>
#include <math.h>
#include <dos.h>
#include <graphics.h>

#define  N  4
#define  K  0.1

void Init()
{
   int driver,mode;
   detectgraph(&driver,&mode);
   initgraph(&driver,&mode,"d:\\borlandc\\bgi");
}  // INIT

void Square(int *p,int level)
{
   if(level == 35)
      return;
   drawpoly(N+1,p);
   for(int i = 0; i < 2*N; i++)
   {
      float d = (p[i+2] - p)*K;
      p += d;
   }
   p[2*N]   = p[0];
   p[2*N+1] = p[1];
   Square(p,level+1);
}  // SQUARE

void main()
{
   int p[2*N+2] = {70,20,550,20,550,460,70,460,70,20};
   Init();
   setfillstyle(1,BLUE);
   fillpoly(N,p);
   setcolor(WHITE);
   Square(p,0);
   getch();
   closegraph();
}  // MAIN
Título: Re: Graficon En Turbo C/c++
Publicado por: tromersebastian en Jueves 19 de Agosto de 2004, 05:08
Hola... no has dicho cual es el error que te aparece, pero puede que sea el error grFileNotFound.... lo que tiene que hacer para que esto no ocurra es especificar le directorio donde se encuentran los Driver de Video.... BYEE

Te paso un ejemplo tipico:

#include <stdio.h>
#include <grafics.h>

int main(void)
{
      // Limpiamos la pantalla
      clrscr();
     
      // Declaramos las variables y detectamos el driver de video a usar
      int driver = DETECT, modo, error;
     
      /* Inicializamos en modo video (((AQUI ES DONDE DEBE ESTAR TU ERROR))
          en el ultimo argumento que le pasas a esta funcion debes especificar
          el directorio que contiene los dirver de video */
      initgraph( &driver, &modo, "C:\\TURBOC\BGI\\");

      // Guardamos los resultados en 'error'
      error = graphresult();

      if(error != grOk)  // Si ocurre un error, lo notifica y sale del programa...
      {
            printf("HA OCURRIDO EL ERROR: %s\n", grapherrormsg(error));
            getch();
            exit(1);
      }

      return 0;
}
Título: Re: Graficon En Turbo C/c++
Publicado por: spyatorio en Miércoles 15 de Septiembre de 2004, 03:03
Es probable que no hayas activado la librería graphics si tienes el compilador turbo c++ 3.0 entra a options después linker y verifica si graphics esta activado
después entra file change dir dentro habre la carpeta BGI
una ves hecho eso, inserta esta función para llamar gráficos


Código: Text
  1. void intro()
  2. {int x,y;
  3. detectgraph(&x,&y);
  4. initgraph(&x,&y,&#34;c://tc//bgi&#34;);
  5. };
  6.  
Título: Re: Graficon En Turbo C/c++
Publicado por: hzigma en Miércoles 15 de Septiembre de 2004, 18:08
El problema es de configurar graficos dentro del compilador haz los pasos que te dice spyatorio y es muy posible que te corran los programas de una vez si no tienes errores :devil:
Título: Re: Graficon En Turbo C/c++
Publicado por: ciber_lep en Sábado 18 de Septiembre de 2004, 20:04
:D los consejos estan bien buenos, despues de hacer que se reconozca la libreria grafica, tambies puedes copiar el evga.vgi que por lo general esta en c:\tc\bgi y copiarlo al c:\tc\bin y con esto podria solucionarse