Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Program ejemploParcial;
- uses crt;
- Type
- rcelular=record
- codigo:integer;
- marca:string [20];
- modelo:string [15];
- precio:real;
- procesador:string [20];
- camaraPrincipal:integer;
- camaraFrontal:integer;
- display:real;
- memoriaInterna:integer;
- memoriaExtMax:integer;
- sistemaOperativo:string [20]; //android_iOS_ symbian_windows phone_blackberry os_firefox os
- bateria:integer; //amperes
- estado:string; //stock o vendido
- end;
- vcelular=array [1..100] of rcelular;
- var
- v:vcelular;
- n,opc:integer;
- //tp 5) 1,3,4,7,9 tp 6) ejer1 y ejerc3 c_e_ tp7) ejerc1; ejerc3 a,c,e;
- Procedure Menu (var opc:integer);
- begin
- textcolor(white);
- WriteLn('INICIO DEL PROGRAMA');
- WriteLn('1_ Cargar de celulares');
- WriteLn('2_ Muestra por precio segun la marca');
- WriteLn('3_ Busqueda por numero de serie');
- WriteLn('4_ Mostrar los equipos cuyo precio se encuentre dentro de un intervalo');
- WriteLn('5_ Venta de un equipo');
- WriteLn('6_ Salir');
- WriteLn ('Ingrese el numero deseado: '); read(opc);
- end;
- Procedure LeerRegistro (var r:rcelular);
- begin
- with r do
- begin
- WriteLn ('Ingrese el codigo del equipo: '); readln(codigo);
- WriteLn ('Ingrese la marca del equipo: '); readln(marca);
- WriteLn ('Ingrese el modelo del equipo: '); readln(modelo);
- WriteLn ('Ingrese el precio del equipo: '); readln(precio);
- WriteLn ('Ingrese el procesador del equipo: '); readln(procesador);
- WriteLn ('Ingrese la resolucion de camara principal del equipo: '); readln(camaraPrincipal);
- WriteLn ('Ingrese la resolucion de la camara frontal del equipo: '); readln(camaraFrontal);
- WriteLn ('Ingrese el tamaño de display del equipo: '); readln(display);
- WriteLn ('Ingrese la memoria de interna del equipo: '); readln(memoriaInterna);
- WriteLn ('Ingrese la memoria externa del equipo: '); readln(memoriaExtMax);
- WriteLn ('Ingrese el sistema operativo del equipo: '); readln(sistemaOperativo);
- WriteLn ('Ingrese la capacidad de bateria del equipo: '); readln(bateria);
- WriteLn ('Ingrese el estado del equipo: '); readln(estado);
- end;
- end;
- Procedure CargarVector (var v:vcelular; var n:integer);
- var
- i:integer;
- begin
- WriteLn ('Carga de Celulares..!');
- WriteLn ('Ingrese el la cantidad de celulares que desea ingresar: '); read(n);
- for i:=1 to n do
- LeerRegistro(v[i]);
- end;
- Procedure MostrarRegistro (r:rcelular);
- begin
- with r do
- begin
- WriteLn ('Codigo: ',codigo);
- WriteLn ('Marca: ',marca);
- WriteLn ('Modelo: ',modelo);
- WriteLn ('Precio: ',precio:0:2);
- WriteLn ('Procesador: ',procesador);
- WriteLn ('Camara Principal: ',camaraPrincipal);
- WriteLn ('Camara Frontal: ',camaraFrontal);
- WriteLn ('Display: ',display);
- WriteLn ('Memoria Interna: ',memoriaInterna);
- WriteLn ('Memoria Externa Maxima: ',memoriaExtMax);
- WriteLn ('Sistema Operativo: ',sistemaOperativo);
- WriteLn ('Bateria: ',bateria);
- WriteLn ('Estado: ',estado);
- end;
- end;
- Procedure MostrarVector (v:vcelular; n:integer);
- var
- i:integer;
- begin
- for i:=1 to n do
- MostrarRegistro (v[i]);
- Readkey;
- end;
- // Buscar un equipo por su número de serie.
- Function buscarNserie(v:vcelular; n: integer; C: integer): integer;
- var
- i: integer;
- posicion: integer;
- begin
- posicion := 0;
- for i := 1 to n do
- if(v[i].codigo = C)then
- posicion := i;
- buscarNserie := posicion;
- end;
- Procedure Buscar(v:vcelular; n: integer);
- var
- C, posicion: integer;
- begin
- WriteLn('Ingrese serie del equipo: ');
- ReadLn(C);
- posicion := buscarNserie(v,n,C);
- if (posicion = 0) then
- WriteLn('El numero de serie ingresado NO existe...')
- else
- MostrarRegistro (v[posicion]);
- Readkey;
- end;
- {Vender un equipo. Consiste en cambiar el estado de “En Stock” a “Vendido” y sólo podrá
- realizarse en caso de que el equipo este en stock, en caso contrario debe mostrarse un mensaje de error.}
- Procedure Estado ();
- Var
- Begin
- WriteLn ('INGRESE EL NUMERO DE SERIE DEL EQUIPO');
- ReadLn (rcelular.codigo);
- End;
- Procedure Salir ;
- begin
- WriteLn;
- WriteLn;
- WriteLn (' Hasta luego..!');
- delay (1000);
- end;
- begin
- clrscr;
- repeat
- Menu (opc);
- case opc of
- 1:CargarVector (v,n);
- 2:MostrarVector (v,n);
- 3:Buscar(v,n);
- 6:Salir;
- end;
- until opc=6;
- end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement