Advertisement
Guest User

Untitled

a guest
Dec 13th, 2019
105
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.74 KB | None | 0 0
  1. PROCEDURE Comprar(VAR DatosUsuario:tUsuario;VAR DatosProducto:tproducto;VAR DatosVenta);{se toma al usuario correcto,pero se siguen usando la forma mas amplia de productos y ventas}
  2. BEGIN
  3. {Ahora mostramos todos los productos que la maquina puede ofrecer al usuario }
  4. writeln (' ');
  5. Mostrar_Productos_Disponibles (TablaProductos);
  6. { Ahora se pide al usuario el nombre del producto que quiere comprar }
  7. EncProducto := FALSE;
  8. REPEAT
  9. writeln ('Teclee el nombre del producto a comprar:');
  10. readln (NomProdAComprar);
  11. Localizar_Producto (NomProdAComprar, TablaProductos,DatosProducto,EncProducto);
  12. IF NOT EncProducto THEN
  13. BEGIN
  14. writeln ('No hay ning?n producto con ese nombre');
  15. END
  16. UNTIL
  17. EncProducto;
  18. { Ya se ha encontrado el producto }
  19. writeln ('Compraras ', DatosProducto.nombre, ' ', DatosProducto.marca, ' ');
  20. { Se comprueba si el usuario tiene saldo }
  21. IF DatosUsuario.saldo >= DatosProducto.precio THEN
  22. BEGIN
  23. writeln ('Se te descontar? del saldo de tu tarjeta ', DatosProducto.precio:5:2);
  24. { Se actualiza el saldo de la tarjeta del usuario }
  25. DatosUsuario.saldo := DatosUsuario.saldo - DatosProducto.precio;
  26. { Ahora se llama al PROC que actualiza el array con el nuevo saldo }
  27. Actualizar_Saldo_Usuario (DatosUsuario, TablaUsuarios);
  28. { Se resta 1 al stock del producto }
  29. DatosProducto.stock := DatosProducto.stock - 1;
  30. { Ahora se llama al PROC que actualiza el array con el nuevo stock }
  31. Actualizar_Stock (DatosProducto, TablaProductos);
  32. { Ahora se llama al PROC que actualiza el array de Ventas con la nueva venta realizada }
  33. Acumular_Venta (DatosUsuario, DatosProducto, TablaVentas);
  34. END
  35. ELSE
  36. BEGIN
  37. writeln (' No tiene saldo para dicha compra ');
  38. END;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement