From c571cb7df606206675311a773e4077a50f0c0ff2 Mon Sep 17 00:00:00 2001 From: Mitsuo Tokumori Date: Sat, 17 Sep 2022 00:57:54 -0500 Subject: L1 completo. No tan "succinct" que digamos, pero MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Las macros de los stream manipulators ahorran mucho codigo. Definitivamente voy a reusar eso para las siguientes resoluciones. Aun hay muchos aspectos en que mejorar. En cuestion de tiempos, la parte basica la acabe en 1h 40m mas o menos, pero de ahi en hacer las macros, re-leer la fecha como enteros, todo lo de los contadores, y perfeccionando el formato, me demore unas 2-3h mas. Tambien es el primer lab de C++ que resuelvo desde hace 2 aƱos. Definitivamente este curso es pura practica, entender los casos tipo, entender la menera que el profesor quiere que se codifique y no perder el foco en la solucion. Me interesa hacer una solucion en python a ver cuanto tiempo y lineas de codigo se ahorra... --- 2022-2/L1/mitsuo/aux.cpp | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 2022-2/L1/mitsuo/aux.cpp (limited to '2022-2/L1/mitsuo/aux.cpp') diff --git a/2022-2/L1/mitsuo/aux.cpp b/2022-2/L1/mitsuo/aux.cpp new file mode 100644 index 0000000..bd9417d --- /dev/null +++ b/2022-2/L1/mitsuo/aux.cpp @@ -0,0 +1,37 @@ +/* Auxiliary/helper/reusable functions */ + +#include +#include + +#include "aux.h" + +using namespace std; + +/* "dd/mm/yyyy" -> yyyymmdd (int) */ +int readdate(istream &is) +{ + char c; + int d, m, y; + + is >> d >> c + >> m >> c + >> y; + + return y * 10000 + m * 100 + d; +} + +/* yyyymmdd (int) -> "dd/mm/yyyy" */ +void writedate(ostream &os, int intdate) +{ + int d, m, y; + + d = intdate % 100; + intdate /= 100; + m = intdate % 100; + intdate /= 100; + y = intdate; + + os << WR0(2, 2, y) << '/' + << WR0(2, 2, m) << '/' + << WR0(2, 2, d) << '\n'; +} -- cgit v1.2.3