[Índice][Previo][Siguiente]

Cout

C++, al igual que C, no tiene operaciones de entrada/salida como parte del lenguaje en sí, sino que define la librería stream para añadir estas funciones. La salida por pantalla se hace a través de cout, pero es algo diferente a la función printf(), ya que no tenemos que indicarle el tipo de la variable que queremos imprimir. Así se escribe en C++ el tradicional ejemplo "Hello, world":

  #include <iostream.h>

  main()
  {
   cout << "Hello, world";
  }

El operador <<, llamado operador de inserción, le dice al sistema que imprima la variable que le sigue, pero deja que el sistema decida cómo imprimir los datos. No le hemos indicado el tipo de la variable que queremos imprimir, como se hacía con printf(). Es el sistema el que determina el tipo de la variable, y lo imprime adecuadamente. Tampoco hemos formateado la salida. De nuevo es el sistema el que determina el número de cifras, el de espacios en blanco ...
Se pueden utilizar los caracteres de escape de C. Por ejemplo, en el programa anterior podemos añadir un retorno de carro:

  #include <iostream.h>

  main()
  {
   cout << "Hello, world\n";
  }

cout saca por pantalla cualquier tipo de dato estándar que existe en C++, bien sea un carácter, un número o movimientos especiales del cursor,como \n en el ejemplo anterior. Veamos otro programa:

  #include <iostream.h>
  main()
  {
   int a;
   float b;

   a = 4;
   b = 52.2;

   cout <<"Vamos a imprimir un número entero:";
   cout << a;
   cout <<'\n';
   cout <<"Y ahora uno real:";
   cout << b;
   cout <<'\n';
  }

La salida de este programa es:

Vamos a imprimir un número entero: 4
Y ahora uno real: 52.2

El programa tambien podría haber sido escrito de la siguiente forma:

  #include <iostream.h>

  main()
  {
   int a;
   float b;

   a = 4;
   b = 52.2;

   cout <<"Vamos a imprimir un número entero:" << a <<'\n';
   cout <<"Y ahora uno real:" << b <<'\n';
  }

En este ejemplo, hemos indicado al compilador que imprima una cadena de caracteres, seguida por un entero. Después, hemos imprimido una cadena distinta, seguida de un número real. También hemos utilizado el retorno de carro, '\n'. Hemos mandado imprimir un número real sin indicar su tipo. El sistema elige la salida apropiada basándose en su tipo. Hemos perdido un poco de control, porque no tenemos control sobre el número de dígitos significativos que imprimirá. Sin embargo, la función printf() se puede utilizar en C++, y las dos formas de salida por pantalla pueden mezclarse en un programa.
Veamos algunas características adicionales de la librería stream. El siguiente programa imprime el valor de un número en formato decimal (dec), octal (oct) y hexadecimal(hex).

#include <iostream.h>

main()
{
  int numero = 31;
  int numero2 = 23;

  cout <<"El valor decimal de número es:" << numero << '\n';
  cout <<"El valor octal de número es:" << oct <<numero << '\n';
  cout <<"El valor hexadecimal de número es:" << hex <<numero << '\n';

  cout <<"El valor hexadecimal de número2 es:" << numero2 << '\n';

}

La salida de este programa será:

El valor decimal de número es:31
El valor octal de número es:37
El valor hexadecimal de número es:1f
El valor hexadecimal de número2 es:17

Cuando se utiliza uno de los operadores especiales dec, oct o hex, todas las salidas sucesivas tomarán ese número base. Así, numero2 se imprime en hexadecimal debido a que esto es lo que se ha seleccionado en la anterior expresión cout. Si no se elige ninguno de estos operadores especiales, se toma por defecto el formato decimal.

[Índice][Previo][Siguiente]


Última modificación: 13-3-97

Comentarios, sugerencias, ideas...

© Beatriz Fuentes Arenaz, 1996-1997 /FONT>