1 Entrada / Salida Streams Archivos Algoritmos y Estructuras de Datos I Departamento de Computación, Facultad de Ciencias Exactas y Naturales, Universidad de Buenos Aires
2 Introducción Repaso de tipos Repaso de clases Entrada / Salida por consola (cin / cout) Entrada / Salida por archivo (librería fstream) Streams. Manipulación de archivos. Clase viernes 12/06/2009
3 Repaso de tipos int double char String Streams. Manipulación de archivos. Clase viernes 12/06/2009
4 Repaso de tipos int: Representa un número entero double: Representa un número real char: Representa un carácter. string: Representa una secuencia de caracteres. Streams. Manipulación de archivos. Clase viernes 12/06/2009
5 Salida #include // Biblioteca Entrada/Salida using namespace std; int main(int argc, char *argv[]) cout
6 Salida Streams. Manipulación de archivos. Clase viernes 12/06/2009 #include // Biblioteca Entrada/Salida using namespace std; int main(int argc, char *argv[]) cout
7 Salida #include // Biblioteca Entrada/Salida using namespace std; int main(int argc, char *argv[]) { int i = 4; cout
8 Salida Streams. Manipulación de archivos. Clase viernes 12/06/2009 #include // Biblioteca Entrada/Salida using namespace std; int main(int argc, char *argv[]) { int i = 4; cout
9 Salida #include // Biblioteca Entrada/Salida using namespace std; int main(int argc, char *argv[]) { char i = 'c'; int i = 4; double i = 3.4; string i = “Salida de Viernes”; cout
10 Salida #include // Biblioteca Entrada/Salida using namespace std; int main(int argc, char *argv[]) { int Argentina = 0; int Ecuador = 2; cout
11 Salida Streams. Manipulación de archivos. Clase viernes 12/06/2009 #include // Biblioteca Entrada/Salida using namespace std; int main(int argc, char *argv[]) { int Argentina = 0; int Ecuador = 2; cout
12 Salida #include // Biblioteca Entrada/Salida using namespace std; int main(int argc, char *argv[]) { int Argentina = 0; int Ecuador = 2; cout
13 Salida Streams. Manipulación de archivos. Clase viernes 12/06/2009 #include // Biblioteca Entrada/Salida using namespace std; int main(int argc, char *argv[]) { int Argentina = 0; int Ecuador = 2; cout
14 Salida Streams. Manipulación de archivos. Clase viernes 12/06/2009 #include // Biblioteca Entrada/Salida using namespace std; int main(int argc, char *argv[]) { int Argentina = 0; int Ecuador = 2; cout
15 Salida Streams. Manipulación de archivos. Clase viernes 12/06/2009 Un gran poder conlleva una gran responsabilidad...
16 Salida Ejercicio: Hacer un programa que muestre por pantalla los primeros mil números naturales.... tienen 5 min. por reloj. Streams. Manipulación de archivos. Clase viernes 12/06/2009 Tipear los 1000 número me va a llevar más de 5 min.... qué era eso de los ciclos?
17 Objetos Streams. Manipulación de archivos. Clase viernes 12/06/2009
18 Clases Streams. Manipulación de archivos. Clase viernes 12/06/2009
19 Objetos Streams. Manipulación de archivos. Clase viernes 12/06/2009 Atributos - Modelo - Color - Cantidad de ruedas Métodos - Iguales
20 bicicleta.h Streams. Manipulación de archivos. Clase viernes 12/06/2009 Atributos - Modelo - Color - Cantidad de ruedas Métodos - Iguales
21 bicicleta.cpp Streams. Manipulación de archivos. Clase viernes 12/06/2009 Atributos - Modelo - Color - Cantidad de ruedas Métodos - Iguales
22 main.cpp Streams. Manipulación de archivos. Clase viernes 12/06/2009 Atributos - Modelo - Color - Cantidad de ruedas Métodos - Iguales
23 main.cpp Streams. Manipulación de archivos. Clase viernes 12/06/2009 Atributos - Modelo - Color - Cantidad de ruedas Métodos - Iguales
24 Salida Ejercicio: Agregar al tipo Bicicleta los métodos públicos string modelo() const; string color() const; int ruedas() void mostrarsePorPantalla();... tienen 7 min. por reloj. Streams. Manipulación de archivos. Clase viernes 12/06/2009 No se me cae una idea...
25 Salida ¿Qué pasa si utilizo... Bicicleta b1(“paseo”,”rojo”,2); cout
26 Salida ¿Qué pasa si utilizo... Bicicleta b1(“paseo”,”rojo”,2); cout
27 Salida ¿Solución: Implementar el operador
28 Salida Ejercicio: implementar operator
29 cout b1 bicicleta.h std::ostream & operator
30 Salida Streams. Manipulación de archivos. Clase viernes 12/06/2009 NUEVO
31 Salida Streams. Manipulación de archivos. Clase viernes 12/06/2009
32 Salida Streams. Manipulación de archivos. Clase viernes 12/06/2009 Callejón sin Salida
33 bicicleta4.txt Entrada Streams. Manipulación de archivos. Clase viernes 12/06/2009 ( cross amarillo 2 )
34 Salida Streams. Manipulación de archivos. Clase viernes 12/06/2009
35 bicicleta4.txt Entrada Streams. Manipulación de archivos. Clase viernes 12/06/2009 ( cross amarillo 2 ) Por qué levanta “cross” y no levanta “cross amarillo” ?
36 bicicleta4.txt Entrada Streams. Manipulación de archivos. Clase viernes 12/06/2009 ( cross amarillo 2 ) Por qué levanta “cross” y no levanta “cross amarillo” ? Y si el archivo tiene: o tiene: (cross racer amarillo 2) (cross racer amarillo patito 2)
37 Entrada Streams. Manipulación de archivos. Clase viernes 12/06/2009 bicicleta4.txt ( |cross racer| |amarillo patito| 2 ) + ciclos!!!
38 bicicleta4.txt Entrada Streams. Manipulación de archivos. Clase viernes 12/06/2009 ( |cross racer| |amarillo patito| 2 ) Si no ponemos separador, toma por defecto fin de línea
39 Y nos faltó... Y no vimos... pero pueden investigar: cin archivo.good() archivo.peek() archivo.MASOPCIONES Streams. Manipulación de archivos. Clase viernes 12/06/2009
40 ¿Preguntas? Streams. Manipulación de archivos. Clase viernes 12/06/2009