Ver Mensaje Individual
  #16 (permalink)  
Antiguo 15/08/2010, 17:12
Avatar de gvite666
gvite666
 
Fecha de Ingreso: abril-2010
Mensajes: 65
Antigüedad: 14 años, 7 meses
Puntos: 4
Respuesta: ventas mínimas mensuales y del año completo

pues haber que te parece esto:
Código C:
Ver original
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. #define VENTA 100
  5. #define MES 12
  6. int main ()
  7. {
  8.     int mes;
  9.     float venta[MES][VENTA];/*variable que lleva las ventas de cada mes*/
  10.                            
  11.     int numVenta[MES];/*lleva el numero de ventas realizadas cada mes*/
  12.     float ventaMenor[MES];/*variable que lleva la venta menor de cada mes */
  13.     float ventaMenorAnio;/*variable para la asignacion de la venta menor*/
  14.     char final;
  15.     int i,j;
  16.  
  17.     final='n';
  18.     i=0;
  19.     for(i=0;i<MES;i++)//inicializamos valores de nuestros vectores
  20.     {
  21.         numVenta[i]=0;
  22.         ventaMenor[i]=0;
  23.     }
  24.     while((final != 's') && (final != 'S'))
  25.     {
  26.         printf("Mes: ");
  27.         scanf("%d", &mes);
  28.         if(mes>0&&mes<13)//nos aseguramos que el mes es valido
  29.         {
  30.             mes--;/*disminuimos un valor el mes ya que en
  31.             nuestro arreglo empieza desde el 0 y no desde el 1*/
  32.             printf("Valor de la venta: ");
  33.             scanf("%f", &venta[mes][numVenta[mes]]);
  34.             /*
  35.             depende de que mes ingresen la venta se va a almacenar en
  36.             su respactiva variable, por ejemplo: si la primera vez si
  37.             ingresamos mes = 1, y venta =45, entonces se almacena en
  38.             venta[0][0] ya que numVenta a sido inicializado a 0  y asi
  39.             sucesibamente
  40.             */
  41.             printf("¿Salir? (s/n) ");
  42.             scanf("%1s", &final);
  43.             numVenta[mes]++;
  44.             /*incrementamos el numero de ventas para que la proxima vez
  45.             que ingresemos una venta sea(siguiendo el ejemplo anterior)
  46.             venta[0][1]*/
  47.         }
  48.         else
  49.             printf("Ingrese un mes valido\n");
  50.     }
  51.     for(i=0;i<MES;i++)//este for sirve para sacar la menor venta de cada mes
  52.     {
  53.         if(numVenta[i]!=0)/*en caso de que sea 0 es porque no hay ventas
  54.             entonces tenemos que acegurarno de que ese mes tenga ventas */
  55.             ventaMenor[i]=venta[i][0];//asi ponemos el primer valor en la venta
  56.                                     //menor
  57.         for(j=0;j<numVenta[i];j++)
  58.         {
  59.             if(ventaMenor[i]>venta[i][j])//comparamos nuestra ventas con cada venta del mes
  60.                 ventaMenor[i]=venta[i][j];
  61.         }      
  62.     }
  63.     j=0;
  64.     i=-1;
  65.     /*el while se usa una vez que tenemos todas nuestras ventas menores
  66.     de cada mes, asi buscamos el primer mes en tener ventas para "inicializar"
  67.     nuestra variable de la venta del año*/
  68.     while(i!=0)
  69.     {
  70.         if(ventaMenor[j]!=0)
  71.         {
  72.             ventaMenorAnio=ventaMenor[j];
  73.             i=0;
  74.         }
  75.         else
  76.             j++;
  77.     }
  78.     for(i=j;i<MES;i++)/*una vez obtenida nuestra primer venta minima
  79.         la comparamos con la de los demas meses que tienen ventas*/
  80.     {
  81.         if(ventaMenor[i]!=0)
  82.             if(ventaMenorAnio>ventaMenor[i])
  83.                 ventaMenorAnio=ventaMenor[i];
  84.     }
  85.    
  86.     for(i=0;i<MES;i++)//imprimimos todos nuestros datos.
  87.     {
  88.         if(ventaMenor[i]==0)
  89.             printf("Mes %i no hubo ventas\n",i+1);
  90.         else
  91.             printf("Venta Minima de Mes %i: %f\n",i+1,ventaMenor[i]);
  92.     }
  93.     printf("\n La venta minima del anio fue de: %f",ventaMenorAnio);
  94.     return 0;
  95. }
Saludos.