Descarga la aplicación para disfrutar aún más
Esta es una vista previa del archivo. Inicie sesión para ver el archivo original
/********************************************************************************* En un negocio trabajan 4 vendedores, cuyos códigos se conoce. Cada vez que se realiza una venta, se emite una factura, donde se indica: * Número de Factura * Código de vendedor * Importe de la venta. La información termina con Número de Factura igual a cero. Se pide: 1-) Facturación por vendedor. 2-) Cantidad de facturas emitidas por vendedor. 3-) Facturación Total del negocio. /*CODIGO O NUMERO DE VENDEDOR ----> NUMERO de 3 cifras NO CORRELATIVO */ /*********************************************************************************/ #include <stdio.h> #define N 4 int BUSQUEDA(int[], int, int); int LeeControlRango(int ,int ); void CARGA (int [], int); void LISTAR (int[], float[], int [], int); main() { int CODV[N], VTAxVEND[N]={0}; int NF, NVEND, POS; float RECxVEND[N]={0}; float IMPO, RECTOT = 0; CARGA(CODV,N); // aqui se ingresan los codigos de los vendedores // aqui se empieza a procesar las ventas printf("\nINGRESAR NRO. de FACTURA (FINALIZA CON CERO) " ); scanf("%d",&NF); while(NF != 0) { printf("\nINGRESAR NRO. de VENDEDOR QUE REALIZO LA VENTA "); scanf("%d",&NVEND); POS = BUSQUEDA (CODV, NVEND, N); // aqui se busca el vendedor que realizo la venta en el vector donde estan los codigos de vendedor if (POS >= 0) { printf("\nINGRESAR IMPORTE DE LA VENTA "); scanf("%f",&IMPO); RECxVEND[POS]= RECxVEND[POS] + IMPO; VTAxVEND[POS] ++; RECTOT = RECTOT + IMPO; } else printf("\n ERROR INGRESO CODIGO DE VENDEDOR"); printf("\nINGRESAR NRO. de FACTURA"); scanf("%d",&NF); } LISTAR (CODV, RECxVEND, VTAxVEND, N); printf("\n\n \n RECUADACION TOTAL DEL NEGOCIO %.2f", RECTOT); } /************************************************************************************************/ /* DEFINICION O CODIGO DE LAS FUNCIONES */ /************************************************************************************************/ /* la funcion carga los codigos de los vendedores en el ventor */ void CARGA (int V[], int TAM) { int I, POS, NRO; for(I=0;I<N;I++) { do{ printf("\nINGRESAR NUMERO de 3 CIFRAS : "); NRO = LeeControlRango(100,999); POS = BUSQUEDA(V, NRO , I); if(POS !=-1) printf("\n ERROR, EL NRO YA EXISTE "); }while(POS != -1); V[I]= NRO; } } /************************************************************************************************/ /* funcion busca el vendedor que realizo la venta en el vector donde estan todos los codigos de los vendedores*/ int BUSQUEDA(int V[], int DATO, int TAM) { int POSI = -1; // indica No encontrado int I = 0; // comienza a recorrer el vector desde la primera posicion (cero) while ( POSI == -1 && I < TAM ) // mientras No lo encuentre y se mantiene dentro del vector if (V[I]== DATO) POSI = I; // cuando lo encuentre, asigno en POSI la poscion donde se encontro else I++; // si no es igual avanzo return POSI; } /************************************************************************************************/ int LeeControlRango(int LI ,int LS) { int DATO, BANDERA=0; do{ if(BANDERA == 0) BANDERA = 1; else printf("\n ERROR, INGRESAR NUEVAMENTE "); scanf("%d",&DATO); }while(DATO<LI || DATO > LS); return (DATO); } /************************************************************************************************/ /************************************************************************************************/ /* funcion muestra codigo , recaudacion y cantidad de ventas realizadas por vendedor*/ void LISTAR (int VC[], float VR[], int VCONT[], int TAM) { int I; printf("\n CODIGO DE VENDEDOR RECAUDACION CANTIDAD DE VENTAS REALIZADAS"); for (I =0; I < TAM; I++) printf ("\n\t %d \t %10.2f \t %d", VC[I], VR[I],VCONT[I]); } /************************************************************************************************/
Compartir