]> git.llucax.com Git - z.facultad/75.42/string.git/commitdiff
Implementada en parte la clase Ascii.
authorLeandro Lucarella <llucax@gmail.com>
Wed, 24 Sep 2003 04:58:14 +0000 (04:58 +0000)
committerLeandro Lucarella <llucax@gmail.com>
Wed, 24 Sep 2003 04:58:14 +0000 (04:58 +0000)
Makefile [new file with mode: 0644]
ascii.cpp [new file with mode: 0644]
ascii.h [new file with mode: 0644]

diff --git a/Makefile b/Makefile
new file mode 100644 (file)
index 0000000..636d4e2
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,73 @@
+#
+# Taller de Programación (75.42).
+#
+# Ejercicio Número 4:
+# Ordena texto ASCII o Unicode.
+#
+# Copyleft 2003 - Leandro Lucarella <llucare@fi.uba.ar>
+# Puede copiar, modificar y distribuir este programa bajo los términos de
+# la licencia GPL (http://www.gnu.org/).
+#
+# Creado: vie sep 19 00:38:51 ART 2003
+#
+# $Id$
+#
+
+# Opciones para el compilador.
+#CXXFLAGS=-ansi -pedantic -Wall -O3
+CXXFLAGS=-ansi -pedantic -Wall -g3 -DDEBUG
+
+# Pruebas.
+TESTS=
+
+# Programa a compilar.
+TARGETS=$(TESTS) tp4
+
+# Regla por defecto.
+all: $(TARGETS)
+
+# Pruebas.
+tests: $(TESTS)
+       ./dllist_test
+
+dllist_test: dllist.o
+
+tp3: dllist.o figura.o rectangulo.o cuadrado.o linea.o circulo.o dibujo.o
+
+dllist.o: dllist.cpp dllist.h
+
+figura.o: figura.cpp figura.h punto.h
+
+linea.o: figura.o linea.cpp linea.h
+
+circulo.o: figura.o circulo.cpp circulo.h
+
+rectangulo.o: figura.o rectangulo.cpp rectangulo.h
+
+cuadrado.o: rectangulo.o cuadrado.cpp cuadrado.h
+
+dibujo.o: dllist.o figura.o dibujo.cpp dibujo.h
+
+
+# Preety-printing del código fuente.
+corrida.txt: tp3
+       @./tp3 > corrida.txt
+
+# Regla para borrar.
+clean:
+       @echo "Limpiando..."
+       @rm -fR $(TARGETS) *.o core tp2 corrida_*.txt html latex* *.ps
+
+# Preety-printing del código fuente.
+FUENTES=dllist.h dllist.cpp punto.h figura.h figura.cpp rectangulo.h \
+       rectangulo.cpp cuadrado.h cuadrado.cpp linea.h linea.cpp circulo.h \
+       circulo.cpp dibujo.h dibujo.cpp tp3.cpp
+code.ps:  $(FUENTES)
+       @enscript -j -Ecpp -U2 -C --fancy-header=squeeze --color -pcode.ps \
+       $(FUENTES)
+
+# Informe.
+informe: code.ps corrida.txt
+       @doxygen
+       @cd latex && make refman.pdf && cd ..
+       @doxygen Doxyfile.imprimible
diff --git a/ascii.cpp b/ascii.cpp
new file mode 100644 (file)
index 0000000..f2dee21
--- /dev/null
+++ b/ascii.cpp
@@ -0,0 +1,38 @@
+/* vim: set et sts=4 sw=4 fdm=indent fdn=1 fo+=t tw=80:
+ *
+ * Taller de Programación (75.42).
+ *
+ * Ejercicio Número 4:
+ * Ordena texto ASCII o Unicode.
+ *
+ * Copyleft 2003 - Leandro Lucarella <llucare@fi.uba.ar>
+ * Puede copiar, modificar y distribuir este programa bajo los términos de
+ * la licencia GPL (http://www.gnu.org/).
+ *
+ * Creado: Mon Sep 22 21:00:07 ART 2003
+ *
+ * $Id$
+ */
+
+#include "ascii.h"
+
+#ifdef DEBUG
+#   include <iostream>
+#endif
+
+/// Volcado a un stream de salida.
+std::ostream& operator<<(std::ostream& out, const Ascii& ascii) {
+#ifdef DEBUG
+    std::cerr << "En operator<< de Ascii." << std::endl;
+#endif
+    return out << ascii.caracter;
+}
+
+/// Captura desde un stream de entrada.
+std::istream& operator>>(std::istream& in, const Ascii& ascii) {
+#ifdef DEBUG
+    std::cerr << "En operator>> de Ascii." << std::endl;
+#endif
+    return in >> ascii.caracter;
+}
+
diff --git a/ascii.h b/ascii.h
new file mode 100644 (file)
index 0000000..78201b5
--- /dev/null
+++ b/ascii.h
@@ -0,0 +1,89 @@
+/* vim: set et sts=4 sw=4 fdm=marker fmr={,} fdn=1 fo+=t tw=80:
+ *
+ * Taller de Programación (75.42).
+ *
+ * Ejercicio Número 4:
+ * Ordena texto ASCII o Unicode.
+ *
+ * Copyleft 2003 - Leandro Lucarella <llucare@fi.uba.ar>
+ * Puede copiar, modificar y distribuir este programa bajo los términos de
+ * la licencia GPL (http://www.gnu.org/).
+ *
+ * Creado: Mon Sep 22 21:00:15 ART 2003
+ *
+ * $Id$
+ */
+
+#ifndef ASCII_H
+#define ASCII_H
+
+#include <ostream>
+#include <istream>
+
+#ifdef DEBUG
+#   include <iostream>
+#endif
+
+/// Caracter ASCII.
+class Ascii {
+
+        /// Caracter ASCII almacenado.
+        char caracter;
+
+    public:
+
+        /// Constructor.
+        Ascii(char c = '0'): caracter(c) {
+#ifdef DEBUG
+            std::cerr << "En constructor de Ascii." << std::endl;
+#endif
+        }
+
+        /// Constructor de copia.
+        Ascii(const Ascii& ascii): caracter(ascii.caracter) {
+#ifdef DEBUG
+            std::cerr << "En constructor de copia de Ascii." << std::endl;
+#endif
+        }
+
+        /// Destructor.
+        virtual ~Ascii(void) {
+#ifdef DEBUG
+            std::cerr << "En destructor de Ascii." << std::endl;
+#endif
+        }
+
+        /// Asignación de una instancia a otra.
+        Ascii& operator=(const Ascii& ascii) {
+#ifdef DEBUG
+            std::cerr << "En operator= de Ascii." << std::endl;
+#endif
+            caracter = ascii.caracter;
+            return *this;
+        }
+
+        /// Comparación por menor de dos instancias.
+        bool operator<(const Ascii& ascii) {
+#ifdef DEBUG
+            std::cerr << "En operator< de Ascii." << std::endl;
+#endif
+            return caracter < ascii.caracter;
+        }
+
+        /// Comparación por igual de dos instancias.
+        bool operator==(const Ascii& ascii) {
+#ifdef DEBUG
+            std::cerr << "En operator== de Ascii." << std::endl;
+#endif
+            return caracter == ascii.caracter;
+        }
+
+        /// Volcado a un stream de salida.
+        friend std::ostream& operator<<(std::ostream& out, const Ascii& ascii);
+
+        /// Captura desde un stream de entrada.
+        friend std::istream& operator>>(std::istream& in, const Ascii& ascii);
+
+};
+
+#endif // ASCII_H