Advertisement
crispm50

ejemploParcialMeto_ordenacion_cristianballesteros

Sep 21st, 2017
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pascal 4.50 KB | None | 0 0
  1. Program trabajo;
  2. uses crt;
  3. Type
  4.   rcelular=record
  5.     codigo:integer;
  6.     marca:string [20];
  7.     modelo:string [15];
  8.     precio:real;
  9.     procesador:string [20];
  10.     camaraPrincipal:integer;
  11.     camaraFrontal:integer;
  12.     display:real;
  13.     memoriaInterna:integer;
  14.     memoriaExtMax:integer;
  15.     sistemaOperativo:string [20];    //android_iOS_ symbian_windows phone_blackberry os_firefox os
  16.     bateria:integer; //amperes
  17.     estado:string; //stock o vendido
  18.   end;
  19.  vcelular=array [1..100] of rcelular;
  20. var
  21.  v:vcelular;
  22.  n,opc:integer;
  23.  //tp 5) 1,3,4,7,9                 tp 6) ejer1 y ejerc3 c_e_           tp7) ejerc1; ejerc3 a,c,e;
  24. Procedure Menu (var opc:integer);
  25. begin
  26.    textcolor(white);
  27.    WriteLn('INICIO DEL PROGRAMA');
  28.    WriteLn('1_ Cargar de celulares');
  29.    WriteLn('2_ Muestra por precio segun la marca');
  30.    WriteLn('3_ Busqueda por numero de serie');
  31.    WriteLn('4_ Mostrar los equipos cuyo precio se encuentre dentro de un intervalo');
  32.    WriteLn('5_ Venta de un equipo');
  33.    WriteLn('6_ Salir');
  34.    WriteLn ('Ingrese el numero deseado: '); read(opc);
  35. end;
  36. Procedure LeerRegistro (var r:rcelular);
  37. begin
  38.   with r do
  39.     begin
  40.       WriteLn ('Ingrese el codigo del equipo: '); readln(codigo);
  41.       WriteLn ('Ingrese la marca del equipo: '); readln(marca);
  42.       WriteLn ('Ingrese el modelo del equipo: '); readln(modelo);
  43.       WriteLn ('Ingrese el precio del equipo: '); readln(precio);
  44.       WriteLn ('Ingrese el procesador del equipo: '); readln(procesador);
  45.       WriteLn ('Ingrese la resolucion de camara principal del equipo: '); readln(camaraPrincipal);
  46.       WriteLn ('Ingrese la resolucion de la camara frontal del equipo: '); readln(camaraFrontal);
  47.       WriteLn ('Ingrese el tamaño de display del equipo: '); readln(display);
  48.       WriteLn ('Ingrese la memoria de interna del equipo: '); readln(memoriaInterna);
  49.       WriteLn ('Ingrese la memoria externa del equipo: '); readln(memoriaExtMax);
  50.       WriteLn ('Ingrese el sistema operativo del equipo: '); readln(sistemaOperativo);
  51.       WriteLn ('Ingrese la capacidad de bateria del equipo: '); readln(bateria);
  52.       WriteLn ('Ingrese el estado del equipo: '); readln(estado);
  53.     end;
  54. end;
  55. Procedure CargarVector (var v:vcelular; var n:integer);
  56. var
  57.   i:integer;
  58. begin
  59.   WriteLn ('Carga de Celulares..!');
  60.   WriteLn ('Ingrese el la cantidad de celulares que desea ingresar: '); read(n);
  61.   for i:=1 to n do
  62.      LeerRegistro(v[i]);
  63. end;
  64.  
  65. Procedure MostrarRegistro (r:rcelular);
  66. begin
  67.    with r do
  68.    begin
  69.       WriteLn ('Codigo: ',codigo);
  70.       WriteLn ('Marca: ',marca);
  71.       WriteLn ('Modelo: ',modelo);
  72.       WriteLn ('Precio: ',precio:0:2);
  73.       WriteLn ('Procesador: ',procesador);
  74.       WriteLn ('Camara Principal: ',camaraPrincipal);
  75.       WriteLn ('Camara Frontal: ',camaraFrontal);
  76.       WriteLn ('Display: ',display);
  77.       WriteLn ('Memoria Interna: ',memoriaInterna);
  78.       WriteLn ('Memoria Externa Maxima: ',memoriaExtMax);
  79.       WriteLn ('Sistema Operativo: ',sistemaOperativo);
  80.       WriteLn ('Bateria: ',bateria);
  81.       WriteLn ('Estado: ',estado);
  82.    end;
  83. end;
  84. Procedure MostrarVector (v:vcelular; n:integer);
  85. var
  86.   i:integer;
  87. begin
  88.   for i:=1 to n do
  89.          MostrarRegistro (v[i]);
  90.   Readkey;
  91. end;
  92. // Buscar un equipo por su número de serie.
  93. Function buscarNserie(v:vcelular; n: integer; C: integer): integer;
  94. var
  95. i: integer;
  96. posicion: integer;
  97. begin
  98.   posicion := 0;
  99.      for i := 1 to n do
  100.          if(v[i].codigo = C)then
  101.             posicion := i;
  102. buscarNserie := posicion;
  103. end;
  104. Procedure Buscar(v:vcelular; n: integer);
  105. var
  106. C, posicion: integer;
  107. begin
  108. WriteLn('Ingrese serie del equipo: ');
  109. ReadLn(C);
  110. posicion := buscarNserie(v,n,C);
  111. if (posicion = 0) then
  112.     WriteLn('El numero de serie ingresado NO existe...')
  113. else
  114.     MostrarRegistro (v[posicion]);
  115. Readkey;
  116. end;
  117. {Vender un equipo. Consiste en cambiar el estado de “En Stock” a “Vendido” y sólo podrá
  118. realizarse en caso de que el equipo este en stock, en caso contrario debe mostrarse un mensaje de error.}
  119.  
  120. Procedure Estado ();
  121. Var
  122.  
  123. Begin
  124.     WriteLn ('INGRESE EL NUMERO DE SERIE DEL EQUIPO');
  125.     ReadLn (rcelular.codigo);
  126.  
  127.  
  128. End;
  129.  
  130. Procedure Salir ;
  131. begin
  132.    WriteLn;
  133.    WriteLn;
  134.    WriteLn ('  Hasta luego..!');
  135.    delay (1000);
  136. end;
  137.  
  138. begin
  139.    clrscr;
  140.    repeat
  141.        Menu (opc);
  142.       case opc of
  143.         1:CargarVector (v,n);
  144.         2:MostrarVector (v,n);
  145.                 3:Buscar(v,n);
  146.                 6:Salir;
  147.       end;
  148.   until opc=6;
  149. end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement