PDF de programación - 8A Ejemplo de modularización - Fundamentos de la programación

Filtrado por el tag: pascal
Imágen de pdf 8A Ejemplo de modularización - Fundamentos de la programación

8A Ejemplo de modularización - Fundamentos de la programacióngráfica de visualizaciones

Actualizado el 15 de Junio del 2021 (Publicado el 19 de Diciembre del 2018)
1.985 visualizaciones desde el 19 de Diciembre del 2018
560,8 KB
8 paginas
Creado hace 11a (04/09/2013)
Fundamentos de la programación

8A

Grado en Ingeniería Informática
Grado en Ingeniería del Software
Grado en Ingeniería de Computadores
Facultad de Informática
Luis Hernández Yáñez
Universidad Complutense

#include <iostream>
#include <string>
using namespace std;

const int NCLI = 100;
const int NPROD = 200;
const int NVENTAS = 3000;

typedef struct {

int id_cli;
string nif;
string nombre;
string telefono;

} tCliente;

typedef struct {

tCliente clientes[NCLI];
int cont;

} tListaClientes;

z
e
ñ
á
Y
 
z
e
d
n
á
n
r
e
H
 
s
i
u
L

typedef struct {
int id_prod;
string codigo;

ventas.cpp
ventas.cpp

string nombre;
double precio;
int unidades;

} tProducto;

typedef struct {

tProducto productos[NPROD];
int cont;

} tListaProductos;

typedef struct {

int id;
int id_prod;
int id_cli;
int unidades;

} tVenta;

typedef struct {

tVenta ventas[NVENTAS];
int cont;

} tListaVentas;

...

Fundamentos de la programación: Ejemplo de modularización

Página 833

tCliente nuevoCliente();
bool valida(tCliente cliente); // Función interna
bool operator<(tCliente opIzq, tCliente opDer); // Por NIF
void mostrar(tCliente cliente);
void inicializar(tListaClientes &lista);
void cargar(tListaClientes &lista);
void insertar(tListaClientes &lista, tCliente cliente, bool &ok);
void buscar(const tListaClientes &lista, string nif, tCliente &cliente, bool &ok);
void eliminar(tListaClientes &lista, string nif, bool &ok);
void mostrar(const tListaClientes &lista);
tProducto nuevoProducto();
bool valida(tProducto producto); // Función interna
bool operator<(tProducto opIzq, tProducto opDer); // Por código
void mostrar(tProducto producto);
void inicializar(tListaProductos &lista);
void cargar(tListaProductos &lista);
void insertar(tListaProductos &lista, tProducto producto, bool &ok);
void buscar(const tListaProductos &lista, string codigo, tProducto &producto,

bool &ok);

void eliminar(tListaProductos &lista, string codigo, bool &ok);
...

Fundamentos de la programación: Ejemplo de modularización

Página 834

void mostrar(const tListaProductos &lista);
tVenta nuevaVenta(int id_prod, int id_cli, int unidades);
bool valida(tVenta venta); // Función interna
void mostrar(tVenta venta, const tListaClientes &clientes,

const tListaProductos &productos);

void inicializar(tListaVentas &lista);
void cargar(tListaVentas &lista);
void insertar(tListaVentas &lista, tVenta venta, bool &ok);
void buscar(const tListaVentas &lista, int id, tVenta &venta, bool &ok);
void eliminar(tListaVentas &lista, int id, bool &ok);
void ventasPorClientes(const tListaVentas &lista);
void ventasPorProductos(const tListaVentas &lista);
double totalVentas(const tListaVentas &ventas, string nif, 

const tListaClientes &clientes, 
const tListaProductos &productos);

void stock(const tListaVentas &ventas, const tListaClientes &clientes, 

const tListaProductos &productos);

int menu();

