[C con Clase] Operacion Matematica

hubert garcia hubert1 en email.com
Sab Abr 2 19:36:55 CEST 2011


Buen dia, de antemano les agradezco sus recomendaciones para solucionar esta situacion, el programa ya esta listo con cero errores y me funciona normal, pero tengo un problema con una operacion matematica, la ventaja es que con solucionar uno se soluciona todo.

 A manera de prueba estoy revisando el case 1 donde le puse cout para que me mostrar lo que estaba almacenando. El usuario debe digitar un salario, por ejemplo 700000 y donde le digo que me muestre el salario digitado por el usuario pone: -20896 luego tiene que realizar una operacion matematica el cual es hace una deduccion donde me pone 113 y por ultimo mostrar el salario neto, donde pone: -21009

 Esta operacion esta correcta, sin embargo no es el resultado que ando buscando ya que deberia ser de esta manera:

 Salario Bruto = 700000
 Deduccion = 84000
 Salario Neto = 616000

 De verdad se les agradece la ayuda que me puedan brindar.


 clrscr();
mostrarTitulo("CATEGORIA DE EMPLEADO ADMINISTRATIVO");
 cout <<"Digite el salario reportado: ";
 cin >> salBrutoAdm;
 cout <<"salario Bruto"<<salBrutoAdm<<endl;
 getch();
 montoDeducAdm= montoDeduccionAdm(salBrutoAdm);
 cout<<"Monto Deduccion"<<montoDeducAdm<<endl;
 getch();
 salNetoAdm= salarioBrutoAdm(salBrutoAdm, montoDeducAdm);
 cout <<"Salario Neto"<<salNetoAdm<<endl;
 getch();
 break;




 /* TAREA 2 /
 / Creado por: Hubert Garcia Gordon /
 / Estudiante Ingenieria en Sistemas /
 / Materia: Programacion 1  /
 / Fecha de Entrega: 04/04/2011 /
 /*/

 /* TAREA 2 /
 / Creado por: Hubert Garcia Gordon /
 / Estudiante Ingenieria en Sistemas /
 / Materia: Programacion 1  /
 / Fecha de Entrega: 04/04/2011 /
 /*/

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

 int salBrutoAdm = 0, salBrutoOfi= 0, salBrutoGene = 0;
 int salNetoAdm=0, salNetoOfi=0, salNetoGene=0;
 int montoDeducAdm=0, montoDeducOfi=0, montoDeducGene=0;
 int totalSalarioB=0, totalSalarioN=0, totalDeducc=0; 
 int contEmpleado=0, categoriaEmpl=0;
 int monDeducc=0;
 char seguir;
 char fecha[10];
 int opc;

 void tituloPrincipal()
 {

 clrscr();
 cout << endl << endl;
 cout << "***************************************" <<endl;
 cout << "EMPRESA LOS 3 CERDITOS S.A " <<endl;
 cout << "Donde esta la carnita... " <<endl;
 cout << "***************************************" <<endl<<endl<<endl;
 cout <<" Ingrese la fecha de la sesion: ";
 cin >> fecha;
 cout <<endl;
 cout << "Digite cualquier tecla para continuar..." << endl;
 getch();
 }

 void mostrarTitulo(char msg[30])
 {

 clrscr();
 cout << endl << endl;
 cout << " ***************************************************" <<endl;
 cout <<  msg <<endl;
 cout << " ***************************************************" <<endl<<endl<<endl;

 }

 int categoriaEmpleado()
 {

 clrscr();
 cout << endl << endl;
 cout <<"Seleccione una categoria de empleado " << endl << endl;
 cout <<"1. Administrativo " << endl;
 cout <<"2. Oficinista " << endl;
 cout <<"3. Servicios Generales"<<endl;
 cout <<"4. Reportes"<<endl; 
 cout <<"5. Salir" <<endl;
 cin >> opc;

 return opc;
 }

 int salarioBrutoAdm(int a, int b )
 {
 clrscr();
 a-=b;

 return a;
 }

 int montoDeduccionAdm(int montoDeducAdm)
 {
 clrscr();
 montoDeducAdm = ((salBrutoAdm*12)/100);

 return montoDeducAdm;
 }

 int salarioBrutoOfi(int salBrutoOfi)
 {
 clrscr();
 salBrutoOfi = salBrutoOfi-montoDeducOfi;

 return salBrutoOfi;
 }

 int montoDeduccionOfi(int montoDeducOfi)
 {
 clrscr();
 montoDeducOfi = ((salBrutoOfi*9)/100);

 return montoDeducOfi;
 }

 int salarioBrutoGene(int salBrutoGene)
 {
 clrscr();
 salBrutoGene = salBrutoGene-montoDeducGene;

 return salBrutoGene;
 }

 int montoDeduccionGene(int montoDeducGene)
 {
 clrscr();
 montoDeducGene = ((salBrutoGene*7)/100);

 return montoDeducGene;
 }

 void main()
 {

 tituloPrincipal();

 while (opc != 5)
 {

 categoriaEmpleado();

 switch(opc)
 {
 case 1:

 clrscr();
mostrarTitulo("CATEGORIA DE EMPLEADO ADMINISTRATIVO");
 cout <<"Digite el salario reportado: ";
 cin >> salBrutoAdm;
 cout <<"salario Bruto"<<salBrutoAdm<<endl;
 getch();
 montoDeducAdm= montoDeduccionAdm(salBrutoAdm);
 cout<<"Monto Deduccion"<<montoDeducAdm<<endl;
 getch();
 salNetoAdm= salarioBrutoAdm(salBrutoAdm, montoDeducAdm);
 cout <<"Salario Neto"<<salNetoAdm<<endl;
 getch();
 break;

 case 2:
 mostrarTitulo("CATEGORIA DE EMPLEADO OFICINISTA");
 cout <<"Digite el salario reportado: ";
 cin >> salBrutoOfi;
 montoDeducOfi= montoDeduccionOfi(salBrutoOfi);
 salNetoOfi= salarioBrutoOfi(salBrutoOfi);
 break;

 case 3:
 mostrarTitulo("CATEGORIA DE EMPLEADO SERVICIO GENERAL");
 cout <<"Digite el salario reportado: ";
 cin >> salBrutoGene;
 montoDeducGene= montoDeduccionGene(salBrutoGene);
 salNetoGene= salarioBrutoGene(salBrutoGene);
 break;

 case 4:
 mostrarTitulo("INFORME DE REGISTROS");
 mostrarTitulo("DONDE ESTA LA CARNITA");
 cout <<"Fecha de Sesion: " << fecha <<endl<<endl;

 totalSalarioB = salBrutoAdm + salBrutoOfi + salBrutoGene;
 totalSalarioN = salNetoAdm + salNetoOfi + salNetoGene;
 totalDeducc = montoDeducAdm + montoDeducOfi + montoDeducGene;

 cout <<"Total de salarios brutos ingresados: "<< totalSalarioB<<endl;
 cout <<"Total de salarios netos calculados: "<< totalSalarioN<<endl;
 cout <<"Total de deducciones calculadas: "<< totalDeducc<<endl;
 cout <<"Total de registros procesados: "<<contEmpleado<<endl<<endl;
 cout << "Digite cualquier tecla para continuar..." << endl;
 getch();

 break;

 case 5:
 mostrarTitulo("Salio del sistema...");
 break;

 default:
 mostrarTitulo("Opcion Incorrecta....");
 break;

 }// fin switch
 contEmpleado++;
 }

 }//HGG 2011
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.conclase.net/pipermail/cconclase_listas.conclase.net/attachments/20110402/57e7cc8c/attachment.html>
------------ próxima parte ------------
A non-text attachment was scrubbed...
Name: Prueba.rar
Type: application/octet-stream
Size: 1450 bytes
Desc: Attachment: Prueba.rar
URL: <http://listas.conclase.net/pipermail/cconclase_listas.conclase.net/attachments/20110402/57e7cc8c/attachment.obj>


Más información sobre la lista de distribución Cconclase