Calificación:
  • 0 voto(s) - 0 Media
  • 1
  • 2
  • 3
  • 4
  • 5
Curso C++: Ejemplo 2
#1
Vamos a realizar un ejemplo un poco mas complejo, a continuación, pueden ver que es lo que nos solicitan, para aclarar un poco, en mi país el IGSS, es un instituto de salud nacional, para el cual se le descuenta un porcentaje del sueldo a los trabajadores, para tener derecho a el, ISR es un impuesto, que significa impuesto sobre la renta y el boleto de ornato, es algo que se le paga al gobierno, solo para aclarar un poco.

La empresa “Ventas S.A.” solicita que se desarrolle una solución para poder llevar
el control de la Nómina de Sueldos de todos sus trabajadores, para poder llevar este
control es necesario considerar lo siguiente:
 Ingreso del Total de ventas de cada empleado.
 Calcular el IGSS (4.86% del sueldo)
 Calcular la Comisión.
 Calcular el ISR.
 Calcular el pago en concepto de Boleto de Ornato (los cálculos dependen de la Tabla que se Muestra)
 Imprimir la Nómina General Totalizando:
o Sueldo Líquido.
o Comisiones.
o IGSS.
o Boleto de Ornato.
La fórmula del Sueldo Liquido es la Siguiente:
Sueldo Liquido = (Sueldo + Comisión) – (IGSS + ISR +Boleto de Ornato)
NOTA: El usuario indicara cuando desea terminar de ingresar
información.
Total de Ventas Comisión (%) ISR (%) Boleto de Ornato
0,000.00 – 2,000.00 1 2 15.00
2,000.01 – 6,000.00 3 4 50.00
6,000.01 – 8,000.00 5 6 75.00
8,000.01 – 9,000.00 7 8 100.00
9,000.01 - en Adelante 9 10 150.00

Para poder realizar este ejercicio, usare un do...while para hace que el programa se ejecute, hasta que el usuario quiera salir, también usare if anidado para elegir los cálculos dependiendo el monto vendido, finalmente uso también un while, porque para poder continuar o salir, el usuario debe presionar s o n, pero si presiona cualquier otra tecla, indicara que es un error y le seguirá preguntando si desea continuar o no hasta que presione una de esas teclas, bueno, sin mas el ejemplo.

Código:
#include <iostream>
#include <cstdlib>

using namespace std;

//Variables
float venta=0, igss=0, comision=0, isr=0, ornato=0, sueldo=0;
char op;

int main(){

    do{
        //limpiamos pantalla
        system("cls");
        //declaramos una variable booleana que nos servira en un ciclo while
        bool fin = false;
        //Indicamos el nombre del programa o lo que hace y solicitamos el total de ventas
        cout << "\n\n\t\t\t\tControl de nomina";
        cout << "\n\n\t\tIngresa los datos necesarios para el calculo";

        cout << "\n\n\t\tTotal vendido: ";
        cin >> venta;

        //dependiendo el monto vendido se realiza una u otra accion
        //En esta ocasion se esta aplicando el uso de if anidados
        if(venta < 2000.01){
            //Se realizan los calculos
            igss = venta*0.0486;
            comision = venta*0.01;
            isr = venta*0.02;
            ornato = 15;
            sueldo = (venta+comision) - (igss+isr+ornato);
            //Se muestran los resultados
            cout << "\n\n\t\t\t\tNomina calculada" << endl;
            cout << "\n\t\t\tComisiones:\t\t" << comision << endl;
            cout << "\t\t\tIGSS:\t\t\t" << igss << endl;
            cout << "\t\t\tBoleto de ornato:\t" << ornato << endl;
            cout << "\t\t\tSueldo liquido:\t\t" << sueldo;
            //ponemos pausa para poder ver tranquilamente el resultado
            cout << "\n\n\t\t";
            system("pause");

        }
        else if((venta > 2000) & (venta < 6000.01)){

            igss = venta*0.0486;
            comision = venta*0.03;
            isr = venta*0.04;
            ornato = 50;
            sueldo = (venta+comision) - (igss+isr+ornato);

            cout << "\n\n\t\t\t\tNomina calculada" << endl;
            cout << "\n\t\t\tComisiones:\t\t" << comision << endl;
            cout << "\t\t\tIGSS:\t\t\t" << igss << endl;
            cout << "\t\t\tBoleto de ornato:\t" << ornato << endl;
            cout << "\t\t\tSueldo liquido:\t\t" << sueldo;
            //ponemos pausa para poder ver tranquilamente el resultado
            cout << "\n\n\t\t";
            system("pause");
        }
        else if((venta > 6000) & (venta < 8000.01)){

            igss = venta*0.0486;
            comision = venta*0.05;
            isr = venta*0.06;
            ornato = 75;
            sueldo = (venta+comision) - (igss+isr+ornato);

            cout << "\n\n\t\t\t\tNomina calculada" << endl;
            cout << "\n\t\t\tComisiones:\t\t" << comision << endl;
            cout << "\t\t\tIGSS:\t\t\t" << igss << endl;
            cout << "\t\t\tBoleto de ornato:\t" << ornato << endl;
            cout << "\t\t\tSueldo liquido:\t\t" << sueldo;
            //ponemos pausa para poder ver tranquilamente el resultado
            cout << "\n\n\t\t";
            system("pause");
        }
        else if((venta > 8000) & (venta < 9000.01)){

            igss = venta*0.0486;
            comision = venta*0.07;
            isr = venta*0.08;
            ornato = 100;
            sueldo = (venta+comision) - (igss+isr+ornato);

            cout << "\n\n\t\t\t\tNomina calculada" << endl;
            cout << "\n\t\t\tComisiones:\t\t" << comision << endl;
            cout << "\t\t\tIGSS:\t\t\t" << igss << endl;
            cout << "\t\t\tBoleto de ornato:\t" << ornato << endl;
            cout << "\t\t\tSueldo liquido:\t\t" << sueldo;
            //ponemos pausa para poder ver tranquilamente el resultado
            cout << "\n\n\t\t";
            system("pause");
        }
        else{

            igss = venta*0.0486;
            comision = venta*0.09;
            isr = venta*0.1;
            ornato = 150;
            sueldo = (venta+comision) - (igss+isr+ornato);

            cout << "\n\n\t\t\t\tNomina calculada" << endl;
            cout << "\n\t\t\tComisiones:\t\t" << comision << endl;
            cout << "\t\t\tIGSS:\t\t\t" << igss << endl;
            cout << "\t\t\tBoleto de ornato:\t" << ornato << endl;
            cout << "\t\t\tSueldo liquido:\t\t" << sueldo;
            //ponemos pausa para poder ver tranquilamente el resultado
            cout << "\n\n\t\t";
            system("pause");
        }

        //preguntamos si desea continuar o no, utilizando un while,
        //nos aseguramos que el usuario presione s o n,
        //cualquier otra tecla no esta permtida, el programa lo indicara y
        //seguira preguntado si desea hacer otro calculo, hasta que presione s o n
        while(fin != true){

            cout << "\n\n\n\t\tRealizar otro calculo s/n? ";
            cin >> op;
            //Este if comprueba, si op, no es igual a s y n, indica el error, se repite el ciclo
            if((op != 's') & (op != 'n')){

                cout << "\n\n\t\tHas presionado una tecla incorrecta.";

            }
            else{
                //Si se presiono s o n, a fin se le asigna true y termina el ciclo y
                //continua el ciclo del do...while
                fin = true;

            }

        }


    }while(op != 'n');

return 0;
}
Enfadado


Posibles temas similares...
Tema Autor Respuestas Vistas Último mensaje
  Curso básico de programación creativa con Scratch en contextos educativos (2018) Sprystate 3 119 02-08-2018, 09:03 AM
Último mensaje: ArtuGar
  [Tutorial] Curso de PSD a HTML a WP habacuc78 14 1,013 31-08-2016, 09:33 PM
Último mensaje: ServiRemate
  Curso básico de introducción a la programación Posits 1 479 04-08-2016, 02:48 AM
Último mensaje: antony_tj
  [Aporte] Curso básico de Javascript habacuc78 22 1,559 05-07-2016, 03:53 PM
Último mensaje: escuelasegura
  [Aporte] Curso completo Bootstrap habacuc78 10 919 06-02-2016, 04:50 AM
Último mensaje: habacuc78
  [PHP] Ejemplo de Sesiones torgar22 0 201 28-02-2015, 02:22 PM
Último mensaje: torgar22
  [PHP] Ejemplo de Multiplicación torgar22 0 244 26-12-2014, 02:17 PM
Último mensaje: torgar22
  Curso C++: Ejemplo 1 Samo30 2 629 27-06-2014, 01:42 AM
Último mensaje: Samo30
  Curso C++: 6.- Estructuras cíclicas, while, do while y for Samo30 0 2,334 16-06-2014, 01:28 AM
Último mensaje: Samo30
  Curso C++: 5.- Estructuras de selección if y switch Samo30 5 722 11-06-2014, 08:48 PM
Último mensaje: MPH



Usuarios navegando en este tema: 1 invitado(s)