You are on page 1of 18

AL GORI T MOS Y P ROGRAMACI N

1
CLASE DE DATOS
Los tipos de datos soportados por C++ se
agrupan en clase escalar, clase estructurada y
clase apuntador.



C++
Clase Escalar
Clase
Estructurada
Entero
Clase
Apuntador
Booleana Carcter Flotante Enumerado
AL GORI T MOS Y P ROGRAMACI N
2
CLASE DE DATOS



Clase
Estructurada
Colas
Arreglo
Pilas
Clase
Apuntador
Estructura Class
Listas
AL GORI T MOS Y P ROGRAMACI N
3
CLASE DE DATOS
La clase escalar
La clase escalar se divide en clase estndar
(entero, flotante, carcter y booleana) y la clase
enumerada.

Clase Entero
Esta clase de dato estn dados por los enteros
negativos y positivos. Para la mayora de los
compiladores C++; el rango de los enteros
estndar va desde -32768 a 32767.
AL GORI T MOS Y P ROGRAMACI N
4
CLASE DE DATOS
Tipo de
Dato
Rango Valores Tamao
short int -128 a 127 1 bytes
int -32768 a 32767 2 bytes
long int -2147483648 a 2147483647 4 bytes
unsigned int 0 a 65555 2 bytes
AL GORI T MOS Y P ROGRAMACI N
5
CLASE DE DATOS
#include <iostream>
#include <limits.h>
using namespace std;
/* Las constantes INT_MAX, UINT_MAX, SHRT_MAX, etc, son
constantes ya predefinidas
y estan dentro de la libreria limits.h */
// Programa principal
int main()
{ cout<<"Entero sin signo maximo "<<UINT_MAX;
cout<<"\nEntero corto con signo maximo "<<SHRT_MAX;
cout<<"\nEntero corto con signo minimo "<<SHRT_MIN;
cout<<"\nEntero largo con signo minimo "<<LONG_MIN;
cout<<"\nEntero largo con signo maximo "<<LONG_MAX;
cout<<"\nEntero con signo maximo "<<INT_MAX;
cout<<"\nEntero con signo minimo "<<INT_MIN;
cout<<endl;

AL GORI T MOS Y P ROGRAMACI N
6
CLASE DE DATOS
cout<<\nChar maximo "<<CHAR_MAX;
cout<<"\nChar minimo "<<CHAR_MIN;
cout<<"\nChar sin signo maximo "<<UCHAR_MAX;
cout<<endl;
system("PAUSE");
}
AL GORI T MOS Y P ROGRAMACI N
7
CLASE DE DATOS
#include <iostream>
using namespace std;

int main()
{ cout<<"Un short tiene "<<sizeof(short)<<" Bytes"<<endl;
cout<<"Un int tiene "<<sizeof(int)<<" Bytes"<<endl;
cout<<"Un unsigned int tiene "<<sizeof(unsigned int)<<" Bytes"<<endl;
cout<<"Un long int "<<sizeof(long int)<<" Bytes"<<endl;
cout<<"Un unsigned long tiene "<<sizeof(unsigned long)<<" Bytes"<<endl;
system("PAUSE");
}
AL GORI T MOS Y P ROGRAMACI N
8
CLASE DE DATOS
Clase flotante
La clase flotante en C++, incluye a todos los nmeros
decimales. Este clase soporta los siguientes tipos de
datos float, double, long double.

