Foros aprenderaprogramar.com
Aprender a programar => C, C++, C#, Java, Visual Basic, HTML, PHP, CSS, Javascript, Ajax, Joomla, MySql y más => Mensaje iniciado por: zadok en 02 de Marzo 2015, 15:26
-
Buenas, estoy haciendo un programa para el trabajo, el cual al introducir el número del camión, te devuelva todos los demás datos. Hasta este paso lo tengo bien y consigo lo que quiero con este código.
program portas;
var
numporta: real;
begin
writeln('Escribe el numero del porta');
readln(numporta);
writeln;
writeln;
writeln ('=============================');
//Portavehiculos 000
if (numporta = 000)
then
begin
writeln('Nombre conductor');
writeln('Portavehiculos 000');
writeln('Matricula: 000-XYZ');
writeln('EXT:00000');
writeln('Movil: 000000000');
writeln ('=============================');
end
//Portavehiculos 001
if (numporta = 001)
then
begin
writeln('Nombre conductor');
writeln('Portavehiculos 001');
writeln('Matricula: 000-XYZ');
writeln('EXT:00000');
writeln('Movil: 000000000');
writeln ('=============================');
end
else writeln('No es un numero de porta valido');
writeln;
writeln;
writeln('Pulsa ENTER para salir');
readln
end.
De ese modo tengo metidos todos los camiones y me devuelve justo lo que necesito, ahorrando mucho tiempo y siendo mucho más cómodo que tener que buscar en un papelito.
El problema es cuando quiero dar una vuelta más y quiero poder buscar esos mismos vehículos por matrícula. Lo primero que pensé es que tendría que modificar el tipo de variable y hice esto:
[code]
program portas;
var
numporta: string;
begin
writeln('Escribe el numero del porta');
readln(numporta);
writeln;
writeln;
writeln ('=============================');
//Portavehiculos 000
if (numporta = 000 or 000XYZ)
then
begin
writeln('Nombre conductor');
writeln('Portavehiculos 000');
writeln('Matricula: 000-XYZ');
writeln('EXT:00000');
writeln('Movil: 000000000');
writeln ('=============================');
end
//Portavehiculos 001
if (numporta = 001 or 000XYZ)
then
begin
writeln('Nombre conductor');
writeln('Portavehiculos 001');
writeln('Matricula: 000-XYZ');
writeln('EXT:00000');
writeln('Movil: 000000000');
writeln ('=============================');
end
else writeln('No es un numero de porta valido');
writeln;
writeln;
writeln('Pulsa ENTER para salir');
readln
end.
Pero no estará bien definida la variable porque me saltan errores por todos lados. A ver si alguien me puede ayudar.
Un saludo
-
Hola tienes que tener en cuenta las diferencias entre tipos numéricos como real y tipos alfanuméricos como String. Un tipo numérico toma valor sin necesidad de comillas, por ejemplo vehiculos = 33;
Sin embargo un tipo alfanumérico hay que envolverlo en comillas: por ejemplo veciculos ='33 modelo hht';
Puedes realizar comparaciones con Strings, pero siempre tendrás que envolverlos en comillas
program String1;
var
saludo: string;
begin
saludo := 'Bienvenidos';
writeLn( saludo );
end.
Ejemplos de comparaciones entre Strings:
'A' < 'B' TRUE
'Z' < 'a' TRUE
'a' < 'B' FALSE
'TURBO' ='TURBO' TRUE
'TURBO' = 'Turbo' FALSE
'turbo ' = 'turbo' FALSE
'turbo ' > 'turbo' TRUE
Saludos
-
Gracias por responder, voy a tratar de integrarlo en el programa a ver que tal.
Un saludo
edit: el comando 'or' no sirve para las variables string?
ejemplo:
var ejemplo:string;
begin
writeln (introduce un vehiculo);
readln (ejemplo);
if (ejemplo= ('056') or ('2589JHZ'))
then begin
writeln ('esta viendo el vehiculo 056 con matricula 258JHZ');
else
writeln ('ese vehiculo no esta en nuestra base de datos');
end.
Me autorespondo por si a alguien le pasa jeje
if (ejemplo=('056')) or (ejemplo = ('2589JHZ'))