[C con Clase] Error de division entre cero o desbordamiento
hubert1 en email.com
hubert1 en email.com
Dom Mar 20 06:04:53 CET 2011
Buenas noches gente, les agradezco si me pueden ayudar con error, el
cual estoy trabajando en Borland C++ v3.00, ya lo tengo todo montando
pero a la hora de ejecutarlo e ingresar el valor del Cebu me muestra:
Error de division entre cero o desbordamiento, el cual no sé como
solucionarlo por lo cual les agradezco todas las sugerencias que me
puedan brindar. Muchas gracias.
/*** Proyecto el Matadero El Carnicero Feroz S.A*******/
/* Creado por: Hubert Garcia Gordon */
/* Estudiante Ingenieria en Sistemas */
/* Materia: Programacion I */
/* Fecha de Entrega: 28/03/2011 */
/* ****************************************************/
/*** Definicion del Problema***************************/
/* Se requiere automatizar los procesos de */
/* registro del ganado. */
/* ****************************************************/
/*** ANALISIS DEL PROBLEMA*****************************/
/* DATOS DE ENTRADA************************************/
/* 1- Fecha de Sesion de trabajo. */
/* 2- Numero de cabezas de ganado. */
/* 3- Peso. */
/* 4- Valor. */
/******************************************************/
/* METODOS Y FORMULAS QUE SE NECESITAN */
/* 1- cuantas cabezas de ganado ingresan (contador) */
/* 2- Acumulado de valor de las reses x raza */
/* 3- Acumulado del peso de las reses x raza */
/* 4- Aplicar porcentaje de deduccion al valor */
/* registrado de la res, segun peso y raza */
/* de acuerdo a la siguiente tabla: */
/* a) Cebu: 5% si el peso es igual o menor a 400k */
/* 7% si el peso es mayor a 400k */
/* b) Brahman: 5% si el peso es igual o menor */
/* 500k, 7% si elpeso es mayor a 500k */
/* c) Holstein: 5% si el peso es igual o menor a */
/* 300k, 7% si el peso es mayor a 300k */
/* d) Mestizo: 5% si el peso es igual o menor a */
/* 300k, 7% si el peso es mayor a 300k */
/* Acumulado de todas las reses ingresadas en */
/* cada sesion de trabajo. */
/* Acumulado del peso de todas las reses */
/* ingresadas. */
/******************************************************/
/* INFORMACION QUE SE DESEA PRODUCIR (REPORTE)*********/
/* */
/* - Nombre de la empresa */
/* - Fecha de Sesion */
/* - Nombre de la operacion realizada: */
/* - Reporte de Ingreso de Ganado */
/* - Total de reses ingresadas por cada raza */
/* - Total general del ganado ingresado. */
/* - Total del peso de las reses ingresadas por raza. */
/* - Total general del peso ingresado */
/* - Promedio de peso por res segun raza */
/* - Promedio de valor por res segun su raza */
/* - En una seccion aparte: */
/* 1) Acumulado de deduccion por raza. */
/* 2) Acumulado general de deducciones. */
/* 3) Acumulado de valor neto por cada raza. */
/******************************************************/
/* SEUDO CODIGO
Inicio
Digite la fecha de Sesion
guarde la fecha
Menu
Escoja una opcion para el tipo de ganado que desea registrar
1 Cebu
2 Brahman
3 Holstein
4 Mestizo
registrar numero de cabeza por opcion
Digite el peso
guardar peso
Digite el valor
guardar valor
if peso Cebu (peso <= 400)
deduccion 5000
if peso cebu (peso > 400)
deduccion 10000
if peso Brahman (peso <= 500)
deduccion 7000
if peso Brahman (peso > 500)
deduccion 15000
if peso Holstein (peso <= 300)
deduccion 3500
if peso Holstein (peso > 300)
deduccion 7000
if peso Mestizo (peso <= 300)
deduccion 0
if peso Mestizo (peso > 300)
deduccion 2500
Almacenar en una Matriz consecutivamente
Registros ingresados
Codigo de raza
peso
valor
Deduccion de cada res.
Reporte mediante Matriz
a. Nombre de la empresa.
b. Fecha de la sesión.
c. Nombre de la operación realizada: Registro de Ingreso de Ganado.
d. Total de reses ingresadas por cada raza: Cebú, Brahman, Holstein,
mestizo.
e. Total general del ganado ingresado en la sesión de trabajo.
f. Total del peso de las reses ingresadas, por raza.
g. Total general del peso ingresado (todas las razas).
h. Promedio de peso por res según su raza.
i. Promedio de valor por res según su raza.
j. En una sección aparte, el informe debe presentar el resumen de las
deducciones al valor de las reses según su raza, a saber:
1) acumulado deducción por raza,
2) acumulado general de deducciones (todas las razas),
3) el acumulado de valor neto por cada raza.
*/
#include <stdlib.h>
#include <iostream.h>
#include <stdio.h>
#include <conio.h>
#include <iomanip.h>
int opc=0, cebu=0, brahman=0,holstein=0, mestizo=0, seguir=0;
int peso = 0, valor =0, deduccion =0, vfinal=0;
char fecha[10];
int contCebu = 0, contBra = 0, contHol = 0, contMes = 0, sumaCont = 0;
int pesoCebu=0, pesoBra=0, pesoHol=0, pesoMes=0;
int valorCebu=0, valorBra=0, valorHol=0, valorMes=0;
int vfinalCebu=0, vfinalBra=0, vfinalHol=0, vfinalMes=0;
int pfinalCebu=0, pfinalBra=0, pfinalHol=0, pfinalMes=0;
int dfinalCebu=0, dfinalBra=0, dfinalHol=0, dfinalMes=0;
int vnetoCebu=0, vnetoBra=0, vnetoHol=0, vnetoMes=0;
int prompfCebu=0, prompfBra=0, prompfHol=0, prompfMes=0;
int promvfCebu=0, promvfBra=0, promvfHol=0, promvfMes=0;
int contGeneral = 0, pfinalGeneral = 0, dfinalGeneral = 0;
const int menorq400K = 5000, mayorq400k =10000;
const int menorq500K = 7000, mayorq500k =15000;
const int menorq300K = 3500, mayorq300k =7000;
const int menorq300M = 0, mayorq300M =2500;
const int tamFila = 3, tamColumna = 6;
int matrizEnteros[tamFila][tamColumna];
int resp;
void mostrarTitulo()
{
clrscr();
cout << "\tBienvenido al programa de registro del Matadero S.A"<<endl
<<endl;
}
void menuPrincipal()
{
clrscr();
cout <<"\tElija la Opcion de lo que desea realizar."<<endl <<endl;
cout <<"1. Registrar Ganado Cebu."<<endl;
cout <<"2. Registrar Ganado Brahman."<<endl;
cout <<"3. Registrar Ganado Holstein."<<endl;
cout <<"4. Registrar Ganado Mestizo."<<endl;
cout <<"5. Ver reporte de Cebu."<<endl;
cout <<"6. Ver reporte de Brahman."<<endl;
cout <<"7. Ver reporte de Holstein."<<endl;
cout <<"8. Ver reporte de Mestizo."<<endl;
cout <<"9. Ver reporte de General."<<endl;
cout <<"10. Salir del programa."<<endl;
cout <<"Presiona una opcion ==>"<<endl;
cin >>opc;
}
void main()
{
mostrarTitulo();
cout <<"digite la fecha de sesion: "<<endl;
cin >>fecha;
do
{
menuPrincipal();
switch (opc)
{
case 1:
do
{
// carga matriz con datos aportados por el usuario
for(int a = 0; a < tamFila; a++)
{
clrscr();
cout <<"Para la cabeza de ganado Cebu digite"<<endl<<endl;
cout <<"El peso: "<<endl;
cin >>pesoCebu;
cout <<"El valor: "<<endl;
cin >>valorCebu;
// Realizar calculos
if (pesoCebu <= 400)
{
dfinalCebu = valorCebu - menorq400K;
}
else
{
dfinalCebu = valorCebu - mayorq400k;
}
pfinalCebu = pfinalCebu+pesoCebu;
vnetoCebu = vnetoCebu+valorCebu;
prompfCebu = pfinalCebu/contCebu;
promvfCebu = vfinalCebu/contCebu;
contCebu++;
for( int b = 0; b < tamColumna; b++)
{
matrizEnteros[a][b] = a+1;
if(b == 1) matrizEnteros[a][b] = contCebu;
if(b == 2) matrizEnteros[a][b] = pfinalCebu;
if(b == 3) matrizEnteros[a][b] = vnetoCebu;
}
}
cout << "Desea ingresar mas datos? si/no (s/n)" << endl;
cin >> resp;
}while (resp == 's' || resp == 'S');
break;
case 2:
do
{
// carga matriz con datos aportados por el usuario
for(int c = 0; c < tamFila; c++)
{
clrscr();
cout << "Para la cabeza de ganado Brahman digite"<<endl<<endl;
cout << "Digite el peso: "<<endl;
cin >> pesoBra;
cout << "Digite el valor: "<<endl;
cin >>valorBra;
// Realizar calculos
if (pesoBra <= 500)
{
dfinalBra = valorBra - menorq500K;
}
else
{
dfinalBra = valorBra - mayorq500k;
}
pfinalBra=pfinalBra+pesoBra;
vnetoBra=vnetoBra+valorBra;
prompfBra = pfinalBra/contBra;
promvfBra = vfinalBra/contBra;
contBra++;
for(int d = 0; d < tamColumna; d++)
{
matrizEnteros[c][d] = c+1;
if(d == 1) matrizEnteros[c][d] = contBra;
if(d == 2) matrizEnteros[c][d] = pfinalBra;
if(d == 3) matrizEnteros[c][d] = vnetoBra;
}
}
cout <<"Desea ingresar mas datos? si/no (s/n)" <<endl;
cin >> resp;
}while(resp == 's' || resp == 'S');
break;
case 3:
do
{
// Carga Matriz con datos aportados por el usuario
for(int e = 0; e < tamFila; e++)
{
clrscr();
cout << "Para la cabeza de ganado Holstein digite"<<endl<<endl;
cout << "Digite el peso: ";
cin >>pesoHol;
cout << "Digite el valor: ";
cin >>valorHol;
//Realizar calculos
if (pesoHol <= 300)
{
dfinalHol = valorHol - menorq300K;
}
else
{
dfinalHol = valorHol - mayorq300k;
}
pfinalHol=pfinalHol+pesoHol;
vnetoHol=vnetoHol+valorHol;
prompfHol = pfinalHol/contHol;
promvfHol = vfinalHol/contHol;
contHol++;
for(int f = 0; f < tamColumna; f++)
{
matrizEnteros[e][f] = e+1;
if(f == 1) matrizEnteros[e][f] = contHol;
if(f == 2) matrizEnteros[e][f] = pfinalHol;
if(f == 3) matrizEnteros[e][f] = vnetoHol;
}
}
cout << "Desea ingresar mas datos? si/no (s/n)" << endl;
cin >> resp;
}while (resp == 's' || resp == 'S');
break;
case 4:
do
{
// carga matriz con datos aportados por el usuario
for(int h = 0; h < tamFila; h++)
{
clrscr();
cout << "Para la cabeza de ganado Mestizo digite"<<endl;
cout << "El peso: ";
cin >> pesoMes;
cout << "El valor: ";
cin >> valorMes;
// Realizar calculos
if (pesoMes <= 300)
{
dfinalMes = valorMes - menorq300M;
}
else
{
dfinalMes = valorMes - mayorq300M;
}
pfinalMes=pfinalMes+pesoMes;
vnetoMes=vnetoMes+valorMes;
prompfMes = pfinalMes/contMes;
promvfMes = vfinalMes/contMes;
contMes++;
for(int g = 0; g < tamColumna; g++)
{
matrizEnteros[h][g] = h+1;
if(g == 1) matrizEnteros[h][g] = contCebu;
if(g == 2) matrizEnteros[h][g] = pfinalCebu;
if(g == 3) matrizEnteros[h][g] = vnetoCebu;
}
}
cout << "Desea ingresar mas datos? si/no (s/n)" << endl;
cin >> resp;
} while (resp == 's' || resp == 'S');
break;
case 5:
// despliega datos de matriz cargados previamente
clrscr();
mostrarTitulo();
cout << "Registro de Ganado para la sesion del " << fecha << endl <<
endl;
clrscr();
cout << "CONTENIDO DEL REPORTE CEBU" << endl << endl;
cout << "Total de Cebu" << setw(15) << "Total del peso de Cebu" <<
setw(18) << "Promedio de peso de Cebu" << setw(17) << "Promedio de
valor de Cebu" << setw(12) << "Acumulado de deducciones de Cebu" <<
setw(11) << "Acumulado del valor neto de Cebu" << setw(10) << endl;
for(int j = 0; j < tamFila; j++)
{
for( int k = 0; k < tamColumna; k++)
{
cout << " " << matrizEnteros[j][k] << setw(9);
if(k == 1) contCebu += matrizEnteros[j][k];
if(k == 2) pfinalCebu += matrizEnteros[j][k];
if(k == 3) prompfCebu += matrizEnteros[j][k];
if(k == 4) promvfCebu += matrizEnteros[j][k];
if(k == 5) dfinalCebu += matrizEnteros[j][k];
if(k == 6){ vnetoCebu += matrizEnteros[j][k];
}
}
cout << endl;
}
// presenta cifras de control
cout << endl;
cout << "RESUMEN DE INCLUSION" << endl;
cout << "CIFRAS DE CONTROL" << endl << endl;
cout << "Total de Reses Ingresadas de Cebu:" << setw(12) << contCebu
<< setw(13) << endl;
cout << "Total del peso de las reses de Cebu: " << setw(14) <<
pfinalCebu << setw(13) << endl;
cout << "Promedio de peso de Cebu: " << setw(14) << prompfCebu <<
setw(13) << endl;
cout << "Promedio de valor de Cebu: " << setw(14) << promvfCebu <<
setw(13) << endl;
cout << "Acumulado de deducciones de Cebu" << setw(13) <<
dfinalCebu << setw(13) << endl;
cout << "Acumulado del valor neto de Cebu: " << setw(14) <<
vnetoCebu << setw(13) << endl;
getch();
break;
case 6:
// despliega datos de matriz cargados previamente
clrscr();
mostrarTitulo();
cout << "Registro de Ganado para la sesion del " << fecha << endl <<
endl;
clrscr();
cout << "CONTENIDO DEL REPORTE Brahman" << endl << endl;
cout << "Total de Brahman" << setw(15) << "Total del peso de
Brahman" << setw(18) << "Promedio de peso de Brahman" << setw(17) <<
"Promedio de valor de Brahman" << setw(12) << "Acumulado de deducciones
de Brahman" << setw(11) << "Acumulado del valor neto de Brahman" <<
setw(10) << endl;
for(int m = 0; m < tamFila; m++)
{
for( int n = 0; n < tamColumna; n++)
{
cout << " " << matrizEnteros[m][n] << setw(9);
if(n == 1) contBra += matrizEnteros[m][n];
if(n == 2) pfinalBra += matrizEnteros[m][n];
if(n == 3) prompfBra += matrizEnteros[m][n];
if(n == 4) promvfBra += matrizEnteros[m][n];
if(n == 5) dfinalBra += matrizEnteros[m][n];
if(n == 6){ vnetoBra += matrizEnteros[m][n];
}
}
cout << endl;
}
// presenta cifras de control
cout << endl;
cout << "RESUMEN DE INCLUSION" << endl;
cout << "CIFRAS DE CONTROL" << endl << endl;
cout << "Total de Reses Ingresadas de Brahman:" << setw(12) <<
contBra << setw(13) << endl;
cout << "Total del peso de las reses de Brahman: " << setw(14) <<
pfinalBra << setw(13) << endl;
cout << "Promedio de peso de Brahman: " << setw(14) << prompfBra <<
setw(13) << endl;
cout << "Promedio de valor de Brahman: " << setw(14) << promvfBra <<
setw(13) << endl;
cout << "Acumulado de deducciones de Brahman: " << setw(13) <<
dfinalBra << setw(13) << endl;
cout << "Acumulado del valor neto de Brahman: " << setw(14) <<
vnetoBra << setw(13) << endl;
getch();
break;
case 7:
// despliega datos de matriz cargados previamente
clrscr();
mostrarTitulo();
cout << "Registro de Ganado para la sesion del " << fecha << endl <<
endl;
clrscr();
cout << "CONTENIDO DEL REPORTE Holstein" << endl << endl;
cout << "Total de Holstein" << setw(15) << "Total del peso de
Holstein" << setw(18) << "Promedio de peso de Holstein" << setw(17) <<
"Promedio de valor de Holstein" << setw(12) << "Acumulado de
deducciones de Holstein" << setw(11) << "Acumulado del valor neto de
Holstein" << setw(10) << endl;
for(int o = 0; o < tamFila; o++)
{
for( int p = 0; p < tamColumna; p++)
{
cout << " " << matrizEnteros[o][p] << setw(9);
if(p == 1) contHol += matrizEnteros[o][p];
if(p == 2) pfinalHol += matrizEnteros[o][p];
if(p == 3) prompfHol += matrizEnteros[o][p];
if(p == 4) promvfHol += matrizEnteros[o][p];
if(p == 5) dfinalHol += matrizEnteros[o][p];
if(p == 6){ vnetoHol += matrizEnteros[o][p];
}
}
cout << endl;
}
// presenta cifras de control
cout << endl;
cout << "RESUMEN DE INCLUSION" << endl;
cout << "CIFRAS DE CONTROL" << endl << endl;
cout << "Total de Reses Ingresadas de Holstein:" << setw(12) <<
contHol << setw(13) << endl;
cout << "Total del peso de las reses de Holstein: " << setw(14) <<
pfinalHol << setw(13) << endl;
cout << "Promedio de peso de Holstein: " << setw(14) << prompfHol <<
setw(13) << endl;
cout << "Promedio de valor de Holstein: " << setw(14) << promvfHol
<< setw(13) << endl;
cout << "Acumulado de deducciones de Holstein: " << setw(13) <<
dfinalHol << setw(13) << endl;
cout << "Acumulado del valor neto de Holstein: " << setw(14) <<
vnetoHol << setw(13) << endl;
getch();
break;
case 8:
// despliega datos de matriz cargados previamente
clrscr();
mostrarTitulo();
cout << "Registro de Ganado para la sesion del " << fecha << endl <<
endl;
clrscr();
cout << "CONTENIDO DEL REPORTE Mestizo" << endl << endl;
cout << "Total de Mestizo" << setw(15) << "Total del peso de
Mestizo" << setw(18) << "Promedio de peso de Mestizo" << setw(17) <<
"Promedio de valor de Mestizo" << setw(12) << "Acumulado de deducciones
de Mestizo" << setw(11) << "Acumulado del valor neto de Mestizo" <<
setw(10) << endl;
for(int q = 0; q < tamFila; q++)
{
for( int r = 0; r < tamColumna; r++)
{
cout << " " << matrizEnteros[q][r] << setw(9);
if(r == 1) contMes += matrizEnteros[q][r];
if(r == 2) pfinalMes += matrizEnteros[q][r];
if(r == 3) prompfMes += matrizEnteros[q][r];
if(r == 4) promvfMes += matrizEnteros[q][r];
if(r == 5) dfinalMes += matrizEnteros[q][r];
if(r == 6){ vnetoMes += matrizEnteros[q][r];
}
}
cout << endl;
}
// presenta cifras de control
cout << endl;
cout << "RESUMEN DE INCLUSION" << endl;
cout << "CIFRAS DE CONTROL" << endl << endl;
cout << "Total de Reses Ingresadas de Mestizo:" << setw(12) <<
contMes << setw(13) << endl;
cout << "Total del peso de las reses de Mestizo: " << setw(14) <<
pfinalMes << setw(13) << endl;
cout << "Promedio de peso de Mestizo: " << setw(14) << prompfMes <<
setw(13) << endl;
cout << "Promedio de valor de Mestizo: " << setw(14) << promvfMes <<
setw(13) << endl;
cout << "Acumulado de deducciones de Mestizo: " << setw(13) <<
dfinalMes << setw(13) << endl;
cout << "Acumulado del valor neto de Mestizo: " << setw(14) <<
vnetoMes << setw(13) << endl;
getch();
break;
case 9:
// despliega datos de matriz cargados previamente
clrscr();
mostrarTitulo();
cout << "Registro de Ganado para la sesion del " << fecha << endl <<
endl;
clrscr();
cout << "CONTENIDO DEL REPORTE GENERAL" << endl << endl;
cout << "Total general del ganado" << setw(15) << "Total general del
peso" << setw(18) << "Acumulado general de deducciones" << setw(17) <<
endl;
for(int s = 0; s < tamFila; s++)
{
// realizar calculos
contGeneral = contCebu+contBra+contHol+contMes;
pfinalGeneral = pfinalCebu+pfinalBra+pfinalHol+pfinalMes;
dfinalGeneral = dfinalCebu+dfinalBra+dfinalHol+dfinalMes;
for( int t = 0; t < tamColumna; t++)
{
cout << " " << matrizEnteros[s][t] << setw(9);
if(t == 1) contGeneral += matrizEnteros[s][t];
if(t == 2) pfinalGeneral += matrizEnteros[s][t];
if(t == 3) dfinalGeneral += matrizEnteros[s][t];
}
}
cout << endl;
// presenta cifras de control
cout << endl;
cout << "RESUMEN DE INCLUSION" << endl;
cout << "CIFRAS DE CONTROL" << endl << endl;
cout << "Total general del ganado: " << setw(12) << contGeneral <<
setw(13) << endl;
cout << "Total general del peso: " << setw(14) << pfinalGeneral <<
setw(13) << endl;
cout << "Acumulado general de deducciones: " << setw(14) <<
dfinalGeneral << setw(13) << endl;
getch();
break;
case 10:
cout << "Salio del sistema.";
exit(1);
break;
default:
cout << "Opcion incorrecta.";
break;
}; //switch
cout << "Desea continuar? (s/n) si/no --> ";
cin >> seguir;
}while(seguir=='s' || seguir=='S');
}// fin main HGG
A Course in Miracles (Curso de milagros)
Volver a nacer es dejar que el pasado se marche, y mirar al presente sin
condenarlo... S�lo se
te%
------------ próxima parte ------------
/*** Proyecto el Matadero El Carnicero Feroz S.A*******/
/* Creado por: Hubert Garcia Gordon */
/* Estudiante Ingenieria en Sistemas */
/* Materia: Programacion I */
/* Fecha de Entrega: 28/03/2011 */
/* ****************************************************/
/*** Definicion del Problema***************************/
/* Se requiere automatizar los procesos de */
/* registro del ganado. */
/* ****************************************************/
/*** ANALISIS DEL PROBLEMA*****************************/
/* DATOS DE ENTRADA************************************/
/* 1- Fecha de Sesion de trabajo. */
/* 2- Numero de cabezas de ganado. */
/* 3- Peso. */
/* 4- Valor. */
/******************************************************/
/* METODOS Y FORMULAS QUE SE NECESITAN */
/* 1- cuantas cabezas de ganado ingresan (contador) */
/* 2- Acumulado de valor de las reses x raza */
/* 3- Acumulado del peso de las reses x raza */
/* 4- Aplicar porcentaje de deduccion al valor */
/* registrado de la res, segun peso y raza */
/* de acuerdo a la siguiente tabla: */
/* a) Cebu: 5% si el peso es igual o menor a 400k */
/* 7% si el peso es mayor a 400k */
/* b) Brahman: 5% si el peso es igual o menor */
/* 500k, 7% si elpeso es mayor a 500k */
/* c) Holstein: 5% si el peso es igual o menor a */
/* 300k, 7% si el peso es mayor a 300k */
/* d) Mestizo: 5% si el peso es igual o menor a */
/* 300k, 7% si el peso es mayor a 300k */
/* Acumulado de todas las reses ingresadas en */
/* cada sesion de trabajo. */
/* Acumulado del peso de todas las reses */
/* ingresadas. */
/******************************************************/
/* INFORMACION QUE SE DESEA PRODUCIR (REPORTE)*********/
/* */
/* - Nombre de la empresa */
/* - Fecha de Sesion */
/* - Nombre de la operacion realizada: */
/* - Reporte de Ingreso de Ganado */
/* - Total de reses ingresadas por cada raza */
/* - Total general del ganado ingresado. */
/* - Total del peso de las reses ingresadas por raza. */
/* - Total general del peso ingresado */
/* - Promedio de peso por res segun raza */
/* - Promedio de valor por res segun su raza */
/* - En una seccion aparte: */
/* 1) Acumulado de deduccion por raza. */
/* 2) Acumulado general de deducciones. */
/* 3) Acumulado de valor neto por cada raza. */
/******************************************************/
/* SEUDO CODIGO
Inicio
Digite la fecha de Sesion
guarde la fecha
Menu
Escoja una opcion para el tipo de ganado que desea registrar
1 Cebu
2 Brahman
3 Holstein
4 Mestizo
registrar numero de cabeza por opcion
Digite el peso
guardar peso
Digite el valor
guardar valor
if peso Cebu (peso <= 400)
deduccion 5000
if peso cebu (peso > 400)
deduccion 10000
if peso Brahman (peso <= 500)
deduccion 7000
if peso Brahman (peso > 500)
deduccion 15000
if peso Holstein (peso <= 300)
deduccion 3500
if peso Holstein (peso > 300)
deduccion 7000
if peso Mestizo (peso <= 300)
deduccion 0
if peso Mestizo (peso > 300)
deduccion 2500
Almacenar en una Matriz consecutivamente
Registros ingresados
Codigo de raza
peso
valor
Deduccion de cada res.
Reporte mediante Matriz
a. Nombre de la empresa.
b. Fecha de la sesión.
c. Nombre de la operación realizada: Registro de Ingreso de Ganado.
d. Total de reses ingresadas por cada raza: Cebú, Brahman, Holstein, mestizo.
e. Total general del ganado ingresado en la sesión de trabajo.
f. Total del peso de las reses ingresadas, por raza.
g. Total general del peso ingresado (todas las razas).
h. Promedio de peso por res según su raza.
i. Promedio de valor por res según su raza.
j. En una sección aparte, el informe debe presentar el resumen de las deducciones al valor de las reses según su raza, a saber:
1) acumulado deducción por raza,
2) acumulado general de deducciones (todas las razas),
3) el acumulado de valor neto por cada raza.
*/
#include <stdlib.h>
#include <iostream.h>
#include <stdio.h>
#include <conio.h>
#include <iomanip.h>
int opc=0, cebu=0, brahman=0,holstein=0, mestizo=0, seguir=0;
int peso = 0, valor =0, deduccion =0, vfinal=0;
char fecha[10];
int contCebu = 0, contBra = 0, contHol = 0, contMes = 0, sumaCont = 0;
int pesoCebu=0, pesoBra=0, pesoHol=0, pesoMes=0;
int valorCebu=0, valorBra=0, valorHol=0, valorMes=0;
int vfinalCebu=0, vfinalBra=0, vfinalHol=0, vfinalMes=0;
int pfinalCebu=0, pfinalBra=0, pfinalHol=0, pfinalMes=0;
int dfinalCebu=0, dfinalBra=0, dfinalHol=0, dfinalMes=0;
int vnetoCebu=0, vnetoBra=0, vnetoHol=0, vnetoMes=0;
int prompfCebu=0, prompfBra=0, prompfHol=0, prompfMes=0;
int promvfCebu=0, promvfBra=0, promvfHol=0, promvfMes=0;
int contGeneral = 0, pfinalGeneral = 0, dfinalGeneral = 0;
const int menorq400K = 5000, mayorq400k =10000;
const int menorq500K = 7000, mayorq500k =15000;
const int menorq300K = 3500, mayorq300k =7000;
const int menorq300M = 0, mayorq300M =2500;
const int tamFila = 3, tamColumna = 6;
int matrizEnteros[tamFila][tamColumna];
int resp;
void mostrarTitulo()
{
clrscr();
cout << "\tBienvenido al programa de registro del Matadero S.A"<<endl <<endl;
}
void menuPrincipal()
{
clrscr();
cout <<"\tElija la Opcion de lo que desea realizar."<<endl <<endl;
cout <<"1. Registrar Ganado Cebu."<<endl;
cout <<"2. Registrar Ganado Brahman."<<endl;
cout <<"3. Registrar Ganado Holstein."<<endl;
cout <<"4. Registrar Ganado Mestizo."<<endl;
cout <<"5. Ver reporte de Cebu."<<endl;
cout <<"6. Ver reporte de Brahman."<<endl;
cout <<"7. Ver reporte de Holstein."<<endl;
cout <<"8. Ver reporte de Mestizo."<<endl;
cout <<"9. Ver reporte de General."<<endl;
cout <<"10. Salir del programa."<<endl;
cout <<"Presiona una opcion ==>"<<endl;
cin >>opc;
}
void main()
{
mostrarTitulo();
cout <<"digite la fecha de sesion: "<<endl;
cin >>fecha;
do
{
menuPrincipal();
switch (opc)
{
case 1:
do
{
// carga matriz con datos aportados por el usuario
for(int a = 0; a < tamFila; a++)
{
clrscr();
cout <<"Para la cabeza de ganado Cebu digite"<<endl<<endl;
cout <<"El peso: "<<endl;
cin >>pesoCebu;
cout <<"El valor: "<<endl;
cin >>valorCebu;
// Realizar calculos
if (pesoCebu <= 400)
{
dfinalCebu = valorCebu - menorq400K;
}
else
{
dfinalCebu = valorCebu - mayorq400k;
}
pfinalCebu = pfinalCebu+pesoCebu;
vnetoCebu = vnetoCebu+valorCebu;
prompfCebu = pfinalCebu/contCebu;
promvfCebu = vfinalCebu/contCebu;
contCebu++;
for( int b = 0; b < tamColumna; b++)
{
matrizEnteros[a][b] = a+1;
if(b == 1) matrizEnteros[a][b] = contCebu;
if(b == 2) matrizEnteros[a][b] = pfinalCebu;
if(b == 3) matrizEnteros[a][b] = vnetoCebu;
}
}
cout << "Desea ingresar mas datos? si/no (s/n)" << endl;
cin >> resp;
}while (resp == 's' || resp == 'S');
break;
case 2:
do
{
// carga matriz con datos aportados por el usuario
for(int c = 0; c < tamFila; c++)
{
clrscr();
cout << "Para la cabeza de ganado Brahman digite"<<endl<<endl;
cout << "Digite el peso: "<<endl;
cin >> pesoBra;
cout << "Digite el valor: "<<endl;
cin >>valorBra;
// Realizar calculos
if (pesoBra <= 500)
{
dfinalBra = valorBra - menorq500K;
}
else
{
dfinalBra = valorBra - mayorq500k;
}
pfinalBra=pfinalBra+pesoBra;
vnetoBra=vnetoBra+valorBra;
prompfBra = pfinalBra/contBra;
promvfBra = vfinalBra/contBra;
contBra++;
for(int d = 0; d < tamColumna; d++)
{
matrizEnteros[c][d] = c+1;
if(d == 1) matrizEnteros[c][d] = contBra;
if(d == 2) matrizEnteros[c][d] = pfinalBra;
if(d == 3) matrizEnteros[c][d] = vnetoBra;
}
}
cout <<"Desea ingresar mas datos? si/no (s/n)" <<endl;
cin >> resp;
}while(resp == 's' || resp == 'S');
break;
case 3:
do
{
// Carga Matriz con datos aportados por el usuario
for(int e = 0; e < tamFila; e++)
{
clrscr();
cout << "Para la cabeza de ganado Holstein digite"<<endl<<endl;
cout << "Digite el peso: ";
cin >>pesoHol;
cout << "Digite el valor: ";
cin >>valorHol;
//Realizar calculos
if (pesoHol <= 300)
{
dfinalHol = valorHol - menorq300K;
}
else
{
dfinalHol = valorHol - mayorq300k;
}
pfinalHol=pfinalHol+pesoHol;
vnetoHol=vnetoHol+valorHol;
prompfHol = pfinalHol/contHol;
promvfHol = vfinalHol/contHol;
contHol++;
for(int f = 0; f < tamColumna; f++)
{
matrizEnteros[e][f] = e+1;
if(f == 1) matrizEnteros[e][f] = contHol;
if(f == 2) matrizEnteros[e][f] = pfinalHol;
if(f == 3) matrizEnteros[e][f] = vnetoHol;
}
}
cout << "Desea ingresar mas datos? si/no (s/n)" << endl;
cin >> resp;
}while (resp == 's' || resp == 'S');
break;
case 4:
do
{
// carga matriz con datos aportados por el usuario
for(int h = 0; h < tamFila; h++)
{
clrscr();
cout << "Para la cabeza de ganado Mestizo digite"<<endl;
cout << "El peso: ";
cin >> pesoMes;
cout << "El valor: ";
cin >> valorMes;
// Realizar calculos
if (pesoMes <= 300)
{
dfinalMes = valorMes - menorq300M;
}
else
{
dfinalMes = valorMes - mayorq300M;
}
pfinalMes=pfinalMes+pesoMes;
vnetoMes=vnetoMes+valorMes;
prompfMes = pfinalMes/contMes;
promvfMes = vfinalMes/contMes;
contMes++;
for(int g = 0; g < tamColumna; g++)
{
matrizEnteros[h][g] = h+1;
if(g == 1) matrizEnteros[h][g] = contCebu;
if(g == 2) matrizEnteros[h][g] = pfinalCebu;
if(g == 3) matrizEnteros[h][g] = vnetoCebu;
}
}
cout << "Desea ingresar mas datos? si/no (s/n)" << endl;
cin >> resp;
} while (resp == 's' || resp == 'S');
break;
case 5:
// despliega datos de matriz cargados previamente
clrscr();
mostrarTitulo();
cout << "Registro de Ganado para la sesion del " << fecha << endl << endl;
clrscr();
cout << "CONTENIDO DEL REPORTE CEBU" << endl << endl;
cout << "Total de Cebu" << setw(15) << "Total del peso de Cebu" << setw(18) << "Promedio de peso de Cebu" << setw(17) << "Promedio de valor de Cebu" << setw(12) << "Acumulado de deducciones de Cebu" << setw(11) << "Acumulado del valor neto de Cebu" << setw(10) << endl;
for(int j = 0; j < tamFila; j++)
{
for( int k = 0; k < tamColumna; k++)
{
cout << " " << matrizEnteros[j][k] << setw(9);
if(k == 1) contCebu += matrizEnteros[j][k];
if(k == 2) pfinalCebu += matrizEnteros[j][k];
if(k == 3) prompfCebu += matrizEnteros[j][k];
if(k == 4) promvfCebu += matrizEnteros[j][k];
if(k == 5) dfinalCebu += matrizEnteros[j][k];
if(k == 6){ vnetoCebu += matrizEnteros[j][k];
}
}
cout << endl;
}
// presenta cifras de control
cout << endl;
cout << "RESUMEN DE INCLUSION" << endl;
cout << "CIFRAS DE CONTROL" << endl << endl;
cout << "Total de Reses Ingresadas de Cebu:" << setw(12) << contCebu << setw(13) << endl;
cout << "Total del peso de las reses de Cebu: " << setw(14) << pfinalCebu << setw(13) << endl;
cout << "Promedio de peso de Cebu: " << setw(14) << prompfCebu << setw(13) << endl;
cout << "Promedio de valor de Cebu: " << setw(14) << promvfCebu << setw(13) << endl;
cout << "Acumulado de deducciones de Cebu" << setw(13) << dfinalCebu << setw(13) << endl;
cout << "Acumulado del valor neto de Cebu: " << setw(14) << vnetoCebu << setw(13) << endl;
getch();
break;
case 6:
// despliega datos de matriz cargados previamente
clrscr();
mostrarTitulo();
cout << "Registro de Ganado para la sesion del " << fecha << endl << endl;
clrscr();
cout << "CONTENIDO DEL REPORTE Brahman" << endl << endl;
cout << "Total de Brahman" << setw(15) << "Total del peso de Brahman" << setw(18) << "Promedio de peso de Brahman" << setw(17) << "Promedio de valor de Brahman" << setw(12) << "Acumulado de deducciones de Brahman" << setw(11) << "Acumulado del valor neto de Brahman" << setw(10) << endl;
for(int m = 0; m < tamFila; m++)
{
for( int n = 0; n < tamColumna; n++)
{
cout << " " << matrizEnteros[m][n] << setw(9);
if(n == 1) contBra += matrizEnteros[m][n];
if(n == 2) pfinalBra += matrizEnteros[m][n];
if(n == 3) prompfBra += matrizEnteros[m][n];
if(n == 4) promvfBra += matrizEnteros[m][n];
if(n == 5) dfinalBra += matrizEnteros[m][n];
if(n == 6){ vnetoBra += matrizEnteros[m][n];
}
}
cout << endl;
}
// presenta cifras de control
cout << endl;
cout << "RESUMEN DE INCLUSION" << endl;
cout << "CIFRAS DE CONTROL" << endl << endl;
cout << "Total de Reses Ingresadas de Brahman:" << setw(12) << contBra << setw(13) << endl;
cout << "Total del peso de las reses de Brahman: " << setw(14) << pfinalBra << setw(13) << endl;
cout << "Promedio de peso de Brahman: " << setw(14) << prompfBra << setw(13) << endl;
cout << "Promedio de valor de Brahman: " << setw(14) << promvfBra << setw(13) << endl;
cout << "Acumulado de deducciones de Brahman: " << setw(13) << dfinalBra << setw(13) << endl;
cout << "Acumulado del valor neto de Brahman: " << setw(14) << vnetoBra << setw(13) << endl;
getch();
break;
case 7:
// despliega datos de matriz cargados previamente
clrscr();
mostrarTitulo();
cout << "Registro de Ganado para la sesion del " << fecha << endl << endl;
clrscr();
cout << "CONTENIDO DEL REPORTE Holstein" << endl << endl;
cout << "Total de Holstein" << setw(15) << "Total del peso de Holstein" << setw(18) << "Promedio de peso de Holstein" << setw(17) << "Promedio de valor de Holstein" << setw(12) << "Acumulado de deducciones de Holstein" << setw(11) << "Acumulado del valor neto de Holstein" << setw(10) << endl;
for(int o = 0; o < tamFila; o++)
{
for( int p = 0; p < tamColumna; p++)
{
cout << " " << matrizEnteros[o][p] << setw(9);
if(p == 1) contHol += matrizEnteros[o][p];
if(p == 2) pfinalHol += matrizEnteros[o][p];
if(p == 3) prompfHol += matrizEnteros[o][p];
if(p == 4) promvfHol += matrizEnteros[o][p];
if(p == 5) dfinalHol += matrizEnteros[o][p];
if(p == 6){ vnetoHol += matrizEnteros[o][p];
}
}
cout << endl;
}
// presenta cifras de control
cout << endl;
cout << "RESUMEN DE INCLUSION" << endl;
cout << "CIFRAS DE CONTROL" << endl << endl;
cout << "Total de Reses Ingresadas de Holstein:" << setw(12) << contHol << setw(13) << endl;
cout << "Total del peso de las reses de Holstein: " << setw(14) << pfinalHol << setw(13) << endl;
cout << "Promedio de peso de Holstein: " << setw(14) << prompfHol << setw(13) << endl;
cout << "Promedio de valor de Holstein: " << setw(14) << promvfHol << setw(13) << endl;
cout << "Acumulado de deducciones de Holstein: " << setw(13) << dfinalHol << setw(13) << endl;
cout << "Acumulado del valor neto de Holstein: " << setw(14) << vnetoHol << setw(13) << endl;
getch();
break;
case 8:
// despliega datos de matriz cargados previamente
clrscr();
mostrarTitulo();
cout << "Registro de Ganado para la sesion del " << fecha << endl << endl;
clrscr();
cout << "CONTENIDO DEL REPORTE Mestizo" << endl << endl;
cout << "Total de Mestizo" << setw(15) << "Total del peso de Mestizo" << setw(18) << "Promedio de peso de Mestizo" << setw(17) << "Promedio de valor de Mestizo" << setw(12) << "Acumulado de deducciones de Mestizo" << setw(11) << "Acumulado del valor neto de Mestizo" << setw(10) << endl;
for(int q = 0; q < tamFila; q++)
{
for( int r = 0; r < tamColumna; r++)
{
cout << " " << matrizEnteros[q][r] << setw(9);
if(r == 1) contMes += matrizEnteros[q][r];
if(r == 2) pfinalMes += matrizEnteros[q][r];
if(r == 3) prompfMes += matrizEnteros[q][r];
if(r == 4) promvfMes += matrizEnteros[q][r];
if(r == 5) dfinalMes += matrizEnteros[q][r];
if(r == 6){ vnetoMes += matrizEnteros[q][r];
}
}
cout << endl;
}
// presenta cifras de control
cout << endl;
cout << "RESUMEN DE INCLUSION" << endl;
cout << "CIFRAS DE CONTROL" << endl << endl;
cout << "Total de Reses Ingresadas de Mestizo:" << setw(12) << contMes << setw(13) << endl;
cout << "Total del peso de las reses de Mestizo: " << setw(14) << pfinalMes << setw(13) << endl;
cout << "Promedio de peso de Mestizo: " << setw(14) << prompfMes << setw(13) << endl;
cout << "Promedio de valor de Mestizo: " << setw(14) << promvfMes << setw(13) << endl;
cout << "Acumulado de deducciones de Mestizo: " << setw(13) << dfinalMes << setw(13) << endl;
cout << "Acumulado del valor neto de Mestizo: " << setw(14) << vnetoMes << setw(13) << endl;
getch();
break;
case 9:
// despliega datos de matriz cargados previamente
clrscr();
mostrarTitulo();
cout << "Registro de Ganado para la sesion del " << fecha << endl << endl;
clrscr();
cout << "CONTENIDO DEL REPORTE GENERAL" << endl << endl;
cout << "Total general del ganado" << setw(15) << "Total general del peso" << setw(18) << "Acumulado general de deducciones" << setw(17) << endl;
for(int s = 0; s < tamFila; s++)
{
// realizar calculos
contGeneral = contCebu+contBra+contHol+contMes;
pfinalGeneral = pfinalCebu+pfinalBra+pfinalHol+pfinalMes;
dfinalGeneral = dfinalCebu+dfinalBra+dfinalHol+dfinalMes;
for( int t = 0; t < tamColumna; t++)
{
cout << " " << matrizEnteros[s][t] << setw(9);
if(t == 1) contGeneral += matrizEnteros[s][t];
if(t == 2) pfinalGeneral += matrizEnteros[s][t];
if(t == 3) dfinalGeneral += matrizEnteros[s][t];
}
}
cout << endl;
// presenta cifras de control
cout << endl;
cout << "RESUMEN DE INCLUSION" << endl;
cout << "CIFRAS DE CONTROL" << endl << endl;
cout << "Total general del ganado: " << setw(12) << contGeneral << setw(13) << endl;
cout << "Total general del peso: " << setw(14) << pfinalGeneral << setw(13) << endl;
cout << "Acumulado general de deducciones: " << setw(14) << dfinalGeneral << setw(13) << endl;
getch();
break;
case 10:
cout << "Salio del sistema.";
exit(1);
break;
default:
cout << "Opcion incorrecta.";
break;
}; //switch
cout << "Desea continuar? (s/n) si/no --> ";
cin >> seguir;
}while(seguir=='s' || seguir=='S');
}// fin main HGG
Más información sobre la lista de distribución Cconclase