Te faltan varios parentesis ahí, creo que lo que quieres decir es:
Código C++:
Ver originalif (((lcHoraAlta == "SI") || (lcHoraAlta == "si") )&& ((lcTipoVehiculo == "AUTOMOVIL") || (lcTipoVehiculo == "automovil")) && (liNumeroPasajeros >= 3))
De todas formas, ese if me parece muy complicado y que puede optimizarse:
- Pasando los strings a mayúsculas antes del if te evitas hacer dos comparaciones.
- Si la única diferencia entre esos dos ifs es el número de pasajeros, puedes hacer un if anidado.
Código C++:
Ver original#include <algorithm>
//...
transform
(lcHoraAlta.
begin(),lcHoraAlta.
end(),::toupper); // pasar horaAlta a mayusculatransform
(lcTipoVehiculo.
begin(),lcTipoVehiculo.
end(),::toupper); // pasar lcTipoVehiculo a mayuscula
if (lcHoraAlta == "SI" && lcTipoVehiculo == "AUTOMOVIL")
{
if (liNumeroPasajeros >= 3)
{
printf("\nN%c paga peaje.\n", 162); }
else
{
printf("\nTarifa: EUR$30.\n"); }
}
Si no puedes usar la función transform, puedes hacerte tu propia función que pase un string a mayúsculas (no es díficil, es hacer un for que recorra el string y que vaya aplicando el método toupper() a cada caracter).