diff options
| author | Mitsuo Tokumori <[email protected]> | 2022-09-17 00:57:54 -0500 |
|---|---|---|
| committer | Mitsuo Tokumori <[email protected]> | 2022-09-17 00:57:54 -0500 |
| commit | c571cb7df606206675311a773e4077a50f0c0ff2 (patch) | |
| tree | 275582f66df247742a3f52c5afbf9ab1c1631c58 /2022-2/L1/mitsuo/aux.cpp | |
| parent | 4d0f0e9b8152efe2cf91afc17986a67c7bd55954 (diff) | |
| download | LP1-c571cb7df606206675311a773e4077a50f0c0ff2.tar.gz LP1-c571cb7df606206675311a773e4077a50f0c0ff2.tar.bz2 LP1-c571cb7df606206675311a773e4077a50f0c0ff2.zip | |
L1 completo. No tan "succinct" que digamos, pero
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...
Diffstat (limited to '2022-2/L1/mitsuo/aux.cpp')
| -rw-r--r-- | 2022-2/L1/mitsuo/aux.cpp | 37 |
1 files changed, 37 insertions, 0 deletions
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 <iostream> +#include <iomanip> + +#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'; +} |
