Vous êtes sur la page 1sur 9

ELT-230 M.Sc.

Irma Prado

Tipos de datos

Hasta ahora hemos utilizado tipos de datos numéricos y de acuerdo al problema hemos
utilizado un tipo de dato adecuado a ese problema. Cada tipo de dato tiene un rango de
números que puede almacenar, si no se utiliza el tipo de dato correcto, entonces podemos
obtener datos erróneos,

La siguiente tabla muestra los diferentes tipos de datos en wxDevcpp:

Ejemplo 1.- Tipo de dato entero: int. Ejecute el programa y comente los resultados.

#include<iostream>
main()
{
int b,b1,b2,b3; //rango -2147483648 y 2147483647
b=45; //valor dentro del rango
b1=-2147483648; //limite inferior
b2=2147483647; //limite superior
b3=2147483650; //Valor fuera del rango
cout<<"valor dentro del rango del los enteros "<<b<<endl;
cout<<"limite inferior de los enteros "<<b1<<endl;
cout<<"limite superior de los enteros "<<b2<<endl;
cout<<"valor fuera del rango de los enteros "<<b3<<endl;
system("pause");
}

Ejemplo 2.- Tipo de dato entero: short. Ejecute el programa y comente los resultados.

#include<iostream>
main()
{
short b,b1,b2,b3; //-32768 y 32767
b=45; //valor dentro del rango
b1=-32768; //limite inferior

1
ELT-230 M.Sc. Irma Prado

b2=32767; //limite sureprios


b3=445566; //Valor fuera del rango
cout<<"valor dentro del rango del los enteros cortos "<<b<<endl;
cout<<"limite inferior de los enteros cortos "<<b1<<endl;
cout<<"limite superior de los enteros cortos "<<b2<<endl;
cout<<"valor fuera del rango de los enteros cortos "<<b3<<endl;
system("pause");
}

Ejemplo 3.- Tipo de dato entero: long. Ejecute el programa y comente los resultados.

#include<iostream>
main()
{
long b,b1,b2,b3; //-2147483648 y 2147483647
b=45; //valor dentro del rango
b1=-2147483648; //limite inferior
b2=2147483647; //limite superior
b3=2147483690; //Valor fuera del rango
cout<<"valor dentro del rango del los enteros largos "<<b<<endl;
cout<<"limite inferior de los enteros largos "<<b1<<endl;
cout<<"limite superior de los enteros largos "<<b2<<endl;
cout<<"valor fuera del rango de los enteros largos "<<b3<<endl;
system("pause");
}

Ejemplo 4.- Tipo de dato entero: long. Ejecute el programa y comente los resultados.

#include<iostream>
main()
{
bool a,b; //rango 0 y 1 , también se puede utilizar true o false
a=1;
b=0;
if (a){
cout<<"El valor de a es verdadero o "<<a<<endl;
}
if (b)//esto nunca sera verdad
{
cout<<"nunca me ejecutare :( ";
}
else {
cout<<"El valor de b es falso o "<<b<<endl;
}

2
ELT-230 M.Sc. Irma Prado

if (!b)//negamos b, entonces se vuelve verdadero


{
cout<<"El valor de b es falso o "<<b<<endl;
}
system("pause");
}

CADENAS

Tipos de dato char. Las variables de tipo char almacena letras, números y caracteres
especiales. Si un número se almacena como char entonces no se podrá realizar ninguna
operación matemática con él.

Una variable de tipo char declarada de la forma:

char p;

p almacenará un solo carácter y la asignación se la realiza con apóstrofes. Ejemplo p=’w’;

Si se quiere almacenar más caracteres entonces se declara la variable como un arreglo


utilizando []. Por ejemplo si declaramos:

char s[]=”hola amigo”;

debe llevar [] porque son varias letras, a veces es necesario indicar cuantos caracteres tendrá la
variable, para ello deben indicar con un número dentro de [].

En el ejemplo, la variable s=”hola amigo” esto quiere decir que la variable s está conformada
de la sgte manera:

Entonces la variable s está conformada por las letras incluyendo el espacio y el null o fin de
línea \0. Note que s[0] contiene la primera letra, en este caso la h, s[9] contiene la letra g y así
sucesivamente. Entonces se puede trabajar con letras independientes de todo el texto que
tiene la variable.

3
ELT-230 M.Sc. Irma Prado

Ejemplo 5. Asignación de un carácter en la variable char y otra variable con varios caracteres.

#include<iostream>
main()
{
char x='H';
cout<<"El valor de x es = "<<x<<endl;
char a[]="Viva Bolivia";
cout<<"El valor de a es ="<<a<<endl;
system("pause");
}
Comente las diferencias en este tipo de asignaciones de datos en la variable.

Ejemplo 6. Se puede trabajar con cada carácter de la variable tipo char, indicándole la posición
del caracter.

#include<iostream>
main()
{
char a[]="Viva Bolivia";
cout<<"Vamos a desplegar un caracter por fila"<<endl;
for(int i=0;i<12;i++){
cout<<a[i]<<endl;}
system("pause");
}
Comente por qué se utiliza for y qué papel juega i.

Ejemplo 7. - Otra manera de asignar texto a una variable char es carácter por carácter, en este
caso al final se debe adicionar \0. Vea el sgte ejemple;

#include<iostream>
main()
{
char z[]={'I','n','g','e','n','i','e','r','i','a','\0'};
cout<<"La cadena es = "<<z<<endl;
cout<<"Vamos a desplegar un caracter por fila"<<endl;
for(int i=0;i<11;i++){
cout<<z[i]<<endl;}
system("pause");
}

