
Problemas usando char o leyendo cadenas en C
Publicado por Robert (8 intervenciones) el 01/02/2015 07:30:35
Hola,
El problema es que al ingresar los datos, el programa se detiene y no comienza a leer ninguna condicion.
Tengo problemas usando char, con el %s y el %c. No entiendo bien la diferencia y también con: char lcTipoVehiculo[10], lcHoraAlta[3];, no sé exactamente que número debo poner.
Espero puedan ayudarme con esto, quiero aclarar mis dudas usando char.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#include <stdio.h>
#include <stdlib.h>
/*
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);
}
else if (lcHoraAlta == 'SI' || lcHoraAlta == 'si' && lcTipoVehiculo == 'AUTOMOVIL' || lcTipoVehiculo == 'automovil' && liNumeroPasajeros < 3)
{
printf("\nTarifa: EUR$30.\n");
}
//Salida de datos
return 0;
}
El problema es que al ingresar los datos, el programa se detiene y no comienza a leer ninguna condicion.
Tengo problemas usando char, con el %s y el %c. No entiendo bien la diferencia y también con: char lcTipoVehiculo[10], lcHoraAlta[3];, no sé exactamente que número debo poner.
Espero puedan ayudarme con esto, quiero aclarar mis dudas usando char.
Valora esta pregunta


0