• Martes 21 de Mayo de 2024, 00:47

Autor Tema:  Modo Grafico De C  (Leído 12940 veces)

rudo_escom

  • Nuevo Miembro
  • *
  • Mensajes: 2
    • Ver Perfil
Modo Grafico De C
« en: Domingo 24 de Octubre de 2004, 07:33 »
0
Hola, que tal:

Espero que alguien me pueda ayudar :huh:

Necesito elaborar una función en C++, para que genere cualquier tipo de gráfica (barras, puntos, etc; exepto de pastel) de n datos ingresados por el usuario, los cuales se guardan en un arreglo.

Para ello, realice la sumatoria y el porcentaje de cada numero, asi, ya se que porcentaje ocupa cada valor dentro de la grafica; solo falta (mediante el uso del modo grafico del lenguaje) realizar la grafica de cada una de los datos.

Espero que alguien me pueda ayudar con este pequño programa :smartass:

JuanK

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Re: Modo Grafico De C
« Respuesta #1 en: Domingo 24 de Octubre de 2004, 17:52 »
0
Librerias graficas hay muchas:

allegro
directx
SDL
OprnGl...
etc

usando cada una de llas puedes hacer lo que quieres!!

elige una y te ayudaremmos a usarla.
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io

rudo_escom

  • Nuevo Miembro
  • *
  • Mensajes: 2
    • Ver Perfil
Re: Modo Grafico De C
« Respuesta #2 en: Domingo 24 de Octubre de 2004, 18:49 »
0
Gracias por responderme; la libreria que debo utilizar es la que viene incorporada al lenguaje (graphics.h).

Solo puedo valerme de las funciones de libreria que nos proporcione C. :smartass:

JuanK

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Re: Modo Grafico De C
« Respuesta #3 en: Lunes 25 de Octubre de 2004, 09:14 »
0
1- graphics.h no es una libreria es el encabezado de la libreria graphics
2- la libreria graphics no es propia del lenguaje, es parte de toolkit que incorporo borland en esa version de turboc... es decir es una libreria de borland no del libc standart.
3- Si no quieres usar nada de esto solo tienes 3 opciones:
a: assembler
b: api de windows
c: usar la int86 pra llamar las interrupciones.. pero no funcionara en sistemas nuevos solo en DOS, win 95 y win 98.
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io

jime

  • Nuevo Miembro
  • *
  • Mensajes: 1
    • Ver Perfil
Re: Modo Grafico De C
« Respuesta #4 en: Lunes 1 de Noviembre de 2004, 04:02 »
0
HOLAAS.....buenas.... saben que tengo un problemita.... resulta que necesito aprender a usar super bien GCC (que como saben es el compilador de C para GNU/LINUX), pero especialmente, la libreria grafica.... ke no tengo idea cual es.... y por otra parte he escuchado hablar bastante sobre la ALLEGRO o algo asi..... necesito ayuda.... si me pueden guiar un poquito.... igual se como usar la graphics.h en C.... pero es urgente, necesito aprender a usarla en GNU/LINUX.... PLZ.... y si no hay alternativa, mas que assembler.... que me enseñen plz, a usar la allegro (ya que necesito que sea rapido, y assembler a pesar de que se, es muy pajero) GRAX....


ahora para: rudo_escom
Para aprender a usar las funciones de la GRAPHICS.H, ten en cuenta de que siempre debes inicializar las funciones graficas (initgraph....) y el resto es simplemente es cachar que hace cada funcion, para darle los parametros correspondiente, teniendo en cuenta por supuesto la cantidad de pixeles tiene la pantalla... guiate mas que nada x los ejemplos que salen en el mismo BC o TC.... y siempre recuerda que el archivo EGAVGA.(no se cuanto) que esta en la carpeta BGI, tiene que estar junto con el ejecutable, para que sea mas facil copialo a la carpeta BIN  ;) .....


BYE..... y gracias de antemano por la ayuda.....  :P

Geo

  • Miembro de PLATA
  • *****
  • Mensajes: 1011
  • Nacionalidad: mx
    • Ver Perfil
    • http://hsblog.mexchip.com
Re: Modo Grafico De C
« Respuesta #5 en: Lunes 1 de Noviembre de 2004, 21:49 »
0
Como juank mencionó, la librería contenida en graphics.h que se incluye con el compilador TurboC/C++ no pertenece al estándar ANSI C, por lo que sólo está disponible en dicho compilador. El compilador GCC está bastante apegado al estándar y no incluye ninguna librería gráfica, puedes probar utilizando Allegro que es multiplataforma (funciona en Windows, Linux y algunos más); también hay otra librería multiplataforma: SDL. Creo que con cualquiera de esas dos puedes hacer sin problemas lo que hacías en Turbo C, e incluso más :D.

Y para quien empezó la discusión, este enlace puede servirle: http://pinsa.escomposlinux.org/sromero/art.../gfx/graf1.html

Saludos,
José Jorge (Geo).
La imaginación es el límite.
Hardware & Software | Mexchip

icaruss

  • Nuevo Miembro
  • *
  • Mensajes: 13
    • Ver Perfil
Re: Modo Grafico De C
« Respuesta #6 en: Martes 9 de Noviembre de 2004, 20:37 »
0
los dos compiladores principales poseen librerias graficas , que son el turbo c de borland y el microsof C , graphics.h y graph.h respectivamente , como mencionan el standard ansi no contempla funciones graficas sin embargo nos da las erramientas para poder usar modos graficos , como ??? , mediante el bios , la interrupcion 10h activa los servicios de video instalados , luego puedes usar muchos modos graficos y escribir pixeles directamente en memoria de video o mediante el bios.

No te puedo explicar todo el proceso de generacion de graficas por que no dispongo del tiempo pero si deseas informacion te recomiendo el libro llamado "Graficas poderosas con Turbo C++".

los modos graficos se pueden activar facilmente usando la funcion de borland turbo c llamada initgraph();

te doy un ejemplo sencillo :

#include <stdio.h>
#include <graphics.h>

void main()
{
 
 int controlador,modo,codigoerror;

initgraph(&controlador,&modo,"c:\tc\bgi\");

}

ese bloque inicia el modo grafico pero antes de iniciarlo debes pedir los datos que usaras para general las graficas o si tienes los datos guardados en un archivo entonces puedes iniciarlizar el modo grafico desde el principio , una vez inicializado el modo grafico puedes dibujar las barras mediante la funcion rectangle();

la presentacion es cosa de tu imaginacion ademas tendras que establecer un patron para las dimensiones de las diferentes barras , digamos que el valor mas alto equivale a 100 pixeles de alto , por lo que los demas valores tendras que hacer una regla de 3 para calcular el numero de pixeles de alto que le corresponde a la barra.

es decir si tienes un valor de 10000 y otro de 7500 entonces el de 10000 equivale a 100 pixeles y el de 7500 equivale a :

(7500 * 100) / 10000 = 75 pixeles.

de esa manera conservaras la proporcion.

espero haber sido de ayuda .
:)

JuanK

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Re: Modo Grafico De C
« Respuesta #7 en: Miércoles 10 de Noviembre de 2004, 06:05 »
0
aclaracion:

Citar
que son el turbo c de borland y el microsof C

Estos dos, sobre todo el de boland, ya dejaron de ser los mas importantyes hace mucho tiempo.

Citar
como ??? , mediante el bios , la interrupcion 10h activa los servicios de video instalados , luego puedes usar muchos modos graficos y escribir pixeles directamente en memoria de video o mediante el bios.

Esto es parcialmente cierto,
es decir es cierto hasta el sistema windows 98 de ahi en adelante el sistema no te permite acceder directamente a la bios y enos a la memoria de video, todo lo debes hacer a travez de la api.
Si hoy en dia tratas de ahcer eso el sistema te trae un error de excepcional tratar de acceder una area de memoria no permitida.
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io

icaruss

  • Nuevo Miembro
  • *
  • Mensajes: 13
    • Ver Perfil
Re: Modo Grafico De C
« Respuesta #8 en: Miércoles 10 de Noviembre de 2004, 18:27 »
0
bueno pero el muchacho dijo que queria hacer una grafica usando la BGI de borland , ademas en los sistemas como win 98 y win XP profesional puedes activar interrupciones de bios desde la consola que acompaña al sistema , yo mismo e ejecutado modos graficos SVGA desde windows XP por medio de la consola , claro talvez tienes que tener privilegios de admin , no e probado interrupciones con un usuario normal. y mencione que son los principales por que el dijo que debia usar graphics.h , los compiladores modermos como el C builder o el Visual C no usan esa libreria.

JuanK

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Re: Modo Grafico De C
« Respuesta #9 en: Miércoles 10 de Noviembre de 2004, 19:16 »
0
ene se punto lo que suecede es una virtualizacion de las interrupciones a travez del modo vitual del 8086 (o sea modo consola) y por debajo siempre se llama a la api de windows, es lo hace el ntvdm.

Lo malo de esto es la limitante ya que solo hay los recursos del modo virtual lo cual es solo al rededor de un mega de memoria y otros porblemas relacionados con los registros del procesador y el bloqueo de acceso a algunos dispositivos...
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io

icaruss

  • Nuevo Miembro
  • *
  • Mensajes: 13
    • Ver Perfil
Re: Modo Grafico De C
« Respuesta #10 en: Viernes 12 de Noviembre de 2004, 19:27 »
0
a pues eso no lo sabia, oye disculpa la molestia , ya se que soy muy pregunton , e buscado manuales de directx , pero no e encontrado ninguno explicativo , todos estan muy confusos y no explican con profundidad , no se si me podrias decir alguno que tu creas que este muy bueno para principiantes o incluso uno para avanzados pero que este explicativo.  gracias por la ayuda.

Veneno_Mortal

  • Miembro activo
  • **
  • Mensajes: 31
    • Ver Perfil
Re: Modo Grafico De C
« Respuesta #11 en: Miércoles 16 de Febrero de 2005, 01:24 »
0
tengo dos dudas
1.-cual es la resolucion EGAVGA
2.-como puedo aprender a utilizar allegro
"Mas Allá Del Norte, De Los Hielos, De La Muerte; Nuestra Vida, Nuestra Muerte, Nuestra Felicidad....."


LeGatoRojo

  • Miembro HIPER activo
  • ****
  • Mensajes: 552
  • Nacionalidad: mx
    • Ver Perfil
    • LeGatoRojo
Re: Modo Grafico De C
« Respuesta #12 en: Miércoles 16 de Febrero de 2005, 08:11 »
0
EGAVGA no es una resolucion si no una tagreta, bueno una manera de trabajar con los graficos, y pues tutoriales de allegra hay muchos, ahhh deberas rudo ESCOM eres de ESCOM y no sabias eso, cha sin duda el nivel ha bajado muchisismo, por cierto saludos a todos los ESCOMITAS que hay por aqui.
Yo soy niño ESCOM(y no soy gay)
Un día desperte y en lugar de dientes tenía colmillos, en lugar de manos, tenía garras; pero lo más impactante fue el color escarlata de mi pelaje.