Ejemplo 8. El sgte ejemplo permite ingresar caracteres por teclado asignando a la variable k

#include<iostream>
main()
{

4
ELT-230 M.Sc. Irma Prado

char k[30];
cout<<"Escriba nombre y apellido "<<endl;
cin>>k;
cout<<"Hola "<<k<<endl;
system("pause");
}
El problema que presenta el programa anterior es que la sentencia cin solamente lee los
caracteres hasta encontrar un espacio. Entonces si al ejecutar el programa escribe como dato
“Juan Perez” la sentencia cin solamente asignará en k la palabra “Juan”. Para solucionar este
problema se recomienda leer datos de tipo char utilizando la sentencia gets(), sentencia que
lee una cadena de texto hasta encontrar enter. Esta sentencia se encuentra en la librería
stdio.h.

Ejemplo 9. Utilización de gets().

#include<iostream>
#include<stdio.h>
main()
{
char k[30];
cout<<"Escriba nombre y aopellido "<<endl;
gets(k);
cout<<"Hola "<<k<<endl;
system("pause");
}

Funciones importantes de la librería string.h

Solamente explicaremos las funciones más importantes de esta librería que trabaja con
cadenas tipo char.

strlen(): Permite obtener longitud de la cadena cadena, devuelve un entero.


Ejemplo 10. Cómo utilizar strlen()

#include<iostream>
#include<stdio.h>
main()
{
char k[]="Universidad Catolica Boliviana";
int c=0;
c=strlen(k);
cout<<k<<" tiene "<<c<<" caracteres incluyendo el espacio"<<endl;
system("pause");
}

5
ELT-230 M.Sc. Irma Prado

strcpy(char destino, char fuente): Permite copiar cadenas


Ejemplo 11. Programa para utilizar strcpy

#include<iostream>
#include<string.h>
main()
{
char nombre[] = "Viva Bolivia";
char copia[80];
strcpy(copia, nombre);
cout << copia << endl;
cout << nombre << endl;
cout<<"-----------------------------------"<<endl;
char f[]="Hola";
char d[strlen(f)]; //la variable destino debera tener el mismo o mayor numero de caracteres
strcpy(d, f);
cout<<" contenido de f "<<f<<endl;
cout<<" contenido de d "<<d<<endl;
system("pause");
}

strcmp(a,b): Compara dos cadenas, en base al orden del abcdario, tiene tres posibles
resultados :

 Si a es menor que b, el resultado es <0

 Si a es mayor que b, el resultado es >0

 Si a es igual a b, el resultado es 0

Ejemplo 12. Comparar dos cadenas

#include<iostream>
#include<string.h>
main()
{
char nombre1[] = "Ana";
char nombre2[]="Beatriz";
if (strcmp(nombre1, nombre2)<0){
cout<<nombre1<<" Es menor que "<< nombre2<<endl;
}
system("pause");
}

6
ELT-230 M.Sc. Irma Prado

Ejemplo 13. Comparar dos cadenas que ingresan por teclado

#include<iostream>
#include<string.h>
#include<stdio.h>
main()
{
char cad1[20];
char cad2[20];
cout<<"Primer texto ";
gets(cad1);
cout<<"Segundo texto ";
gets(cad2);
if (strcmp(cad1, cad2)<0){
cout<<cad1<<" Es menor que "<<cad2<<endl;
}
if (strcmp(cad1, cad2)>0){
cout<<cad1<<" Es mayor que "<<cad2<<endl;
}
if (strcmp(cad1, cad2)==0){
cout<<cad1<<" Es igual que "<<cad2<<endl;
}
system("pause");
}

Ejemplo 14. Programa para contar las letras a de una línea de texto.

#include<iostream>
#include<string.h>
#include<stdio.h>
main()
{
char texto[80];
int c=0;
cout<<"Escriba el texto"<<endl;
gets(texto);
for(int i=0;i<strlen(texto);i++){
if(texto[i]=='a'|| texto[i]=='A'){c++;} //para comparer un character utiliza ‘ ‘
}
cout<<"Total de letras a's "<<c<<endl;
system("pause");
}

Otro ejemplo
7
ELT-230 M.Sc. Irma Prado

#include <windows>
using namespace std;
int main()
{
Beep(523,500);
Beep(587,500);
Beep(659,500);
Beep(698,500);
Beep(784,500);
system("PAUSE");
}

Ejemplo:

#include<iostream>
using namespace std;
main()
{ /// probando CMD /C MOUNTVOL /R
int opcion;
do{
cout<<"1.dir 2.cls 3.mountvol 4.salir";
cin>>opcion;
switch(opcion){
case 1: system("dir");
system("pause");
break;
case 2: system("cls");
system("pause");
break;
case 3: system("mountvol c: /l");
system("pause");
break;
}
}while(opcion!=4);
}

Trabajo practico

1. Investigar las funciones de la librería string para convertir una cadena en mayúsculas y
realice un programa ejemplo.

8
ELT-230 M.Sc. Irma Prado

2. Investigar las funciones de la librería string para convertir una cadena en minúscular y
realice un programa ejemplo.

3. Realizar un programa que lea un nombre completo y obtega las iniciales

4. Dada una línea de texto contar las palabras

5. Contar cuantas letras x existen en una línea de texto.

Vous aimerez peut-être aussi