Ayuda ejercicio en C.

Iniciado por Don Lucky, 16 Mayo 2012, 03:16 AM

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

Don Lucky

Ejercicio resumido:
Datos a Ingresar:
N° de Ticket
N° de remedio (1...8)
N° de rubro ( 1 o 2)
Cantidad
Valor unitario
N° de vendedor (1 ...4) 1= farmaceutico.

Mi problema: No se como cuanto gano cada empleado. Cada uno gana un 2% de comision y el farmaceutico ademas de eso cobra otro 3%..Nose porque me aparecen todos los valores en 0. Dejo el codigo.

#include <stdio.h>
#include <conio.h>

int main ()
{
   int tick,nrem,nrubro,cant,nvend,contt,aux,aux2,totrubro1,totrubro2,aux3;  //Variables enteras
   float vunitario,vtick,fact,promtick,rec1,rec2,rec3,rec4,com1,com2,com3,com4,totfarm,tickmax;
   contt=tick=nrem=nrubro=cant=nvend=totrubro1=totrubro2=0;
   vunitario=vtick=fact=rec1=rec2=rec3=rec4=com1=com2=com3=com4=totfarm=tickmax=0;
   printf("Ingrese numero de ticket ");
   scanf("%d",&tick);
   
   while (tick !=0) //Comienzo de ciclo
   {
         printf("\nCantidad de remedios disponibles 8 en nuestros 2 rubros");
         printf("\nIngrese numero de remedio ");
         scanf("%d",&nrem);
   
         //Verificar numero de remedio
         if (nrem>=9)
         {
                    printf("\nNumero de remedio INCORRECTO\n");
                    printf("\nIngrese un numero de remedio correcto ");
                    scanf("%d",&nrem);
         }
         
         printf("\nIngrese numero de rubro ");
         scanf("%d",&nrubro);
         
         //Verificar Numero de rubro
         if (nrubro>=3)
         {
                      printf("\nNumero de rubro INCORRECTO\n");
                      printf("\nPor favor ingrese un numero de rubro correcto ");
                      scanf("%d",&nrubro);
         }
                     
         printf("\nIngrese la cantidad que desea comprar ");
         scanf("%d",&cant);
         printf("\nIngrese el valor unitario del producto ");
         scanf("%f",&vunitario);
         printf("\nVendendores disponibles \n1.Farmaceutico \n2.Empleado 1 \n3.Empleado 2 \n4.Empleado 3");
         printf("\nIngrese numero de vendedor ");
         scanf("%d",&nvend);    
         
         //Verificar Numero de Empleado
         if (nvend>=5)
         {
                      printf("\nNumero de empleado INCORRECTO\n");
                      printf("\nPor favor ingrese numero un de vendedor correcto ");
                      scanf("%d",&nvend);
         }
                     
         printf("\nIngrese numero de ticket ");
         scanf("%d",&tick);
         
         
         //Punto 1
         vtick=cant*vunitario;
         fact=fact+vtick;
         
         //Punto 2
         contt=contt+1;
         promtick=fact/contt;
         
         //Punto 3 y 4
         switch (nvend)
         {
                case1:rec1=rec1+vtick;
                com1=rec1*0,2;
                totfarm=com1+fact*0,3;  //Para el punto 4
                break;
               
                case2:rec2=rec2+vtick;
                com2=rec2*0,2;
                break;
               
                case3:rec3=rec3+vtick;
                com3=rec3*0,2;
                break;
               
                case4:rec4=rec4+vtick;
                com4=rec4*0,2;
                break;
         }
         //Punto 5
         if (contt==1)
         {
                      tickmax=vtick;
                      aux=tick;
                      aux2=nvend;
         }
         
         if (vtick>=tickmax)
         {
                            tickmax=vtick;
                            aux=tick;
                            aux2=nvend;
         }
         
         switch (nrubro)
         {
                case5:totrubro1=totrubro1+cant;
                aux3=nrubro;
                break;
       
                case6:totrubro2=totrubro2+cant;
                aux3=nrubro;
                break;
       
                }
       
         
   }
printf("\nLa facturacion total de la empresa es %5.2f\n",fact);
printf("\nEl valor promedio de los tickets es %5.2f\n",promtick);
printf("\nLa comision a cobrar por cada empleado es:\n");
printf("\nFarmaceutico: %5.2f\n",totfarm);
printf("\nEmpleado 1: %5.2f\n",com2);
printf("\nEmpleado 2: %5.2f\n",com3);
printf("\nEmpleado 3: %5.2f\n",com4);
printf("\nEl numero de ticket de mayor valor fue el ticket numero %d con un valor de %5.2f y lo vendio el empleado %d\n",aux,tickmax,aux2);


         //Punto 6
         if (totrubro1>=totrubro2)
         {
                                 printf("\nSe vendieron mas articulos en el rubro numero %d\n",aux3);
         }
         else if (totrubro2>=totrubro1)
         {
                                 printf("\nSe vendieron mas articulos en el rubro numero %d\n",aux3);
         }
         else if (totrubro1==totrubro2)
         {
                                  printf("\nLos dos rubros vendieron la misma cantidad\n");
         }




   getch();
   return 0;
}

