Hola, te comento varias cosas, empezando por las más generales.
-Debes decorar el código para que sea más legible para los que leemos en el foro. Además de ser una norma, un texto poco legible hará que mucha gente no se pare a ver tu problema, por lo que reduces las posibilidades de encontrar una respuesta. Para hacerlo tienes un desplegable sobre la esquina superior derecha de esta caja de texto, donde pone
Highlight. Allí eliges C++
-Luego te comento algún error de tu programa....no has encerrado entre llaves el bloque
else, por lo que no te va a funcionar bien.
-Sobre este mismo bloque, te aconsejo que todo lo que sea repetido lo saques de la secuencia if/else. Es menos propenso a errores, no duplicas nada y es más lógico.
Así que en este bloque:
Código C++:
Ver originalif (puesto == administrativo)
{
cout << "Ingrese el monto total de deuda con la empresa, si tiene";
cin >> deuda;
sueldo = (56000 * dias) - deuda;
cout << "El total a pagar es: ";
}
y este otro (cuando lo encierres entre llaves):
Código C++:
Ver originalelse
cout << "Ingrese el monto total de deuda con la empresa, si tiene";
cin >> deuda;
sueldo = (48000 * dias) - deuda;
cout << "El total a pagar es: ";
Lo relevante es si multiplico por 56000 o por 48000. El resto de sentencias no forma parte de esa decisión.
Así que es mejor esto:
Código C++:
Ver originalcout << "Ingrese el monto total de deuda con la empresa, si tiene";
cin >> deuda;
if (puesto == administrativo) {
sueldo = (56000 * dias) - deuda;
}
else
{
sueldo = (48000 * dias) - deuda;
}
cout << "El total a pagar es: ";
Por cierto que desués de sacar por consola la cadena "El total a pagar" has de sacar la variable
sueldo, para que se lea correctamente.
- Y por fin, la duda que no te deja seguir.....has definido
puesto y
administrativo como
char, y has igualado
administrativo a 0.
Eso quiere decir que has asignado a administrativo el caracter nulo (mira una tabla ascii), por lo que tenga el valor que tenga la variable
puesto no será nula, ya que lee una entrada del teclado.
Puedes hacer dos cosas, convertir esas variables a
int, y asumir que el valor numérico 0 corresponde a "administrativo", o darle un valor de char a "administrativo", de forma que lo puedes igualar a 'a', ó 'A', o incluso '0'. Fíjate en las comillas simples para definir un caracter char.
¡Saludos y espero que te sirva de ayuda!