01/02/2015, 00:14
|
Usuario no validado | | Fecha de Ingreso: noviembre-2008
Mensajes: 505
Antigüedad: 16 años Puntos: 5 | |
Respuesta: Problema con programa: estoy usando mal el char ó los IF, ELSE?
Código:
#include <stdio.h>
#include <stdlib.h>
/*
Tema: II. Estructuras de selección
La compañía que gestiona la autopista ha decidido cambiar las tarifas de peaje. Estas tarifas
dependen del tipo de vehículo (camión o automóvil) que desee utilizar la autopista, del número de
pasajeros que lleve y de la hora del día: en las horas de alta congestión los automóviles con tres
pasajeros o más no pagan peaje, los otros pagan 30 euros, los camiones pagan 50 euros; en las
horas menos congestionadas el peaje para los automóviles es de 25 euros y para los camiones es
de 30 euros independientemente del número de pasajeros. Escriba un programa que leyendo el
tipo de vehículo, si la hora es de alta congestión o no y el número de pasajeros, calcule la tarifa
que le debe cobrar a un vehículo.
Datos de entrada: Tipo de vehículo (Camión ó Automóvil), Número de pasajeros, Hora de alta congestión o no
Datos de salida: Tarifa a cobrar
*/
int main()
{
//Declaración de variables
char lcTipoVehiculo[10], lcHoraAlta[3];
int liNumeroPasajeros;
//Entrada de datos
printf("Ingrese tipo de veh%cculo (Cami%cn %c Autom%cvil): ", 161, 162, 162, 162);
scanf("%s", lcTipoVehiculo);
printf("N%cmero de pasajeros: ", 163);
scanf("%d", &liNumeroPasajeros);
printf("Hora de alta congesti%cn (Si %c No): ", 162, 162);
scanf("%s", lcHoraAlta);
//Procesamiento
if (lcHoraAlta == 'SI' || lcHoraAlta == 'si' && lcTipoVehiculo == 'AUTOMOVIL' || lcTipoVehiculo == 'automovil' && liNumeroPasajeros >= 3)
{
printf("\nN%c paga peaje.\n", 162);
return 0;
}
else if (lcHoraAlta == 'SI' || lcHoraAlta == 'si' && lcTipoVehiculo == 'AUTOMOVIL' || lcTipoVehiculo == 'automovil' && liNumeroPasajeros < 3)
{
printf("\nTarifa: EUR$30.\n");
return 0;
}
//Salida de datos
return 0;
}
hola hermano, pasa lo mismo con este programa.
No se léen las condiciones, simplemente ingresas los datos y el programa se detiene.
No sé que pasa con la lectura de cadenas. |