Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Mensajes - zadok

Páginas: [1]
2
Aquí va:

Código: [Seleccionar]
program portas;
USES Crt;

var
rbusqueda: char;
numporta: string;

begin

rbusqueda := 'S';

WHILE (rbusqueda = ('S')) DO

begin

writeln ('Escribe el numero del porta, matricula o nombre del conductor (mayuscula)...');
writeln ('');
readln(numporta);


//Portavehiculos 001
if (numporta = ('001')) or (numporta = ('0000XXX')) or (numporta = ('NOMBRE1'))
   then
   begin
        writeln('NOMBRE1');
        writeln('Portavehiculos 001');
        writeln('Matricula: 0000-XXX');
        writeln('EXT:00001');
        writeln('Movil: 666666666');
        writeln ('=============================');
   end

//Portavehiculos 002
else if (numporta = ('002')) or (numporta = ('0000ZZZ')) or (numporta = ('NOMBRE2'))
   then
   begin
        writeln('NOMBRE2');
        writeln('Portavehiculos 002');
        writeln('Matricula: 0000-ZZZ');
        writeln('EXT:00002');
        writeln('Movil: 666666667');
        writeln ('=============================');
   end


//Portavehiculos 003
else if (numporta = ('003')) or (numporta = ('0000VVV')) or (numporta = ('NOMBRE3'))
   then
   begin
        writeln('NOMBRE3');
        writeln('Portavehiculos 003');
        writeln('Matricula: 0000-VVV');
        writeln('EXT:00003');
        writeln('Movil: 666666668');
        writeln ('=============================');
   end

else writeln('No es un numero de porta valido');

     writeln;
     writeln ('¿Quiere realizar otra busqueda? (S/N)');
     writeln ('');
     readln(rbusqueda);
     end;



end.




Justo despues de while...do, va un begin, sino lo que hace es repetir la siguiente linea infinidad de veces ;)

3
Llego al mismo punto que otras veces, al introducir el buble while..do me repite la siguiente linea infinidad de veces, pero no ejecuta el resto del código...


Edit: Solucionado, muchas gracias por tu ayuda, al final resultó que me faltaba un begin...

4
No consigo hacerlo y lo he intentado de muchas maneras, como me dijiste y de otras muchas que vi por internet, en algo fallo... pongo el ejemplo de mi programa que será más práctico que hacer suposiciones jeje

Código: [Seleccionar]
program portas;
USES Crt;

var
numporta: string;

begin
writeln ('Escribe el numero del porta, matricula o nombre del conductor (mayuscula)...');
writeln ('');
readln(numporta);


//Portavehiculos 001
if (numporta = ('001')) or (numporta = ('0000XXX')) or (numporta = ('NOMBRE1'))
   then
   begin
        writeln('NOMBRE1');
        writeln('Portavehiculos 001');
        writeln('Matricula: 0000-XXX');
        writeln('EXT:00001');
        writeln('Movil: 666666666');
        writeln ('=============================');
   end

//Portavehiculos 002
else if (numporta = ('002')) or (numporta = ('0000ZZZ')) or (numporta = ('NOMBRE2'))
   then
   begin
        writeln('NOMBRE2');
        writeln('Portavehiculos 002');
        writeln('Matricula: 0000-ZZZ');
        writeln('EXT:00002');
        writeln('Movil: 666666667');
        writeln ('=============================');
   end


//Portavehiculos 003
else if (numporta = ('003')) or (numporta = ('0000VVV')) or (numporta = ('NOMBRE3'))
   then
   begin
        writeln('NOMBRE3');
        writeln('Portavehiculos 003');
        writeln('Matricula: 0000-VVV');
        writeln('EXT:00003');
        writeln('Movil: 666666668');
        writeln ('=============================');
   end

writeln;
   writeln;
   writeln('Pulsa ENTER para salir');
   readln
end.


En ese caso, como hago que al llegar al final, si deseamos volver a realizar una búsqueda, reinicie todo?


Gracias!

5
Hola otra vez, como no cuanto más quiere hacer uno más dudas y más problemas surgen, el caso es que cuando ejecuto el programa, al final se acaba cerrando.

¿Cómo hago para que se reinicie?

Ejemplo

Código: [Seleccionar]
writeln;
   writeln;
   writeln('Pulsa ENTER para salir');
   readln
end.

Como hago para que llegados a ese punto, el programa de la opción de salir o reiniciarlo, he probado con:

Código: [Seleccionar]
program portas;

USES Crt;

var
numporta: string;
dec: char;

Procedure inicio ;
begin

.....
.....
     writeln;
     writeln;
     writeln ('Continuar? (S/N)') ;
     readln (dec);
     if (dec = ('S'))
     then begin inicio;
     else
end.

6
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:
Código: [Seleccionar]
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

Código: [Seleccionar]
if (ejemplo=('056')) or (ejemplo = ('2589JHZ'))

7
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.

Código: [Seleccionar]
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:

Código: [Seleccionar]
[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

Páginas: [1]

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".