8A8A8A8A Grado en Ingeniería Informática Grado en Ingeniería del Software Grado en Ingeniería de Computadores Luis Hernández Yáñez Facultad de Informática.

Slides:



Advertisements
Presentaciones similares
Introducción a C++ Sistemas Operativos
Advertisements

Conceptos Básicos Prof. Carlos Rodríguez Sánchez
Searching data in Arrays COMP 242. Linear Search Algoritmo: Comenzando con el primer elemento, se compara cada uno con el valor a buscar y se detiene.
Arithmetic Operators & Operators Precedence
Ejemplo de un programa en C++ donde se manipulan archivos de datos
8 Grado en Ingeniería Informática Grado en Ingeniería del Software Grado en Ingeniería de Computadores Luis Hernández Yáñez Facultad de Informática Universidad.
6 Grado en Ingeniería Informática Grado en Ingeniería del Software Grado en Ingeniería de Computadores Luis Hernández Yáñez Facultad de Informática Universidad.
Ejemplo de Programa C++
Computadoras y programación
Listas enlazadas c++ Prof. Franklin Cedeño.
7A7A7A7A Grado en Ingeniería Informática Grado en Ingeniería del Software Grado en Ingeniería de Computadores Luis Hernández Yáñez Facultad de Informática.
Programacion de Computadora Prof. Obadiah Oghoerore.
7 Grado en Ingeniería Informática Grado en Ingeniería del Software Grado en Ingeniería de Computadores Luis Hernández Yáñez Facultad de Informática Universidad.
6 Grado en Ingeniería Informática Grado en Ingeniería del Software Grado en Ingeniería de Computadores Luis Hernández Yáñez / Pablo Moreno Ger Facultad.

9A9A9A9A Grado en Ingeniería Informática Grado en Ingeniería del Software Grado en Ingeniería de Computadores Luis Hernández Yáñez Facultad de Informática.

Informática II Prof. Dr. Gustavo Patiño MJ
UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO
Ejercicios de Álgebra Relacional Bases de Datos I
3 Grado en Ingeniería Informática Grado en Ingeniería del Software Grado en Ingeniería de Computadores Luis Hernández Yáñez Facultad de Informática Universidad.
8 Grado en Ingeniería Informática Grado en Ingeniería del Software Grado en Ingeniería de Computadores Luis Hernández Yáñez Facultad de Informática Universidad.
Informática II 1 Diego Fernando Serna RestrepoSemestre 2011/2.
REFERENCIA AL OBJETO ACTUAL
ESTRUCTURAS DE SECUENCIA
Algoritmo y Estructura de Datos I
Introducción a la Computación
SOBRECARGA DE FUNCIONES
5A5A5A5A Grado en Ingeniería Informática Grado en Ingeniería del Software Grado en Ingeniería de Computadores Luis Hernández Yáñez/Pablo Moreno Ger Facultad.
4A4A4A4A Grado en Ingeniería Informática Grado en Ingeniería del Software Grado en Ingeniería de Computadores Luis Hernández Yáñez Facultad de Informática.
Grado en Ingeniería electrónica y comunicaciones Facultad de Físicas Universidad Complutense P1 Fundamentos de Programación.
UNIVERSIDAD DE MANAGUA I CUATRIMESTRE INTRODUCCION A LA PROGRAMACION
Introducción a la Computación
Sección 5-2 Estructuras de Control de Decisión Expresiones Lógicas.
ÁRBOLES BINARIOS DE BÚSQUEDA
Concepto de tupla Las tuplas son estructuras de datos que constan de varios campos que pueden contener datos de tipos distintos. El acceso al contenido.
Capítulo 5. Punteros y Cadenas de Caracteres
Numeric Types, Expressions, and Output
4 Grado en Ingeniería Informática Grado en Ingeniería del Software Grado en Ingeniería de Computadores Luis Hernández Yáñez Raquel Hervás Ballesteros Facultad.
4 Grado en Ingeniería Informática Grado en Ingeniería del Software Grado en Ingeniería de Computadores Luis Hernández Yáñez Facultad de Informática Universidad.
Cátedra de COMPUTACIÓN FACULTAD DE INGENIERÍA - UNA La mejor manera de aprender Programación es PROGRAMANDO !!!!!! CLASE Nro. 1.
Programación III Clase 08 Arreglos.
1 Chapter 11 Structured Types, Data Abstraction and Classes Dale/Weems/Headington.
ATC-DistribuidasUniversidad de Oviedo / Dpto. de Informática XDR (External Data Representation) Tipos y codificación.
Preparado por: Nelliud D. Torres Enero/2003 Versión 1.0
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS Encapsulamiento.
Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Slide 2- 1.
INTRODUCCION. LOS LENGUAJES DE PROGRAMACIÓN Los lenguajes de programación herramientas que nos permiten crear programas y software. EL LENGUAJE DE MAQUINA.
Elementos básicos del lenguaje
Entrada / Salida Streams Archivos Algoritmos y Estructuras de Datos I Departamento de Computación, Facultad de Ciencias Exactas y Naturales, Universidad.
Entrada / Salida Streams Archivos Algoritmos y Estructuras de Datos I Departamento de Computación, Facultad de Ciencias Exactas y Naturales, Universidad.
Registros Prof. Flor Narciso Departamento de Computación Escuela de Ingeniería de Sistemas Facultad de Ingeniería Universidad de Los Andes.
[ Sistemas Operativos ] Präsentat ion Universidad de Magallanes Facultad de Ingeniería Departamento de Ingeniería en Computación MIC3181 Algebra de Boole.
Registros Departamento de Computación
[ Sistemas Operativos ] Präsentat ion Universidad de Magallanes Facultad de Ingeniería Departamento de Ingeniería en Computación MIC3181 Algebra de Boole.
[ Sistemas Operativos ] Präsentat ion Universidad de Magallanes Facultad de Ingeniería Departamento de Ingeniería en Computación MIC3181 Representación.
6. Clases y Métodos..  6.1 Structs  6.2 Funciones  6.3 Namespaces  6.4 Clases.
3A3A3A3A Grado en Ingeniería Informática Grado en Ingeniería del Software Grado en Ingeniería de Computadores Luis Hernández Yáñez Facultad de Informática.
5 Grado en Ingeniería Informática Grado en Ingeniería del Software Grado en Ingeniería de Computadores Luis Hernández Yáñez Facultad de Informática Universidad.
UNIVERSIDAD ALONSO DE OJEDA FACULTAD DE INGENIERÍA ESCUELA DE COMPUTACIÓN ASIGNATURA: GERENCIA DE TI SECCIÓN: IC0932 Gerencia de TI Profesor: Ing. Eduardo.
ARREGLOS O ARRAYS.
ARREGLOS. La sintaxis para declarar e inicializar un array será: Tipo_de_variable[ ] Nombre_del_array = new Tipo_de_variable[dimensión]; También podemos.
1 Ingeniería del Software Ejercicio 2: Caso de uso: Anular Reservas Pista Anular Reservas Pista ENCARGADO.
Fundamentos de Ingeniería de Software Facultad de Ingenieria Universidad Distrital Francisco José de Caldas PROGRAMACION ORIENTADA A OBJETOS Asignatura:
TALLER DE BASES DE DATOS
UNIVERSIDAD DIEGO PORTALES Facultad de Ingeniería Programación Avanzada HERENCIA Tema: HERENCIA Ing. Javier Chamorro Cerón.
Entrada / Salida Streams Archivos
Precio $. Precio $ Precio $ Precio $ Precio $
Técnicas de venta.
Registros tipo struct PROGRAMACIÓN MODULAR.
Transcripción de la presentación:

8A8A8A8A Grado en Ingeniería Informática Grado en Ingeniería del Software Grado en Ingeniería de Computadores Luis Hernández Yáñez Facultad de Informática Universidad Complutense Fundamentos de la programación

Luis Hernández Yáñez #include #include using namespace std; const int NCLI = 100; const int NPROD = 200; const int NVENTAS = 3000; typedef struct { int id_cli; int id_cli; string nif; string nif; string nombre; string nombre; string telefono; string telefono; } tCliente; typedef struct { tCliente clientes[NCLI]; tCliente clientes[NCLI]; int cont; int cont; } tListaClientes; typedef struct { int id_prod; int id_prod; string codigo; string codigo; string nombre; string nombre; double precio; double precio; int unidades; int unidades; } tProducto; typedef struct { tProducto productos[NPROD]; tProducto productos[NPROD]; int cont; int cont; } tListaProductos; typedef struct { int id; int id; int id_prod; int id_prod; int id_cli; int id_cli; int unidades; int unidades; } tVenta; typedef struct { tVenta ventas[NVENTAS]; tVenta ventas[NVENTAS]; int cont; int cont; } tListaVentas;... Página 833 Fundamentos de la programación: Ejemplo de modularización ventas.cppventas.cpp

Luis Hernández Yáñez 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);... Página 834 Fundamentos de la programación: Ejemplo de modularización

Luis Hernández Yáñez 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() { Página 835 Fundamentos de la programación: Ejemplo de modularización

Luis Hernández Yáñez Lista de ventas #include #include using namespace std; const int NCLI = 100; const int NPROD = 200; const int NVENTAS = 3000; typedef struct { int id_cli; int id_cli; string nif; string nif; string nombre; string nombre; string telefono; string telefono; } tCliente; typedef struct { tCliente clientes[NCLI]; tCliente clientes[NCLI]; int cont; int cont; } tListaClientes; typedef struct { int id_prod; int id_prod; string codigo; string codigo; string nombre; string nombre; double precio; double precio; int unidades; int unidades; } tProducto; typedef struct { tProducto productos[NPROD]; tProducto productos[NPROD]; int cont; int cont; } tListaProductos; typedef struct { int id; int id; int id_prod; int id_prod; int id_cli; int id_cli; int unidades; int unidades; } tVenta; typedef struct { tVenta ventas[NVENTAS]; tVenta ventas[NVENTAS]; int cont; int cont; } tListaVentas;... Página 836 Fundamentos de la programación: Ejemplo de modularización ClienteCliente Lista de clientes ProductoProducto Lista de productos VentaVenta

Luis Hernández Yáñez 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);... Página 837 Fundamentos de la programación: Ejemplo de modularización ClienteCliente Lista de clientes ProductoProducto

