From a9df9ab4f9daecb48b5f84f3566bb22efb3d63e2 Mon Sep 17 00:00:00 2001 From: Pablo Date: Sat, 8 Nov 2025 22:26:03 +0100 Subject: [PATCH] implementacion f++ --- src/Fecha.cpp | 24 ++++++++++++++++++++++++ src/main.cpp | 38 ++++++++++++++++++++++++++++---------- 2 files changed, 52 insertions(+), 10 deletions(-) diff --git a/src/Fecha.cpp b/src/Fecha.cpp index 90571ce..eddb2a7 100644 --- a/src/Fecha.cpp +++ b/src/Fecha.cpp @@ -88,3 +88,27 @@ Fecha Fecha::operator++() { //++f //RESTO DE METODOS Y FUNCIONES A RELLENAR POR EL ALUMNO... + +Fecha Fecha::operator++(int) { //f++ + Fecha temp = *this; + + int dmax, diaMes[] = {0,31,28,31,30,31,30,31,31,30,31,30,31}; + if (this->bisiesto()) //si el aņo es bisiesto febrero tiene 29 dias + diaMes[2]=29; + + dmax=diaMes[this->mes]; + this->dia++; + if (this->dia>dmax) { //si al incrementar dia superamos el numero de dias de dicho mes + this->dia=1; //pasamos a 1 + this->mes++; //del mes siguiente + if (this->mes>12) { //si al incrementar mes pasamos de 12 meses + this->mes=1; //pasamos al mes 1 + this->anio++; //del aņo siguiente + } + } + + return temp; //devolvemos el objeto antes del incrementado +} + + + diff --git a/src/main.cpp b/src/main.cpp index 96f911f..9fcd58b 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -1,6 +1,7 @@ #include #include +#include #include "Fecha.h" //definicion de la clase Fecha #include "Cliente.h" // definicion de la clase Cliente @@ -8,21 +9,33 @@ using namespace std; int main() { Fecha f1(29,2,2001), f3(29,2,2004), f4(29,2,1900); //Fecha f5; //no permitido + const Fecha f2=f1; //indica que metodo se esta ejecutando aqui + f1.setFecha(f3.getDia()-3, f3.getMes()-2, 2007); //29-3/2-2/2007 --> f1=26/1/2007 + cout << "Fechas: "; f1.ver(); cout << ", "; f2.ver(); cout << ", "; - f3.ver(); cout << ", "; f4.ver(); cout << endl; + f3.ver(); cout << ", "; f4.ver(); cout << endl; if (f3.bisiesto() && !f2.bisiesto() && f4.bisiesto()==false) cout << f3.getAnio() << " es bisiesto, " << f2.getAnio() << " y " << f4.getAnio() << " no\n"; - f4.setFecha(31, 12, 2000); //f4=31/12/2000 - f3=f4++; //indica que mÊtodo/s se esta ejecutando aqui - ++f4; - f1=2+f2+3; - cout << "Fechas: "; f1.ver(); cout << ", "; f2.ver(); cout << ", "; - f3.ver(); cout << ", "; f4.ver(); cout << endl; + - Cliente *p = new Cliente(75547001, "Susana Diaz", f1); + f4.setFecha(31, 12, 2000); //f4=31/12/2000 + + cout << "f4: "; f4.ver(); cout << endl; + + f3=f4++; //indica que mÊtodo/s se esta ejecutando aqui + cout << "f3: "; f3.ver(); cout << endl; + ++f4; + + cout << "f4: "; f4.ver(); cout << endl; + +// f1=2+f2+3; +// cout << "Fechas: "; f1.ver(); cout << ", "; f2.ver(); cout << ", "; +// f3.ver(); cout << ", "; f4.ver(); cout << endl; + +/* Cliente *p = new Cliente(75547001, "Susana Diaz", f1); f1.setFecha(7,10,2015); Cliente c(75547999, "Juan Sin Miedo", Fecha(29,2,2000)); @@ -40,6 +53,11 @@ int main() { cout << "\nDatos de los clientes: \n"; cout << *p << "\n" << c << "\n" << j << "\n"; delete p; p = NULL; - - system("PAUSE"); return 0; +*/ + if (std::filesystem::exists("/etc/os-release")){ + system("read -p 'Presione una tecla para continuar' " ); return 0; + }else{ + system("PAUSE"); return 0; + } + }