Logo Studenta

VectoresEj_4_a

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]);
}
/************************************************************************************************/

Continuar navegando

Contenido elegido para ti

VectoresEj_1

User badge image

medicenslam

VectoresEj_4_b

User badge image

medicenslam

VectoresEj_2

User badge image

medicenslam

19 pag.
Cartilla-Teletrabajo-4

SIN SIGLA

User badge image

lautaroespindola88