int main() {

...

Fundamentos de la programación: Ejemplo de modularización

Página 835

z
e
ñ
á
Y
 
z
e
d
n
á
n
r
e
H
 
s
i
u
L

z
e
ñ
á
Y
 
z
e
d
n
á
n
r
e
H
 
s
i
u
L

#include <iostream>
#include <string>
using namespace std;

const int NCLI = 100;
const int NPROD = 200;
const int NVENTAS = 3000;

typedef struct {

int id_cli;
string nif;
string nombre;
string telefono;

} tCliente;

typedef struct {

tCliente clientes[NCLI];
int cont;

} tListaClientes;

typedef struct {
int id_prod;
string codigo;

Cliente
Lista de clientes
Producto

tProducto productos[NPROD];
int cont;

} tListaProductos;

Lista de productos
Venta
Lista de ventas

string nombre;
double precio;
int unidades;

} tProducto;

typedef struct {

typedef struct {

int id;
int id_prod;
int id_cli;
int unidades;

} tVenta;

typedef struct {

tVenta ventas[NVENTAS];
int cont;

} tListaVentas;

...

Fundamentos de la programación: Ejemplo de modularización

Página 836

Cliente
Lista de clientes

tCliente nuevoCliente();
bool valida(tCliente cliente); // Función interna
bool operator<(tCliente opIzq, tCliente opDer); // Por NIF
void mostrar(tCliente cliente);
void inicializar(tListaClientes &lista);
void cargar(tListaClientes &lista);
void insertar(tListaClientes &lista, tCliente cliente, bool &ok);
void buscar(const tListaClientes &lista, string nif, tCliente &cliente,

bool &ok);

void eliminar(tListaClientes &lista, string nif, bool &ok);
void mostrar(const tListaClientes &lista);
tProducto nuevoProducto();
bool valida(tProducto producto); // Función interna
bool operator<(tProducto opIzq, tProducto opDer); // Por código
void mostrar(tProducto producto);
...

Producto

Fundamentos de la programación: Ejemplo de modularización

Página 837

z
e
ñ
á
Y
 
z
e
d
n
á
n
r
e
H
 
s
i
u
L

z
e
ñ
á
Y
 
z
e
d
n
á
n
r
e
H
 
s
i
u
L

Lista de productos

void inicializar(tListaProductos &lista);
void cargar(tListaProductos &lista);
void insertar(tListaProductos &lista, tProducto producto, bool &ok);
void buscar(const tListaProductos &lista, string codigo, tProducto &producto,

bool &ok);

void eliminar(tListaProductos &lista, string codigo, bool &ok);
void mostrar(const tListaProductos &lista);
tVenta nuevaVenta(int id_prod, int id_cli, int unidades);
bool valida(tVenta venta); // Función interna
void mostrar(tVenta venta, const tListaClientes &clientes,

Venta

const tListaProductos &productos);

z
e
ñ
á
Y
 
z
e
d
n
á
n
r
e
H
 
s
i
u
L

z
e
ñ
á
Y
 
z
e
d
n
á
n
r
e
H
 
s
i
u
L

...

Fundamentos de la programación: Ejemplo de modularización

Página 838

Lista de ventas

void inicializar(tListaVentas &lista);
void cargar(tListaVentas &lista);
void insertar(tListaVentas &lista, tVenta venta, bool &ok);
void buscar(const tListaVentas &lista, int id, tVenta &venta, bool &ok);
void eliminar(tListaVentas &lista, int id, bool &ok);
void ventasPorClientes(const tListaVentas &lista);
void ventasPorProductos(const tListaVentas &lista);
double totalVentas(const tListaVentas &ventas, string nif, 

const tListaClientes &clientes, 
const tListaProductos &productos);

void stock(const tListaVentas &ventas, const tListaClientes &clientes, 

const tListaProductos &productos);

int menu();

int main() {

...

Fundamentos de la programación: Ejemplo de modularización

Página 839

Cliente: cliente.hy cliente.cpp
Lista de clientes: listaclientes.hy listaclientes.cpp
Producto: producto.hy producto.cpp
Lista de productos: listaproductos.hy listaproductos.cpp
Venta: venta.hy venta.cpp
Lista de ventas: listaventas.hy listaventas.cpp
Programa principal: main.cpp
Distribución del código en los módulos:
Declaraciones de tipos y datos en el archivo de cabecera (.h)
Prototipos en el archivo de cabecera (.h) (excepto los de los
subprogramas privados –internos–, que irán en el .cpp)
Implementación de los subprogramas en el .cpp

Fundamentos de la programación: Ejemplo de modularización

Página 840

Ventas

main.cpp

venta.h
venta.cpp

Venta
Lista de productos

listaproductos.h
listaproductos.cpp

Cliente

cliente.h
cliente.cpp

listaclientes.h
listaclientes.cpp

Lista de clientes
Producto

producto.h
producto.cpp

Lista de ventas

listaventas.h
listaventas.cpp

Fundamentos de la programación: Ejemplo de modularización

Página 841

z
e
ñ
á
Y
 
z
e
d
n
á
n
r
e
H
 
s
i
u
L

z
e
ñ
á
Y
 
z
e
d
n
á
n
r
e
H
 
s
i
u
L

Inclusiones (además de otras bibliotecas del sistema)

typedef struct {

int id_cli;
string nif;
string nombre;
string telefono;

} tCliente;

const int NCLI = 100;

cliente.h

string

typedef struct {

tCliente clientes[NCLI];
int cont;

} tListaClientes;

listaclientes.h

cliente.h

string

void buscar(const tListaClientes &lista, string nif, tCliente

&cliente, bool &ok);

Fundamentos de la programación: Ejemplo de modularización

Página 842

producto.h

string

typedef struct {
int id_prod;
string codigo;
string nombre;
double precio;
int unidades;

} tProducto;

const int NPROD = 200;

typedef struct {

tProducto productos[NPROD];
int cont;

} tListaProductos;

listaproductos.h

producto.h

string

void buscar(const tListaProductos &lista, string codigo, tProducto

&producto, bool &ok);

Fundamentos de la programación: Ejemplo de modularización

Página 843

z
e
ñ
á
Y
 
z
e
d
n
á
n
r
e
H
 
s
i
u
L

z
e
ñ
á
Y
 
z
e
d
n
á
n
r
e
H
 
s
i
u
L

typedef struct {

int id;
int id_prod;
int id_cli;
int unidades;

} tVenta;

venta.h

listaclientes.h

listaproductos.h

void mostrar(tVenta venta, const tListaClientes &clientes,

const tListaProductos &productos);

const int NVENTAS = 3000;

typedef struct {

tVenta ventas[NVENTAS];
int cont;

} tListaVentas;

listaventas.h

venta.h

listaclientes.h

listaproductos.h

double totalVentas(const tListaVentas &ventas, string nif, 

const tListaClientes &clientes, 
const tListaProductos &productos);

Fundamentos de la programación: Ejemplo de modularización

Página 844

#ifndef cliente_h
#define cliente_h

#include <string>
using namespace std;

typedef struct {

int id_cli;
string nif;
string nombre;
string telefono;

} tCliente;

tCliente nuevoCliente();
bool operator<(tCliente opIzq, tCliente opDer); // Por NIF
void mostrar(tCliente cliente);

#endif

Fundamentos de la programación: Ejemplo de modularización

Página 845

z
e
ñ
á
Y
 
z
e
d
n
á
n
r
e
H
 
s
i
u
L

z
e
ñ
á
Y
 
z
e
d
n
á
n
r
e
H
 
s
i
u
L

Licencia CC (Creative Commons)

Este tipo de licencias ofrecen algunos derechos a terceras personas
bajo ciertas condiciones.
Este documento tiene establecidas las siguientes:
Reconocimiento (Attribution):
En cualquier explotación de la obra autorizada por la licencia
hará falta reconocer la autoría.
No comercial (Non commercial):
La explotación de la obra queda limitada a usos no comerciales.
Compartir igual (Share alike):
La explotación autorizada incluye la creación de obras derivadas
siempre que mantengan la misma licencia al ser divulgadas.
Pulsa en la imagen de arriba a la derecha para saber más.

Fundamentos de la programación: Ejemplo de modularización

Página 846

z
e
ñ
á
Y
 
z
e
d
n
á
n
r
e
H
 
s
i
u
L
  • Links de descarga
http://lwp-l.com/pdf14601

Comentarios de: 8A Ejemplo de modularización - Fundamentos de la programación (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad