#include <stdlib.h>
#include <string.h>
#include <stdio.h>
#include <time.h>
#define cantidadProvincias 3
#define servicios 20
#define maxFacturas 100
struct Facturas{
int nroFactura;
int nroProvincia;
int nroServicio;
int descuento
float montoFactura;
};
/*******************************************
FUNCIONES
******************************************/
void verProvincias(char Provincias[][10]){
int i, j;
system(“clear”);
printf(“LOS CODIGOS DE LAS PROVINCIAS SON:\n”);
for(i=0; i<cantidadProvincias; i++){
printf("\t%d - “, i+1);
for(j=0; j<10; j++){
if(Provincias[i][j]==’\0’)
break;
printf(”%c", Provincias[i][j]);
}
printf("\n");
}
printf(“Ingrese ENTER para continuar…\n”);
getchar();
}
void verDescuentos(float Descuentos[][cantidadProvincias]){
int i, j;
for(i=0; i<cantidadProvincias; i++){
for(j=0; j<servicios; j++){
printf(“El descuento %d de la provincia %d es: %.2f\n”, j+1, i+1, Descuentos[j][i]);
}
}
printf(“Ingrese ENTER para continuar…\n”);
getchar();
}
void cargarFacturas(float Descuentos[][cantidadProvincias], struct Facturas factura[], int f){
do{
system(“clear”);
//system(“cls”);
f++;
printf("CARGA DE FACTURAS:\n");
printf("\tIngrese numero de factura: ");
scanf("%d", &factura[f].nroFactura);
if(factura[f].nroFactura == 0)
break;
printf("\tIngrese numero de provincia de la factura (1-3): ");
scanf("%d", &factura[f].nroProvincia);
printf("\tIngrese numero de servicio de la factura (1-20): ");
scanf("%d", &factura[f].nroServicio);
printf("\tIngrese monto de la factura: ");
scanf("%f", &factura[f].montoFactura);
printf("\n\n\nDatos de la factura:\n");
printf("nro Factura = %d\n", factura[f].nroFactura);
printf("nro Factura = %d\n", factura[f].nroFactura);
printf("nro Factura = %d\n", factura[f].nroFactura);
printf("nro Factura = %d\n", factura[f].nroFactura);
}while(factura[f].nroFactura != 0);
printf("Ingrese ENTER para continuar...\n");
getchar();
}
void masPresentaciones(struct Facturas facturas[], int f, char Provincias[][10]){
int i, a=0, b=0, c=0, z=0;
system(“clear”);
//system(“cls”);
//sumamos a ver cuantas tiene cada provincia
for(i=0; i<f; i++){
if(facturas[i].nroProvincia == 1){
a++;
}else if(facturas[i].nroProvincia == 2){
b++;
}else if(facturas[i].nroProvincia == 3){
c++;
}
}
//comparamos quien tiene mas
if(a>=b && a>=c){
z=0;
}else if(b>=a && b>=c){
z=1;
}else{
z=2;
}
printf("\n\n %d\n", z);
printf("\n\nLa provincia con mas presentaciones es: ");
for(i=0; i<10; i++){
if(Provincias[z][i]=='\0')
break;
printf("%c", Provincias[z][i]);
}
printf("\n\n");
printf("Ingrese ENTER para continuar...\n");
getchar();
}
void cargarMontos(float Descuentos[][cantidadProvincias], struct Facturas factura[],int monto, int f){
do{
system("clear");
//system("cls");
f++;
printf("CARGA DE FACTURAS:\n");
printf("\tIngrese numero de factura: ");
scanf("%d", &factura[f].nroFactura);
if(factura[f].nroFactura == 0)
break;
printf("\tIngrese numero de provincia de la factura (1-3): ");
scanf("%d", &factura[f].nroProvincia);
printf("\tIngrese numero de servicio de la factura (1-20): ");
scanf("%d", &factura[f].nroServicio);
printf("\tIngrese monto de la factura: ");
scanf("%f", &factura[f].montoFactura);
printf("\tIngrese descuento de la factura: ");
scanf("%f", &factura[f].descuentoFactura);
printf("\n\n\nDatos de la factura:\n");
printf("nro Factura = %d\n", factura[f].nroFactura);
printf("nro Factura = %d\n", factura[f].nroFactura);
printf("nro Factura = %d\n", factura[f].nroFactura);
printf("nro Factura = %d\n", factura[f].nroFactura);
}while(factura[f].nroFactura != 0);
printf("Ingrese ENTER para continuar...\n");
getchar();
}
void montoTotalDescontado( struct Facturas factura[],int monto, int f,Provincias[][10]){
int i, a=0, b=0, c=0, z=0;
system(“clear”);
for(i=0; i<f; i++){
if(facturas[i].monto == 1){
a++;
}else if(facturas[i].monto == 2){
b++;
}else if(facturas[i].monto == 3){
c++;
}
}
//calculamos el monnto total descontado
printf("Monto de Factura: "&factura[f].montoFactura);
printf("Descuento: "&factura[f].descuentoFactura);
printf("Monto total descontado: "(montoFacturadescuento)/100);
printf("\n\n");
printf(“Ingrese ENTER para continuar…\n”);
getchar();
}
/***********************************************
************* PROGRAMA PRINCIPAL **************
************************************************/
int main(){
//inicializamos el array con las provincias
char Provincias[cantidadProvincias][10];
strcpy(Provincias[0], “Jujuy”);
strcpy(Provincias[1], “Salta”);
strcpy(Provincias[2], “Tucuman”);
//inicializamos la tabla de descuentos
float DescuentoServicios[servicios][cantidadProvincias];
int i, j;
srand(time(NULL));
for(i=0; i<cantidadProvincias; i++){
for(j=0; j<servicios; j++){
//el descuento será random entre 0 y 100
DescuentoServicios[j][i] = rand()%101;
printf("El descuento %d de la provincia %d es: %.2f\n", j+1, i+1, DescuentoServicios[j][i]);
}
}
//inicializamos variables auxiliares
int opcion = -1;
struct Facturas facturas[maxFacturas];
int f = 0;
//hacemos el loop con el menu para que se repita
do
{
printf( "MENU DE OPCIONES:\n");
printf( "\n\t1. Ver numeros de provincias:");
printf( "\n\t2. Ver descuentos de servicios de las provincias:");
printf( "\n\t3. Cargar facturas:");
printf( "\n\t4. Provincia que recibio mas presentaciones en general:");
printf( "\n\t5. Monto total descontado por cada provincia sobre cada tipo de servicio:");
printf( "\n\t6. Para cada provincia,el servicio menos utilizado:");
printf( "\n\t7. Ordene de menor a mayor el total descontado por cada tipo de servicio en general:");
printf( "\n\t0. Salir." );
printf( "\n\n\tIntroduzca opcion: " );
fflush( stdin );
scanf("%d", &opcion);
switch(opcion){
case 1:
verProvincias(Provincias);
break;
case 2:
verDescuentos(DescuentoServicios);
break;
case 3:
cargarFacturas(DescuentoServicios, facturas, f);
break;
case 4: masPresentaciones(facturas, f, Provincias);
case 5:
MontoTotalDescontado(DescuentoServicios,monto,m);
break;
default:
printf("\nLa opcion ingresada es incorrecta\n");
break;
}
//equivalentes para window$
//system("pause");
//system("cls");
} while (opcion != 0);
printf("Hasta luego!\n");
//system("pause");
return 0;
}
Reply
Introducir palabras
Buscar en el tema
Apartir del punto dos me confundo hasta ahi lo saque…