eriss_15

#include <stdio.h>
#include <conio.h>

int main ()
{
    int tick,nrem,nrubro,cant=1,nvend,contt,aux,aux2,totrubro1,totrubro2,aux3;  //Variables enteras
    float vunitario,vtick,fact,promtick,rec1,rec2,rec3,rec4,com1,com2,com3,com4,totfarm,tickmax;
    contt=tick=nrem=nrubro=nvend=totrubro1=totrubro2=0;
    vunitario=vtick=fact=rec1=rec2=rec3=rec4=com1=com2=com3=com4=totfarm=tickmax=0;
    printf("Ingrese numero de ticket ");
    scanf("%d",&tick);

    while (tick !=0) //Comienzo de ciclo
    {
          printf("\nCantidad de remedios disponibles 8 en nuestros 2 rubros");
          printf("\nIngrese numero de remedio ");
          scanf("%d",&nrem);

          //Verificar numero de remedio
          if (nrem>=9)
          {
                     printf("\nNumero de remedio INCORRECTO\n");
                     printf("\nIngrese un numero de remedio correcto ");
                     scanf("%d",&nrem);
          }

          printf("\nIngrese numero de rubro ");
          scanf("%d",&nrubro);

          //Verificar Numero de rubro
          if (nrubro>=3)
          {
                       printf("\nNumero de rubro INCORRECTO\n");
                       printf("\nPor favor ingrese un numero de rubro correcto ");
                       scanf("%d",&nrubro);
          }

          printf("\nIngrese la cantidad que desea comprar ");
          scanf("%d",&cant);
          printf("\nIngrese el valor unitario del producto ");
          scanf("%f",&vunitario);
          printf("\nVendendores disponibles \n1.Farmaceutico \n2.Empleado 1 \n3.Empleado 2 \n4.Empleado 3");
          printf("\nIngrese numero de vendedor ");
          scanf("%d",&nvend);

          //Verificar Numero de Empleado
          if (nvend>=5)
          {
                       printf("\nNumero de empleado INCORRECTO\n");
                       printf("\nPor favor ingrese numero un de vendedor correcto ");
                       scanf("%d",&nvend);
          }




          //Punto 1
          vtick=cant*vunitario;
          fact=fact+vtick;

          //Punto 2
          contt++;
          promtick=fact/contt;

          //Punto 3 y 4
          switch (nvend)
          {
                 case 1:
                {rec1=rec1+vtick;
                 com1=rec1*0.2;
                 totfarm=com1+fact*0.3;  //Para el punto 4


                }
                 break;
                 case 2:
                {
                    rec2=rec2+vtick;
                 com2=rec2*0.2;
                }


                 break;

                 case 3:
                 {rec3=rec3+vtick;
                 com3=rec3*0.2;}
                 break;

                 case 4:
                 {rec4=rec4+vtick;
                 com4=rec4*0.2;}
                 break;
          }
          //Punto 5
          if (contt==1)
          {
                       tickmax=vtick;
                       aux=tick;
                       aux2=nvend;
          }

          if (vtick>=tickmax)
          {
                             tickmax=vtick;
                             aux=tick;
                             aux2=nvend;
          }

          switch (nrubro)
          {
                 case 5:
                 totrubro1=totrubro1+cant;
                 aux3=nrubro;
                 break;

                 case 6:
                 totrubro2=totrubro2+cant;
                 aux3=nrubro;
                 break;

                 }

printf("\nIngrese numero de ticket ");
          scanf("%d",&tick);
    }
printf("\nLa facturacion total de la empresa es %5.2f\n",fact);
printf("\nEl valor promedio de los tickets es %5.2f\n",promtick);
printf("\nLa comision a cobrar por cada empleado es:\n");
printf("\nFarmaceutico: %5.2f\n",totfarm);
printf("\nEmpleado 1: %5.2f\n",com2);
printf("\nEmpleado 2: %5.2f\n",com3);
printf("\nEmpleado 3: %5.2f\n",com4);
printf("\nEl numero de ticket de mayor valor fue el ticket numero %d con un valor de %5.2f y lo vendio el empleado %d\n",aux,tickmax,aux2);


          //Punto 6
          if (totrubro1>=totrubro2)
          {
                                  printf("\nSe vendieron mas articulos en el rubro numero %d\n",aux3);
          }
          else if (totrubro2>=totrubro1)
          {
                                  printf("\nSe vendieron mas articulos en el rubro numero %d\n",aux3);
          }
          else if (totrubro1==totrubro2)
          {
                                   printf("\nLos dos rubros vendieron la misma cantidad\n");
          }




    getch();
    return 0;
}




Proba usando este codigo es el tuyo pero modificado.. cuando uses flotantes para multiplicar en C van con "." no con la "," SALUDOS espero haberte ayudado :)

eriss_15

Pd: Entre el case y el numero deja un espacio  :D

Don Lucky

Gracias eriss, era eso. Errores boludos nomas :/