elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Arreglado, de nuevo, el registro del warzone (wargame) de EHN


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Diagramas estadisticos?
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Diagramas estadisticos?  (Leído 3,265 veces)
Urbe Tecnologica

Desconectado Desconectado

Mensajes: 94


Non NobiS, DomiNe, Sed NomIne tuo Da GLoriaM


Ver Perfil
Diagramas estadisticos?
« en: 3 Febrero 2011, 00:47 am »

Hola amigos tannnto tiempo, si bien encontre algo sobre diagramas estadisticos, la verdad es que estoy queriendo hacer uno a partir de los datos de un ABM...pero no doy pie con bola...si son tan amables de tirarme algunos ejemplos o links del tema les agradeceria mucho.

Este es el codigo que tengo desarrollado sobre el tema:

Código:
#include <iostream.h> 
#include <conio.h>
#include <stdio.h>
#include <string.h>
#include <graphics.h>
#include <stdlib.h>

struct TArticulo
{
int codigo;
char nombre [20];
char rubro [20];
float precio;
};

void CargarVector (TArticulo V[100], int n)
{
for (int i=0; i<n;i++)
{
clrscr();
cprintf("ingrese codigo de producto : ");  cin>>V[i].codigo;
cprintf("ingrese nombre del producto : "); gets (V[i].nombre);
cprintf("ingrese rubro del producto : ") ; gets (V[i].rubro);
cprintf("ingrese precio de producto : ") ;  cin>>V[i].precio;
}
}

void Listado (TArticulo V[100], int n)
{
clrscr();

//Mostrar los datos del comercio
gotoxy (25,1); cprintf ("Listado completo");
gotoxy (25,2); cprintf ("----------------");
gotoxy (5,3); cprintf ("Codigo");
gotoxy (5,4); cprintf ("      ");
gotoxy (10,3); cprintf ("Nombre");
gotoxy (10,4); cprintf ("     ");
gotoxy (15,3); cprintf ("Rubro");
gotoxy (15,4); cprintf ("     ");
gotoxy (20,3); cprintf ("Precio");
gotoxy (20,4); cprintf ("       ");

//Imprimir los datos del comercio
int L=5;
for (int i=0; i<n;i++)
{
gotoxy (5,L);  cprintf ("%i", V[i].codigo);
gotoxy (10,L); cprintf ("%s", V[i].nombre);
gotoxy (15,L); cprintf ("%i", V[i].rubro);
gotoxy (20,L); cprintf ("%0.2f", V[i].precio);
L++;
}
getch();
}

void ConsultaPorNombre (TArticulo V[100], int n)
{
int b;
char Nx[20];
char op;
do
{
b=0;
clrscr();
gotoxy(20,2); cprintf("Funcion para la consulta por nombre de articulo");
gotoxy(20,3); cprintf("_______________________________________________");
gotoxy(10,5); cprintf("Ingrese nombre para consulta"); gets(Nx);
for (int i=0; i<n; i++)
  { if (strcmpi(Nx, V[i].nombre)==0)
    {
      gotoxy(10,7);  cprintf("Codigo: %i", V[i].codigo);
      gotoxy(10,9);  cprintf("Nombre:%s", V[i].nombre);
      gotoxy(10,11); cprintf("Rubro:%s", V[i].rubro);
      gotoxy(10,13); cprintf("Precio:%0.2f", V[i].precio);
b=1;
    }
  }
if(b==0)
{
gotoxy (10,5); cprintf("Nombre inexistente");
}
gotoxy(10,25); cprintf("¿Otra consulta para ingresar? (S/N)");

cin>>op;

}
while(op=="s" ||op=="S");
}

void MenorPrecio (TArticulo V[100], int n)
{
float Menor =V[i].precio;
int posicion=0;
for (int i=1, i<n; i++)
{
if (V[i].precio < Menor)
{
Menor = V[i].precio;
posicion =i;
}
}
cprintf("\n\nr");
cprintf("El producto mas economico es: %0.2f" V[posicion].precio);
getchar();
}

void DibujarTarta (float v[50]; int n)
{
int i, Color;
float AngIni, AngFinal, Radio;
float suma =0;
Radio =150;
randomize();
for (i=0; i<n; i++) suma = suma + v[i];
setcolor (8);
AngIni=0;
for (i=0; i<n; i++)
{
AngFinal = v[i]/suma * 360 + AngIni;
if (i==n-1) AngFinal= 360;
Color=Random (14)+1;
setfillstyle (1,Color);
pieslice (320, 240, AngIni, AngFinal, Radio);
AngIni=AngFinal;
}
getchar();
}

