Dev - C++ - ayuda por favor

 
Vista:

ayuda por favor

Publicado por edgar (8 intervenciones) el 07/02/2023 19:27:51
Una farmacia tiene 3 turnos A,B,C los empleados que estan en el turno A el pago por hora es de 200 y trabajan 40 horas a la semana, turno B el pago por hora es de 300 trabajan 40 horas a la semana, turno C el pago por hora es de 380 y trabajan 40 horas a la semana, Sin importar el turno se cobra el seguro que es de 2%. Al final debe mostrar a cada usuario el subtotal, deducciones y total a pagar con su respectivo nombre. el programa mostrara un menu solicitdando el turno y funcionara hasta que el usuario indique que ya no desae continuar. muestra al final un reporte de cuantos consultaron de turno a, b y c al igual dinero pagado por turno y un general de personas que consultaron y el total de dinero pagado.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

ayuda por favor

Publicado por vago (2 intervenciones) el 07/02/2023 19:38:46
Haga la tarea vago, holgazán

Eso no es otra cosa que diseñar unas estructuras de decisión, le están probando su lógica.

Que pretende que sea otro el que trabaje por usted

Simplemente cree constantes para los respectivos pagos y comienza definiendo

si es Turno A entonces al pago = 40*200
Sino si es Turno B entonces al pago = 40*300
Sino
pago = 40*380

Al final aplicar descuento del 2% del seguro, independiente del tipo de turno
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

ayuda por favor

Publicado por edgar (8 intervenciones) el 07/02/2023 19:50:39
hola buen dia no pido que me hagan todo el ejercicio pero ahorita estoy viendo los while, do y no estoy tan familiarizado con el tema de ante mano gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

ayuda por favor

Publicado por vago (2 intervenciones) el 07/02/2023 20:49:33
Pero Edgar intenta armar algo, sino no aprenderás.

Haz algo así no quede pulido o bonito, que luego ya lo “enderezamos”.

Simplemente usted va a capturar por pantalla el nombre de quien ingresa y el turno así:

cout<<"Por favor ingresar Nombre: ";
cin >> nombre;
cout<<"Por favor ingresar turno en mayusucula: ";
cin >> turno;

Luego para todos los casos arma una estructura de control así:

if(turno == "A")
{
pago = 200*40;
contadorA = contadorA+1;
totalPagosA = totalPagosA+ pago;
}
else if(turno == "B")
……
…...

Al final se imprimen los acumuladores para visualizar que se pagó en cada turno y nombre y pago de quien ingresó
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

ayuda por favor

Publicado por edgar (8 intervenciones) el 07/02/2023 20:52:59
#include <iostream>

using namespace std;
int main()

{
int opcion=0, a=200, b=200, c=380, contaa=0, contab=0 ,contac=0, acumulaa=0, acumulab=0, acumulac=0, contat=0, acumulat=0 ;


while (opcion!=4)
{
cout<<"************Que turno solicitara**************"<<endl;

cout<<"a. Turno A Matutino"<<a<<endl;
cout<<"b. Turno B diurno"<<b<<endl;
cout<<"c. Turno C Nocturno"<<c<<endl;
cout<<"Salir"<<endl;
cout<<"Ingrese El Turno que desea"<<endl;
cin>>opcion;

switch(opcion)
{
case 1:
{
cout<<"Su turno es el Matutino "<<endl;
cout<<"Su pago es de "<<a<<endl;
acumulaa=(acumulaa+a)*2/100;
contaa++;
}
break;

case 2:
{
cout<<"Su turno es el Diurno "<<endl;
cout<<"Su pago es de "<<b<<endl;
acumulaa=(acumulab+b)*2/100;
contab++;
}
break;

case 3:
{
cout<<"Su turno es Nocturno "<<endl;
cout<<"Su pago es de "<<c<<endl;
acumulaa=(acumulac+c)*2/100;
contac++;
}
break;

case 4:
cout<<"Gracias"<<endl;

break;

default:
cout<<"Ingreso una opcion no valida"<<endl;
}




}


contat=contaa+contab+contac;
acumulat=acumulaa+acumulab+acumulac;

cout<<contaa<<" Elegieron el turno A "<<acumulaa<<" Turnos "<<endl;
cout<<contab<<" Elegieron el turno B "<<acumulab<<" Turnos "<<endl;
cout<<contac<<" Elegieron el turno C "<<acumulac<<" Turnos "<<endl;

cout<<contat<<" Total de personas que eligieron su turno "<<acumulat<<" Turnos "<<endl;





return 0;


}


mire asi lo estoy haciendo, pero se me hizo un ciclo sin fin
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

ayuda por favor

Publicado por hola (2 intervenciones) el 07/02/2023 22:53:49
Si ves que es mejor mostrar algo..

Por lo menos así, no se interpreta como que quieres que hagan la tarea por tí

Tú código se ve aparentemente bien, lo que pasa es que como no tiene un exit, entonces se te queda en un ciclo, lo que puedes hacer es un do while hasta que el usuario presione una opción cualquiera por ejemplo 4, algo así como esto:

do
{
Instrucciones
switch ( opcion )
{
case
------
}
} while ( opcion != 4 );

return 0;
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

ayuda por favor

Publicado por edgar (8 intervenciones) el 07/02/2023 23:02:37
#include <iostream>

using namespace std;
int main()

{
int opcion=0, a=200, b=200, c=380, contaa=0, contab=0 ,contac=0, acumulaa=0, acumulab=0, acumulac=0, contat=0, acumulat=0 ;


while (opcion!=4)
{
cout<<"************Que turno solicitara**************"<<endl;

cout<<"a. Turno A Matutino"<<a<<endl;
cout<<"b. Turno B diurno"<<b<<endl;
cout<<"c. Turno C Nocturno"<<c<<endl;
cout<<"Salir"<<endl;
cout<<"Ingrese El Turno que desea"<<endl;
cin>>opcion;

switch(opcion)
{
case 1:
{
cout<<"Su turno es el Matutino "<<endl;
cout<<"Su pago es de "<<a<<endl;
acumulaa=(acumulaa+a)*2/100;
contaa++;
}
break;

case 2:
{
cout<<"Su turno es el Diurno "<<endl;
cout<<"Su pago es de "<<b<<endl;
acumulaa=(acumulab+b)*2/100;
contab++;
}
break;

case 3:
{
cout<<"Su turno es Nocturno "<<endl;
cout<<"Su pago es de "<<c<<endl;
acumulaa=(acumulac+c)*2/100;
contac++;
}
break;

case 4:
cout<<"Gracias"<<endl;

break;

default:
cout<<"Ingreso una opcion no valida"<<endl;
}




}


contat=contaa+contab+contac;
acumulat=acumulaa+acumulab+acumulac;

cout<<contaa<<" Elegieron el turno A "<<acumulaa<<" Turnos "<<endl;
cout<<contab<<" Elegieron el turno B "<<acumulab<<" Turnos "<<endl;
cout<<contac<<" Elegieron el turno C "<<acumulac<<" Turnos "<<endl;

cout<<contat<<" Total de personas que eligieron su turno "<<acumulat<<" Turnos "<<endl;





return 0;


}

ahora solo me falta agregarle el nombre y el total a pagar
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

ayuda por favor

Publicado por hola (2 intervenciones) el 07/02/2023 23:12:45
Pues, ahí hay un error en el enunciado, porque se supone que un trabajador solo tiene un turno y no sé el tutor para que les pide un ciclo y luego muestre todo lo que se pagó por cada turno. A menos que se fuera a almacenar todo en algún lado, vectores, archivo plano o BD.

Pero en fin, de la misma forma como capturas el turno, igual lo haces con el nombre, define una variable como string y en ella almacena el nombre que ingresen por teclado, y lo de los pagos pues es simplemente dependiendo del turno multiplicas las 40 horas por 200, 300 y 380 para A, B y C respectivamente, y en todos los casos le aplicas el 2%
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar