agenda

18
1 Instituto Politécnico Nacional Escuela Superior de Ingeniería Mecánica y Eléctrica “Unidad Zacatenco” Ingeniería en Control y Automatización Programación Orientada a Objetos Proyecto Libreria 2AM5 Integrantes: Álvarez Ibarra Sergio Aarón Profesor: Manuel Alejandro Lopez

Upload: sergio-aaron-alvarez

Post on 12-Sep-2015

4 views

Category:

Documents


2 download

DESCRIPTION

Generar una agenda en lenguaje C

TRANSCRIPT

  • 1

    Instituto Politcnico Nacional

    Escuela Superior de Ingeniera Mecnica y

    Elctrica

    Unidad Zacatenco

    Ingeniera en Control y Automatizacin

    Programacin Orientada a Objetos

    Proyecto Libreria

    2AM5

    Integrantes:

    lvarez Ibarra Sergio Aarn

    Profesor:

    Manuel Alejandro Lopez

  • 2

    INDICE.

    Diagrama a Bloque ____________________________________ 3

    Explicacin del Diagrama a Bloques __________________ 4

    Cdigo en C++ _______________________________________ 6

    Capturas de Pantalla _________________________________ 15

  • 3

    Libreria

    # salida : ofstream

    + GenerarArchivo (int): void

    + VerificarArchivo(int) :void

    + Resultado (int): void

    + CerrarArchivo (): void

    Libros

    - entrada : ifstream

    - precios: ifstream

    - n: int

    - costos[100]: int

    - articulo[100]: string

    + Libro()

    + LeerArchivo():void

    + VerificarArchivo(int):void

    + ImprimirContenido():void

    + AbrirArchivo(int):void

    + CerrarArchivo():void

    + GenerarPrecio(int a): int

    + GenerarTicket(int a): char

    + Getn():int

    Revistas

    - entrada : ifstream

    - precios: ifstream

    - n: int

    - costos[100]: int

    - articulo[100]: string

    + Revistas ()

    + LeerArchivo ():void

    + VerificarArchivo (int):void

    + ImprimirContenido ():void

    + AbrirArchivo(int):void

    + CerrarArchivo():void

    + GenerarPrecio(int a): int

    + GenerarTicket(int a):char

    + Getn():int

  • 4

    Este proyecto es una simulacin de una caja en la que se escoge el artculo que

    desea comprar y sigue la secuencia hasta que el usuario ya no deseo otro artculo

    ms, y al finalizar genera un archivo de salida con todos los datos y el precio a

    pagar en caja.

    Con el mtodo GenerarArchivo() se abre el archivo de salida de salida con el cual

    se va a trabajar y generar el ticket de compra.

    En el mtodo Resultado (int) se imprime en el archivo el total a pagar despus de

    finalizar todos los pedidos requeridos.

    CerrarArchivo() este mtodo tiene como finalidad cerrar todos los archivo

    utilizados ya sean de entrada o salida dependiendo que objeto lo llame.

    Con el constructor Revistas () o Libro() se inicializan los valores de n que nos sirve

    de basa pasa saber cuntos artculos hay en cada archivo seleccionado.

    La finalidad de LeerArchivo () es leer de los archivos de entrada los nombres de

    libros o revistas que hay en inventario y los costos que le corresponde a cada uno

    segn su posicin en el archivo.

    Con VerificarArchivo () se checa que no hay ningn error al intentar leer y/o abrir

    un archivo de salida o entrada segn sea la situacin de cada archivo.

    Con el mtodo ImprimirContenido () se pretende que se imprima el contenido de

    los archivos de entrada con un determinado formato en la pantalla principal de

    nuestro programa.

    El mtodo AbrirArchivo() hace lo que su nombre indica, abre el archivo ya

    existente para el inventario de cada uno de los artculos que se tienen en la librera

    y abre el archivo que contiene los precios de mismo modo.

    CerrarArchivo() este mtodo lo que hace es cerrar cada uno de los archivos que

    se est utilizando en el momento de la realizacin del programa cuando ya no los

    vamos a utilizar de nuevo en ese mismo instante.

    El mtodo GenerarPrecio(int a) como su nombre lo indica genera el precio del

    libro o bien lo indica y regresa el valor para que con el valor regresado se realiza

    una suma para generar el total a pagar de todos los artculos comprados

  • 5

    Con el mtodo GenerarTicket(int a) en primera instancia se le pregunta al usuario

    que si es el artculo que desea comprar y si es el artculo se imprime en el ticket

    que se realiza y si la respuesta es no, manda un error para que no se sume el costo

    del articulo al total.

    Con el Getn() se utiliza para que recuperar el valor de n del archivo, donde n es el

    nmero total de artculos y si el numero elegido por el usuario es mayor al nmero

    total de artculos se manda un error.

  • 6

    Main.cpp #include "Libro.h" #include "Revistas.h" int main() { int a,d=0,b=1,e,n; char c,z; Libreria L; L.GenerarArchivo(b); L.VerificarArchivo(b); b++; L.CerrarArchivo(); do { cout

  • 7

    R.LeerArchivo(); R.ImprimirContenido(); cout

  • 8

    void CerrarArchivo(); protected: ofstream salida; }; #endif // LIBRERIA_H

    Librera.cpp #include "Libreria.h" void Libreria::GenerarArchivo(int b) { switch (b) { case 1: salida.open("Recibo.txt"); break; case 2: salida.open("Recibo.txt", ios_base::app); break; } } void Libreria::VerificarArchivo(int b) { if(salida.fail()) { cerr

  • 9

    { salida

  • 10

    } void Libro::AbrirArchivo(int b) { Libreria::GenerarArchivo(b); entrada.open("Libros.txt"); precios.open("PLibros.txt"); } void Libro::LeerArchivo() { while(!entrada.eof()) { getline(entrada,articulo[n]); precios >> costos[n]; n++; } } void Libro::VerificarArchivo(int b) { Libreria::VerificarArchivo(b); if(entrada.fail()) { cerr

  • 11

    { int i; cout

  • 12

    #define REVISTAS_H #include "Libreria.h" class Revistas : public Libreria { public: Revistas(); void LeerArchivo(); void VerificarArchivo(int b); void ImprimirContenido(); void AbrirArchivo(int); void CerrarArchivo(); int GenerarPrecio(int ); char GenerarTicket(int a); int Getn(); protected: private: ifstream entrada; ifstream precios; int n; int costos[100]; string articulo[100]; }; #endif // REVISTAS_H

    Revistas.cpp #include "Revistas.h" Revistas::Revistas() { n = 0; } void Revistas::AbrirArchivo(int b) { Libreria::GenerarArchivo(b); entrada.open("Revistas.txt"); precios.open("PRevistas.txt"); } void Revistas::LeerArchivo() { while(!entrada.eof()) { getline(entrada,articulo[n]); precios >> costos[n];

  • 13

    n++; } } void Revistas::VerificarArchivo(int b) { Libreria::VerificarArchivo(b); if(entrada.fail()) { cerr

  • 14

    cin >> c; if (c == 's' || c == 'S') { salida

  • 15

    Captura de Pantalla

  • 16

  • 17

  • 18