void Diagrama (TArticulo V[100], int n)
{
//indicamos las variables de los rubros, que pueden ser: bebidas, hogar y electronica y contamos.
int beb, hog, elec;
beb=hog=elec =0;
for (int i=0; i<n; i++)
{
if (strcmpi (V[i].rubro, "B")==0) beb++;
if (strcmpi (V[i].rubro, "H")==0) hog++;
if (strcmpi (V[i].rubro, "E")==0) elec++;

float z[3];
z[0]=beb;
z[1]=hog;
z[2]=elec;
}
//Llamamos a la funcion DibujarTarta
int Gd, Gm;
Gd=DETECT;
initgraph(&Gd, &Gm, "C:\Borland\Bgi");
DibujarTarta(z,3);
closegraph();
}

void main()
{
  TArticulo V[100];
  int n= 5;
  int op, estado;
  estado =0;
do
{
  clrscr();
  gotoxy(25,2);cprintf("Menu Principal");
  gotoxy(25,3);cprintf("---- ---------");
  gotoxy(10,5);cprintf("1-Carga de articulos");
  gotoxy(10,6);cprintf("2-Listado Completo");
  gotoxy(10,7);cprintf("3-Consultas por Nombre");
  gotoxy(10,8); cprintf("4-Datos del articulo de menor valor");
  gotoxy(10,9); cprintf("5-Ver Diagrama estadistico");
  gotoxy(10,11);cprintf("6-Salir");
  gotoxy(10,15);cprintf("Seleccione una opcion: ");
  cin>>op;
if (estado==0 && op!=1 && op!=6)
    {
       clrscr();
       gotoxy(10,10); cprintf("Faltan cargar datos");
       gotoxy(10,20); cprintf("Presione Enter para ir al Menu");
       getchar();
    }
    else
      switch(op)
       {
         case 1: CargarVector(V,n); estado=1; break;
         case 2: Listado(V,n); break;
         case 3: ConsultaPorNombre(V,n); break;
         case 4: MenorPrecio(V,n); break;
         case 5: Diagrama(V,n); break;
       }
  }
  while (op !=6);
}




 ::) ::) ::) ::) ::) ::) ::) ::) ::) ::) ::) ::) ::) ::) ::) ::) ::) ::) ::) ::) ::) ::) ::) ::) ::) ::) ::) ::) ::) ::) ::) ::)


« Última modificación: 3 Febrero 2011, 18:43 pm por Urbe Tecnologica » En línea

do-while


Desconectado Desconectado

Mensajes: 1.276


¿Habra que sacarla de paseo?


Ver Perfil
Re: Diagramas estadisticos?
« Respuesta #1 en: 3 Febrero 2011, 01:04 am »

¡Buenas!

Si lo que quieres son histogramas, puedes lograrlos tanto horizontalmente como verticalmente con asteriscos.

Si buscas unir puntos con lineas, los caracteres |,/,_,\ te pueden servir...

Pictogramas... Escoge el caracter que quieras de la tabla ASCII y dibuja la figura geometrica que quieras.

Diagramas de segmentos sobre una circunferencia puede ser un poco mas complicado. Tendras que tener en cuenta el centro, que el punto este a menor distancia del centro que el radio, y que por ejemplo el el coseno y el seno del angulo que forma con la horizontal este entre el dos angulos dados...

Si tranajas o buscas es alguna libreria grafica... ni idea.

¡Saludos!


En línea

- Doctor, confundo los números y los colores.
- Vaya marrón.
- ¿Marrón? ¡Por el culo te la hinco!
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
generacion de num aleatorios con metodos estadisticos [ no Random]
.NET (C#, VB.NET, ASP)
NeoXero 3 3,222 Último mensaje 26 Mayo 2007, 11:19 am
por Hendrix
Graficos estadisticos
Programación Visual Basic
Cybernauta0710 3 6,153 Último mensaje 6 Julio 2008, 06:19 am
por ‭‭‭‭jackl007
Ayuda Graficos estadisticos!(JpGraph )
PHP
COD3DZ3R0 1 2,434 Último mensaje 12 Octubre 2012, 05:23 am
por COD3DZ3R0
[C++] Graficos estadisticos
Programación C/C++
mauricio90 0 2,094 Último mensaje 14 Junio 2015, 07:25 am
por mauricio90
Problema de gráficos estadisticos. Help me !!!
Foro Libre
Lupin 0 1,828 Último mensaje 26 Octubre 2016, 00:09 am
por Lupin
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines