¡Acceso ilimitado 24/7 a todos nuestros libros y vídeos! Descubra la Biblioteca Online ENI. Pulse aquí
¡Acceso ilimitado 24/7 a todos nuestros libros y vídeos! Descubra la Biblioteca Online ENI. Pulse aquí
  1. Libros
  2. Desarrollo informático
  3. Algorítmica
Extrait - Desarrollo informático Aprenda a diseñar antes de programar
Extractos del libro
Desarrollo informático Aprenda a diseñar antes de programar Volver a la página de compra del libro

Algorítmica - datos de fase, saltos de página

Objetivos del capítulo

Los programas que se van a realizar en este capítulo requieren comprobar los datos que no están presentes en el archivo o los archivos de entrada. Estos son los datos calculados a lo largo de la ejecución del programa. Se llaman datos de fase. Algunos saltos de página hacen necesario comprobar un contador de filas. Este contador de filas es un caso particular de dato de fase.

Estado de las cifras de negocio por cliente y sector

1. Tema

El programa que se va a realizar consiste en editar un estado estadístico a partir de un archivo de productos.

a. Estado de salida

images/111-1.png

b. Archivo de entrada: productosCN

Descripción del archivo productosCN

Un registro del archivo productosCN contiene:

  • noSect: número de sector

  • noCli: número de cliente

  • noPro: número de producto

  • cant: cantidad

  • PU: precio unitario

images/111-2.png

Estructura correspondiente:

typedef struct  
{  
   char  noSect[4];  
   char  noCli[5];  
   char  noPro[4];  
   int   cant;  
   float PU;  
} PRODUCTO; 

Organización del archivo: secuencial

Criterios de ordenación:

  • noSect (N.° de sector)

  • noCli (N.° de cliente)

Hay un registro por producto.

Este archivo se proporciona. Su ruta de acceso es: C:\C\archivos\productosCN

c. Tratamiento

Para un cliente: cn = Suma de las cant * PU (cn: cifra de negocio).

Se acuerda un descuento del 10 % para todo cliente cuyo CN sea superior o igual a 1000.

Se totaliza por sector las cifras de negocio y los descuentos.

El cambio de página se realiza cada 20 filas (encabezado no incluido). No hay cambio antes del total del sector, eventualmente mostrado en la fila número 21.

d. Los saltos de página

Los saltos de página se relacionan con problemas de presentación: formato del papel, zonas preimpresas, etc. No cambian el programa durante de la impresión, es decir, cuando se ejecutan las órdenes de escritura.

Es más sencillo interesarse por esto cuando se han escrito las órdenes de impresión.

En consecuencia: hacer el programa sin preocuparse de los saltos de página. Añadirlos después.

2. Descomposiciones

Estado

images/111-3.png

El estado se presenta como un conjunto de datos relativos a un sector, tantas veces como sectores (conjuntos en gris).

images/111-4.png

Cada sector contiene un número de sector, un conjunto de datos relativos a un cliente, tantas veces como clientes (conjuntos en gris), un total CN y un total DESCUENTO.

images/111-5.png

Cada cliente contiene un número de cliente, un CN y un descuento presente 0 o 1 vez (dato en gris).

A continuación se muestra un ejemplo de archivo en entrada:

images/01112f.PNG

El archivo se presenta como un conjunto de datos relativos a un sector, tantas veces como sectores hay (conjuntos...

Trabajo práctico: edición de facturas

1. Tema

a. Objetivo del programa

Se trata de editar las facturas de los clientes y hacer la actualización del archivo cliente.

b. Esquema del tratamiento

  • El archivo ped contiene los registros de pedidos de cliente. Estos pedidos se llaman «normales».

  • El archivo pedd contiene también los registros de pedidos de clientes. Estos pedidos se llaman «de ayuda».

  • El archivo cliente contiene información de los clientes. Para cada cliente con una factura, hay que actualizar un saldo en función de la cantidad de la factura.

images/111-13.png

Se edita una factura por cliente con, al menos, un pedido normal y eventualmente pedidos de ayuda.

c. Impresión

images/111-14.png

d. Filas de impresión

images/111-15.png
images/111-16.png

e. Característica del estado

  • Salto de página: una vez por cliente y por página completa.

  • En el caso de un salto de página para una página completa:

  • En fin de página:

  • Dejar las cantidades descuento, SIN_IVA y CON_IVA en blanco.

  • Imprimir ./. en la ubicación NETO A PAGAR.

  • En la siguiente página:

  • Mostrar los encabezados con el número de página incrementado (+1).

  • Recordar el número de pedido y su fecha.

  • Una sola factura por cliente.

  • Se editan inicialmente los pedidos normales y después los pedidos de ayuda.

  • Se edita una fila de producto cada dos filas.

f. Archivo cliente

Descripción del archivo cliente

Un registro del archivo cliente contiene:

  • noCli: número de cliente (identificador)

  • nombre: nombre (apellido) del cliente

  • direccion: dirección del cliente

  • cPost: código postal

  • ciudad: ciudad

  • noRep: número de representante

  • codPais: código de país

  • codSit: código de situación (D: débito, C: crédito)

  • saldo: cantidad del saldo

Este archivo se proporciona. Su ruta de acceso es: C:\C\archivos\cliente

Contiene:

images/111-17.png

El saldo del cliente siempre es un número positivo. El código de situación indica si el cliente paga a crédito (C) o es deudor (D).

Programa de acceso al archivo cliente

El archivo de encabezados de la librería de acceso al archivo cliente es: cliente.h. Su contenido es:

 /* =================================================================== * 
/* Estructura CLIENTE                                                  */ ...