problema con sumar una cantidad mayor a 5

Iniciado por gampra, 16 Mayo 2017, 05:11 AM

0 Miembros y 1 Visitante están viendo este tema.

gampra

Código (cpp) [Seleccionar]

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

void main(){
float cantidad =0, total=0, iva=0, subtotal=0, descuento=0;
char medida;

cout<<"Cuantos dias Trabajastes: \n";
cin>>cantidad;

cout<<"elige tu departamento:";
cout<<"\n R= RH";
cout<<"\nV=Ventas";
cout<<"\nI=Informativa\n";
cin>>medida;

switch (medida)
{
case 'R':
     subtotal = cantidad * 500.00;
         break;
case 'V':
     subtotal = cantidad * 250.00;
         break;
case 'I':
     subtotal = cantidad * 450.00;
         break;
default:
    cout<<"Opcion incorrecta" ;
}

if(cantidad >5){
descuento = subtotal * 0.25;
}else{
descuento=0;
subtotal = subtotal;
}

subtotal= subtotal + descuento;
iva = subtotal * .10; //10% deduccion ISR
total = subtotal - iva;
cout<<"El total a pagar es :\n" <<total;
getch();
}


Este es lo que quiero hacer

calcula el total de la nomina
de  un empleado

sueldo base=
dias trabajados?
departamento:

RH - 500.00
VENTAS-250.00
INFORMATIVA-450.00

Tiene bonos si
trabajo mas de 5 dias
Bono? 300.00
deduccion I- 10%



Entonces todo esta bien pero tengo problemas con el if que no me suma los 300 y si le cambio el *0.25 me sale mayor cantidad ayudaa!!
al memento de poner una cantidad 4 y 5 me da todo el resultado correcto pero al momento de poner el 6 el if tiene que sumar
300 el multiplo de 6*500 que seria = a 3000 entonces se resta el .10 queda en total 2700 pero hasta hay
me tiene que sumar 300 pero el if no me funciona ayudaa!!




· Los códigos deben ir en etiquetas GeSHi
· No se debe escribir en mayúsculas
· No hagas doble post, usa el boton de modificar
>aquí las reglas del foro
-Engel Lex

engel lex

no explicas el ejercicio, pero no veo el error logico... lo unico que veo es que hablas de bono de 300 pero en la linea 34 pusiste 25%... así que no se

eso si tienes un montón de errores...

- main debe ser int
- si estás programando en C++ una sus respectivas librerías, no es stdio.h, sino cstdio... por otro lado no usas nada de stdio
-main debe retornar 0 si todo fue bien
- si no quieres usar std:: debes usar "using namespace std" no usas nada

ese codigo no debe compilar (o por lo menos a mi no me compila sin corregir eso)
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

gampra

dejame te explico

Utilizo el programa borland por lo cual no requiere lo que me mencionas

ese .25 no quiero multiplarlo si no en vez de eso quitarlo
y que me sume los + 300 solo que no me los suma

engel lex

aunque el IDE agregue esas cosas, son malas practicas empezando por el void main (no es standard C++)

solo cambia la multiplicación por el 300 y listo, realmente no entiendo el problema :s


El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

kraiked

#4
Acabo de probar tú programa y funciona correctamente el caso que indicas que falla;

Introduzco días trabajados como 6, elijo la opción R, y el resultado es 3375.

No se, no vi nada extraño en tú código, simplemente lo que mencionaba engel lex.

Edit Bueno, para ejecutarlo tuve que modificar algunas cosas, que el compilador de g++ no me los pasaba. Pero vamos, que cambie lo que dijo engel lex.