Tipo de
Dato
Rango Valores Tamao
float 3.4 e-38 a 3.40 e+38 4 bytes
double 1.7 e -308 a 1.7 e +308 8 bytes
long double 3.4 e -4932 a 1.7 e +4932 10 bytes
AL GORI T MOS Y P ROGRAMACI N
9
CLASE DE DATOS
#include <iostream>
#include <float.h>
/* Las constantes FLT_MAX, FLT_MAX, DBL_MAX, etc, son
constantes ya predefinidas
y estan dentro de la libreria float.h, estos devuelven numeros
reales que indican
los limites en cada caso */
// Programa principal
using namespace std;
int main()
{ cout<<"Flotante maximo "<<FLT_MAX;
cout<<"\nFlotante minimo "<<FLT_MIN;
cout<<"\nDouble minimo "<<DBL_MIN;
cout<<"\nDouble Maximo "<<DBL_MAX;

AL GORI T MOS Y P ROGRAMACI N
10
CLASE DE DATOS
cout<<endl;
system("PAUSE");
} // Fin de programa
AL GORI T MOS Y P ROGRAMACI N
11
CLASE DE DATOS
#include <iostream>
using namespace std;
int main()
{ cout<<"Un float tiene "<<sizeof(float)<<" Bytes"<<endl;
cout<<"Un double tiene "<<sizeof(double)<<" Bytes"<<endl;
cout<<"Un long double tiene "<<sizeof(long double)<<" Bytes"<<endl;
system("PAUSE");
}
AL GORI T MOS Y P ROGRAMACI N
12
CLASE DE DATOS
Clase carcter
Los caracteres se representan por el cdigo ASCII
(American Standard Code for Information Interchange).
El ASCII es un conjunto que posee 256 cdigos (0 al 255) y
estn conformado por las letras, dgitos, signos de
puntuacin, etc.
Tipo de Dato Rango Valores Tamao
char -128 a 127 1 byte
unsigned char 0 a 255 1 byte
AL GORI T MOS Y P ROGRAMACI N
13
CLASE DE DATOS
#include <iostream>
using namespace std;

int main()
{ cout<<"Un char "<<sizeof(char)<<" Bytes"<<endl;
cout<<"Un unsigned char "<<sizeof(unsigned char)<<"Bytes"<<endl;
system("PAUSE");
}
AL GORI T MOS Y P ROGRAMACI N
14
CLASE DE DATOS
#include <iostream>
#include <ctype.h>
using namespace std;
int main()
{
char car;
cout<<"\nLetras mayusculas"<<endl;
for (car='A'; car<= 'Z'; car++)
cout<<car<<" = "<<toascii(car)<<"\t";

cout<<"\nLetras minusculas"<<endl;
for (car='a'; car<= 'z'; car++)
cout<<car<<" = "<<toascii(car)<<"\t";
cout<<endl<<endl;
system("PAUSE");
}
AL GORI T MOS Y P ROGRAMACI N
15
CLASE DE DATOS
Clase bool

Todo objeto tipo lgico (bool) posee slo uno de dos
valores; TRUE (verdad) y FALSE (falso). La clase bool de
C++, define false y true de tal forma que false siempre es
menor que true. En general para todo programa C/C++
FALSE=0 y TRUE=1.

La clase bool es soportada por compiladores modernos de
C++ (como Dev C++), de acuerdo con el estndar ANSI C++.
Si su compilador C++ no la posee, usted puede
implementarla mediante la declaracin de objetos
enumerados tal como se ver enseguida.

AL GORI T MOS Y P ROGRAMACI N
16
CLASE DE DATOS
Clase enum

La clase enum se estudia por compatibilidad con el lenguaje
C; la cual permite al usuario declarar y usar tipos
enumerados en sus programas. La declaracin de datos
enumerados se realiza con la palabra reservada enum,
siendo su formato el siguiente,

enum <identificador clase>{valor1, valor2, ... , valorN};
<identificador clase> <identificador objeto>;

Ejemplo:
enum Semana { Dom, Lun, Mar, Mie, Jue, Vie, Sab};
Semana Dia;

enum Paradigma { Estructurado, POO, Funcional, Logico};
Paradigma Lenguaje;

AL GORI T MOS Y P ROGRAMACI N
17
CLASE DE DATOS
#include <iostream>
using namespace std;
enum Semana {Lun=1, Mar, Mie, Juev, Vier, Sab,Dom};
int main()
{ int Dia;
for (Dia=Dom; Dia<=Sab; Dia++)
switch(Dia)
{ case 1 : cout<<"\nEl Dia "<<Dia<<" es Lunes"; break;
case 2 : cout<<"\nEl Dia "<<Dia<<" es Martes"; break;
case 3 : cout<<"\nEl Dia "<<Dia<<" es Miercoles"; break;
case 4 : cout<<"\nEl Dia "<<Dia<<" es Jueves"; break;
case 5 : cout<<"\nEl Dia "<<Dia<<" es Viernes"; break;
case 6 : cout<<"\nEl Dia "<<Dia<<" es Sabado";
case 7 : cout<<"\nEl Dia "<<Dia<<" es Domingo"; break;

}
system(pause);
}
AL GORI T MOS Y P ROGRAMACI N
18
CLASE DE DATOS

You might also like