implementacion f++

This commit is contained in:
Pablo
2025-11-08 22:26:03 +01:00
parent 8f92156058
commit a9df9ab4f9
2 changed files with 52 additions and 10 deletions

View File

@@ -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
}

View File

@@ -1,6 +1,7 @@
#include <cstdlib>
#include <iostream>
#include <filesystem>
#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;
}
}