Título: Diagramas estadisticos?
Publicado por: Urbe Tecnologica 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: #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); }
::) ::) ::) ::) ::) ::) ::) ::) ::) ::) ::) ::) ::) ::) ::) ::) ::) ::) ::) ::) ::) ::) ::) ::) ::) ::) ::) ::) ::) ::) ::) ::)
Título: Re: Diagramas estadisticos?
Publicado por: do-while 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!
|