Skip to content
Aitana-C edited this page May 22, 2020 · 22 revisions

Nuestro proyecto ha consistido en formar una página web de compra y venta de productos químicos en la que hay dos rutas donde por un lado pueden acceder los clientes y por otro lado los operadores, los cuales se encargarán de gestionar dicha web, llamada "EtsidiChemistLab".

Inicialmente, hemos creado una serie de estructuras las cuales tienen incorporados las siguientes parámetros para su uso posterior:

  • La estructura Registro con la estructura TFecha en su contenido será usada para que el usuario, tanto operador como cliente, inserte la fecha de nacimiento de manera correcta.
  • La estructura TProducto será usada para almacenar los nombres, cantidades, y precios de los productos de nuestra tienda virtual. Además, hemos considerado necesaria la realización de tres funciones, para el registro de los clientes, de los operadores, y, en el caso de los primeros, los productos, para que se pueda acceder a su compra.

FUNCIONES

int registroCliente(struct Registro cliente, int dimension)

int registroOperador(struct Registro operador, int dimension)

int compraProducto (struct TProducto pedido[], int dimension)

Podemos observar lo anteriormente comentado en la siguiente imagen: 1

FUNCIÓN PRINCIPAL El cuerpo de la función principal (int main) va a contener una serie de variables importantes:

  1. El tipo de usuario que corresponda
  2. La opción (en cuanto accedemos a la web nos pregunta qué queremos hacer).
  3. Una serie de ficheros, en los que hemos almacenado cada producto en uno diferente con sus correspondientes características (fórmula, concentración, volumen, precio, etc).
  4. Un vector de estructuras denonimado pedido con una dimensión de 5 correspondiente a cada producto de la tienda, declarado así:

struct TProducto pedido[5] = {{"AB", 10, 30}, {"BC", 20, 53}, {"CD", 30, 27}, {"DE", 40, 33}, {"EF", 50, 86}}

Nada más acceder a la web, se le pregunta al usuario que desea realizar. Les da la posibilidad de elegir entre registrarse, consultar el stock y comprar.

2

Si elegimos la primera opción, nos pedirá identificarnos como operador o cliente. En el caso de identificarse como operador, se le pedirá una clave de acceso asignada previamente por la empresa. Una vez que esta haya sido introducida correctamente se procede a seguir con los siguientes pasos de la página web. En caso de introducirla incorrectamente, se le pedirá nuevamente.

3 9 Una vez introducida y aceptada, se proseguirá a pedir los datos por pantalla del operador para su registro en el fichero asignado.

10

Si elegimos consultar el Stock, se nos mostrará el listado de productos disponibles en nuestra tienda y se nos dará la posibilidad de comprarlo en caso de acceder como cliente y para ello se requerirá registro si no se ha hecho previamente. A partir de este momento, se accederá a los productos disponibles donde el usuario escogerá el que prefiere para visualizar su descripción. En caso de querer acceder a su compra y observando los códigos pertenecientes a cada uno, indicados por pantalla, se le enviará a la venta donde se le pedirá registrarse para que posteriormente seleccione el producto y la cantidad que desea. Finalmente, se le calculará la factura total.

4 6 7 En caso de querer continuar comprando, el usuario podrá indicarlo y proseguir con su compra. 8

Como podemos observar en las imagenes anteriores, la codificación de los distintos productos facilita la ejecución del portal virtual. La cantidad del stock está inicializada en el vector de estructuras pedido anteriormente mostrado.

En la función compraProductose introduce una cadena correspondiente al código de un producto buscado, la cual si coincide con el vector de estructuras anterior, comunica si queda stock o si no hay suficiente. En el caso de no haber stock suficiente, a parte de comunicarlo, vuelve a solicitar elegir un producto.

Cada compuesto tiene un código, si se introduce correctamente nos da información, si no, se repite la cadena hasta que estas coincidan.

Los códigos asignados por la empresa a cada producto son los siguientes:

AB- Ácido Clorhídrico

BC- Hidróxido de Sodio

CD- Ácido Sulfúrico

DE- Ácido Nítrico

EF- Ácido Fosfórico

Por último, la opción de compra permite acceder a su venta y nuevamente requerirá previo registro. A partir de este momento, se repetirá el proceso descrito anteriormente. El usuario accederá al menú de compra.

5

A partir de aquí, en nuestro programa utilizamos un switch case con las tres opciones mencionadas anteriormente, es decir, registro, acceso, salida o compra en el caso de acceder como cliente. Dentro de cada caso, invocamos a la función correspondiente (las explicadas en la parte superior de esta wiki). Si el usuario elige la opción de registro, el main llama a la función regristroCliente o registroOperador (según se haya seleccionado previamente). Donde se le pedirá sus datos para guardarlos en el fichero creado. Mostrando por pantalla en caso del operador un mensaje tal como el siguiente:

10 En el caso de ser cliente: 11

En int registroCliente, solicita por pantalla los datos personales del cliente, los cuales se van almacenando en un fichero, y cada vez que se cierre y se abra el programa, y un nuevo usuario introduzca sus datos, se guardarán de forma completa en dicho fichero, denominado "datosdelcliente.txt".

De la misma manera, si el registro lo realiza un operador realizará un esquema parecido al anterior. Hemos considerado importante en nuestra pequeña empresa introducir el registro del operador, pues consideramos que su identificación y por ende su seguridad es importante para nosotros. Cada trabajador, deberá registrarse cada vez que acceda a la web para tener un control de asistencia y de movimientos por la misma. Dentro del registro del operador, ya que este tiene que controlar la cantidad de productos, hemos introducido una opción en la que te permite consultar los productos de esta tienda on-line.

Finalmente, mencionar que al final de cada movimiento realizado dentro de nuestra web, se muestra posibilidad de volver al menú principal donde al terminar su actividad en la tienda podrá salir de ella.

Clone this wiki locally