Hola:
El problema es que has definido la variable
puesto como
int y seguramente le estés dando un valor por teclado diferente de un número, para compararla con
administrativo.
Define
puesto como
char
Y si, la verdad es que es buena práctica inicializar las variables a algún valor. Incluso cuando van a ser calculadas más adelante es recomendable darles un valor inicial.
Y al final mira que vuelves a pedir sueldo, cuando ese valor ya viene calculado de antes.
Debería ser:
Código C++:
Ver originalcout << "El total a pagar es: " << sueldo<<endl;
Sobre lo de definir las variables como char[] es factible, pero recuerda que entonces no puedes comparar una cadena con otra mediante el operador "==", sino que has de usar la función
strcmp que compara una cadena de chars con otra.
O que uses la clase string, en cuyo caso sí existe ese operador para comparar dos strings.