Duda sobre graficas en c.

Iniciado por Drewermerc, 21 Abril 2015, 04:07 AM

0 Miembros y 1 Visitante están viendo este tema.

Drewermerc

Hola a todos.
Bueno tengo un problema lo que necesito hacer, es una grafica de barras o de puntos. Y no se como hacerlo, queria saber si conocen de alguna libreria, recurso o alguna idea de como podria hacer la grafica, e usado un poco qt pero no e encontrado información al respecto.

Espero me puedan ayudar.
Saludos.
Drewermerc.

Gunhack

Mira... esta es una idea :) falta depurarlo un poco pero fue lo mejor que pude hacer en un rato, saludos!
Código (cpp) [Seleccionar]

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

using namespace std;

void gotoxy(int x,int y);

#define MAX 40

class Grafica
{
public:

  Grafica(int y, int x)
  {
    MAX_X=x;
    MAX_Y=y;
  }

  void tabla()
  {
    cout << "\tGrafica" <<endl<<endl;
    for(int y=MAX_Y;y>=0;y--)
    {
      if(y<10)
        cout << " ";

      cout << y << "-" << char(179);
      if(y>0)
      {
        cout << endl;
      }

      if(y==0)
      {
        for(int x=0;x<MAX_X;x++)
        {
          cout << char (196)<< char(179);
        }
      }
    }
  }

  void llenar()
  {
    int j=0,x=5,y=2,cont=0;

    while(cont<MAX_X*2)
    {
      for(int i=MAX_Y;i>0;i--)
      {
        if(d[j]==i)
        {
          gotoxy(x,y++);
          cout << char (177)<< endl;
          d[j]--;
        }

        else {cout << endl; y++;}
      }

      j++; x++; cont+=2;

      if(j<MAX_Y)
      {
        x=5+cont; y=2;
      }
    }
  }

   void in_datos()
  {
    for (int i=0;i<MAX_X;i++)
    {
      cout << "Ingresa los datos de x"<<i+1<< ": ";
      cin >> d[i];
    }
  }

private:
  int MAX_X,MAX_Y;
  int d[MAX];
};

COORD coord={0,0};

void gotoxy(int x,int y)
{
    coord.X=x;
    coord.Y=y;
    SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),coord);
}

main ()
{
  int x,y;

  cout << "Ingresa la cantidad maxima en Y: ";
  cin >> y;
  cout << "Ingresa cuantos datos hay en X: ";
  cin >> x;

  Grafica G1(y,x);

  G1.in_datos();
  system("cls");

  G1.tabla();
  G1.llenar();

  gotoxy(x,y);
  cout << endl<<endl<<endl;

  getch();
  return 0;
}


Drewermerc

Hola Gunhack.
muchas gracias por responder.
Se ve muy bien tu codigo, me sera de mucha ayuda.

Saludos.
Drewermerc.