Luis Hernández Yáñez 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, const tListaProductos &productos);... Página 838 Fundamentos de la programación: Ejemplo de modularización VentaVenta Lista de productos

Luis Hernández Yáñez 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() { Página 839 Fundamentos de la programación: Ejemplo de modularización Lista de ventas

Luis Hernández Yáñez Cliente: cliente.h y cliente.cpp Cliente: cliente.h y cliente.cpp Lista de clientes: listaclientes.h y listaclientes.cpp Lista de clientes: listaclientes.h y listaclientes.cpp Producto: producto.h y producto.cpp Producto: producto.h y producto.cpp Lista de productos: listaproductos.h y listaproductos.cpp Lista de productos: listaproductos.h y listaproductos.cpp Venta: venta.h y venta.cpp Venta: venta.h y venta.cpp Lista de ventas: listaventas.h y listaventas.cpp Lista de ventas: listaventas.h y listaventas.cpp Programa principal: main.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 ) 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 ) 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 Implementación de los subprogramas en el.cpp Página 840 Fundamentos de la programación: Ejemplo de modularización

Luis Hernández Yáñez Página 841 Fundamentos de la programación: Ejemplo de modularización Ventas main.cpp Producto producto.h producto.cpp Lista de productos listaproductos.h listaproductos.cpp Cliente cliente.h cliente.cpp Lista de clientes listaclientes.h listaclientes.cpp Venta venta.h venta.cpp Lista de ventas listaventas.h listaventas.cpp

Luis Hernández Yáñez Inclusiones (además de otras bibliotecas del sistema) typedef struct { int id_cli; int id_cli; string nif; string nif; string nombre; string nombre; string telefono; string telefono; } tCliente; const int NCLI = 100; typedef struct { tCliente clientes[NCLI]; tCliente clientes[NCLI]; int cont; int cont; } tListaClientes; void buscar(const tListaClientes &lista, string nif, tCliente &cliente, bool &ok); Página 842 Fundamentos de la programación: Ejemplo de modularización cliente.hcliente.hstringstring listaclientes.hlistaclientes.hcliente.hcliente.h stringstring

Luis Hernández Yáñez typedef struct { int id_prod; int id_prod; string codigo; string codigo; string nombre; string nombre; double precio; double precio; int unidades; int unidades; } tProducto; const int NPROD = 200; typedef struct { tProducto productos[NPROD]; tProducto productos[NPROD]; int cont; int cont; } tListaProductos; void buscar(const tListaProductos &lista, string codigo, tProducto &producto, bool &ok); Página 843 Fundamentos de la programación: Ejemplo de modularización producto.hproducto.hstringstring listaproductos.hlistaproductos.hproducto.hproducto.h stringstring

Luis Hernández Yáñez typedef struct { int id; int id; int id_prod; int id_prod; int id_cli; int id_cli; int unidades; int unidades; } tVenta; void mostrar(tVenta venta, const tListaClientes &clientes, const tListaProductos &productos); const int NVENTAS = 3000; typedef struct { tVenta ventas[NVENTAS]; tVenta ventas[NVENTAS]; int cont; int cont; } tListaVentas; double totalVentas(const tListaVentas &ventas, string nif, const tListaClientes &clientes, const tListaProductos &productos); Página 844 Fundamentos de la programación: Ejemplo de modularización venta.hventa.hlistaclientes.hlistaclientes.h listaproductos.hlistaproductos.h listaventas.hlistaventas.hventa.hventa.h listaclientes.hlistaclientes.h listaproductos.hlistaproductos.h

Luis Hernández Yáñez #ifndef cliente_h #define cliente_h #include #include using namespace std; typedef struct { int id_cli; int id_cli; string nif; string nif; string nombre; string nombre; string telefono; string telefono; } tCliente; tCliente nuevoCliente(); bool operator<(tCliente opIzq, tCliente opDer); // Por NIF void mostrar(tCliente cliente); #endif Página 845 Fundamentos de la programación: Ejemplo de modularización

Luis Hernández Yáñez Licencia CC (Creative Commons) Creative CommonsCreative Commons Este tipo de licencias ofrecen algunos derechos a terceras personas bajo ciertas condiciones. Este documento tiene establecidas las siguientes: 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 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.