Está en la página 1de 12

Plantel I Plantel J. Refugio.

Esparza Reyes

Informtica

Modulo:
Programacin orientada a objetos

Maestra. L. I:
Yolanda Catalina Navarrete Beas

Trabajo:
Definiciones de conceptos

Alumna:
Miriam Alejandra Acosta de Santiago
Grupo: 410

INDICE

1. Genera nmeros aleatorios.

2. Librerias de Dev.

3. Librerias de String.

4. Funciones, manejo de cadenas.

5. Estructuras y manejo de estas.

6. Instrucciones del manejo de archivos.


Generar nmeros aleatorios

#include <stdio.h>
#include <stdlib.h>
#include <time.h>

#define NUM_ELEM 16

int main(void)
{
int i;

srand((unsigned) time(NULL));

printf("Test: ");
for (i = 0; i < NUM_ELEM; i++){
printf("%d", rand() % NUM_ELEM);
printf(i == NUM_ELEM - 1 ? "\n" : " ");
}

return EXIT_SUCCESS;
}

Devuelve un nmero pseudo- aleatorio integral en el rango entre 0 y RAND_MAX .

Este nmero es generado por un algoritmo que devuelve una secuencia de nmeros
aparentemente no relacionados cada vez que se llama. Este algoritmo utiliza una semilla para
generar la serie, que debe ser inicializada a algn valor distintivo utilizando la funcin srand .

RAND_MAX es una constante definida en <cstdlib> .

Una forma tpica de generar nmeros pseudo-aleatorios triviales en un rango determinado


usando rand es usar el mdulo del valor devuelto por el intervalo de rango y agregar el valor inicial
del rango:

1 v1 = rand() % 100; // v1 in the range 0 to 99 v2 = rand() % 100 + 1; // v2 in the range 1 to 100 v3


= rand() % 30 + 1985; // v3 in the range 1985-2014
2

LIBRERIAS BASICAS USADAS EN DEVC++

Fstream: Permite la munipulacion de archivos desde el programador, tanto leer como escribir en
ellos.
Iosfud: Contienen declaraciones adelantadas de todas las plantillas de flujo y sus typedets
estandar. por ejemplo: Ostream

Iostream:

List: Parte de la STL relativa a los contenedores tipo list, lista doblemente enlazada.

Math: contiene los prototipos de las funciones, otras definiciones para el uso y manupulacion de
funciones matematicas.

Memory: utilidades relativas a la gestion de memoria incluyendo asignadores y punteros


inteligentes.

New: Manejo de memoria dinamica

Numeric: Parte de la libreria numerica de la STL relativa a operaciones numericas.

Ostream:Algoritmos estandar para los flujos de salida

Queve: Parte de la STL relativa a contenedores tipoqueve (Colas de Objeto)

Studio: Contiene los prototipos de las funciones macros, para para utilidades de uso general.

String: Parte de la STL relativa a contenedores tipo string, una generalizacion de las cadenas
alfanumericas para albergar cadenas de objetos, pues eliminan muchas de las dificultades que
generan las char.

Typcinto: Mecanismo de identificacion de tipo en tiempo de ejecucion.

Vector: Parted e la STL relativa a los contenedores tipo vector, una generacion de las matrices
unidimencionales.

<string>.

Para declarar una cedena, hacer:


string cadena = "texto";

Y para buscar una subcadena dentro de otra puedes usar el metodo


find.

LIBRERIAS DE STRING

Nombres Descripcin

memcpy copia n bytes entre dos reas de memoria que no deben solaparse
copia n bytes entre dos reas de memoria; al contrario que memcpy las reas
memmove
pueden solaparse

busca un valor a partir de una direccin de memoria dada y devuelve un puntero a


memchr
la primera ocurrencia del valor buscado o NULL si no se encuentra

memcmp compara los n primeros caracteres de dos reas de memoria

memset sobre escribe un rea de memoria con un patrn de bytes dado

strcat aade una cadena al final de otra

strncat aade los n primeros caracteres de una cadena al final de otra

strchr localiza un carcter en una cadena, buscando desde el principio

strrchr localiza un carcter en una cadena, buscando desde el final

strcmp compara dos cadenas alfabticamente ('a'!='A')

strncmp compara los n primeros caracteres de dos cadenas numricamente ('a'!='A')

strcoll compara dos cadenas segn la colacin actual ('a'=='A')

strcpy copia una cadena en otra

strncpy copia los n primeros caracteres de una cadena en otra

strerror devuelve la cadena con el mensaje de error correspondiente al nmero de error


dado

strlen devuelve la longitud de una cadena

devuelve la posicin del primer carcter de una cadena que no coincide con
strspn
ninguno de los caracteres de otra cadena dada

devuelve la posicin del primer carcter que coincide con alguno de los caracteres
strcspn
de otra cadena dada

encuentra la primera ocurrencia de alguno de los caracteres de una cadena dada


strpbrk
en otra

strstr busca una cadena dentro de otra

strtok parte una cadena en una secuencia de tokens

strxfrm transforma una cadena en su forma de colacin (??)

strrev invierte una cadena

Funciones, manejo de cadenas:

Una cadena en C++ es un conjunto de caracteres, o valores de tipo char, terminados con el
carcter nulo, es decir el valor numrico 0. Internamente, en el ordenador, se almacenan en
posiciones consecutivas de memoria. Este tipo de estructuras recibe un tratamiento muy especial,
ya que es de gran utilidad y su uso es continuo.

La manera de definir una cadena es la siguiente:

char Saludo[5];

Las cuatro primeras posiciones se usan para almacenar los caracteres "HOLA" y la posicin extra,
para el carcter nulo.
Tambin nos ser posible hacer referencia a cada uno de los caracteres individuales que
componen la cadena, simplemente indicando la posicin. Por ejemplo el tercer carcter de nuestra
cadena de ejemplo ser la 'L', podemos hacer referencia a l como Saludo[2].

Es muy importante tener presente que en C++, los ndices tomarn valores empezando siempre en
cero, as el primer carcter de nuestra cadena sera Saludo[0], que es la letra 'H'.

En un programa C++, una cadena puede almacenar informaciones en forma de texto, como
nombres de personas, mensajes de error, nmeros de telfono, etc.

La asignacin directa slo est permitida cuando se hace junto con la declaracin.

El siguiente ejemplo producir un error en el compilador, ya que una cadena definida de este modo
se considera una constante, como veremos en el captulo de "arrays" o arreglos.

char Saludo[5] = "HOLA";

Estructuras
Al

contrario que los arrays, las estructuras nos permiten agrupar varios datos, que mantengan algn
tipo de relacin, aunque sean de distinto tipo, permitiendo manipularlos todos juntos, usando un
mismo identificador, o cada uno por separado.

Las estructuras son llamadas tambin muy a menudo registros, o en ingls records. Tienen muchos
aspectos en comn con los registros usados en bases de datos. Y siguiendo la misma analoga,
cada objeto de una estructura se denomina a menudo campo, o field.

Sintaxis:

struct [<identificador>] {
[<tipo> <nombre_objeto>[,<nombre_objeto>,...]];
} [<objeto_estructura>[,<objeto_estructura>,...];

El identificador de la estructura es un nombre opcional para referirse a la estructura.

Los objetos de estructura son objetos declarados del tipo de la estructura, y su inclusin tambin es
opcional. Sin bien, an siendo ambos opcionales, al menos uno de estos elementos debe existir.

En el interior de una estructura, entre las llaves, se pueden definir todos los elementos que
consideremos necesarios, del mismo modo que se declaran los objetos.

Las estructuras pueden referenciarse completas, usando su nombre, como hacemos con los
objetos que ya conocemos, y tambin se puede acceder a los elementos definidos en el interior de
la estructura, usando el operador de seleccin (.), un punto.

Una vez definida una estructura, es decir, si hemos especificado un nombre para ella, se puede
usar igual que cualquier otro tipo de C++. Esto significa que se pueden declarar ms objetos del
tipo de estructura en cualquier parte del programa. Para ello usaremos la forma normal de
declaracin de objetos, es decir:
[struct] <identificador> <objeto_estructura>
[,<objeto_estructura>...];

las estructuras nos ayudan a agrupar datos de una manera ms ordenada y fcil para nosotros.

#include<iostream>
using namespace std;
struct contacto{
int edad;
int numero;
char nombre[30];
};
int main()
{
struct contacto Amigo;
cout << "Ingrese Nombre: ";
cin >> Amigo.nombre;
cout << "Ingrese Edad: ";
cin >> Amigo.edad;
cout << "Ingrese Numero: ";
cin >> Amigo.numero;
cout << "\nNombre: " << Amigo.nombre << "\nEdad: " << Amigo.edad << "\nNumero de Telefono:
" << Amigo.numero << endl;
return 0;
}

Una estructura contiene varios datos. La forma de definir una estructura es haciendo uso de la
palabra clave struct. Aqui hay ejemplo de la declaracion de una estructura:

struct mystruct
{
int int_member;
double double_member;
char string_member[25];
} variable;

"variable" es una instancia de "mystruct" y no es necesario ponerla aqu. Se podria omitir de la


declaracion de "mystruct" y ms tarde declararla usando:

struct mystruct variable;

Tambin es una prctica muy comn asignarle un alias o sinnimo al nombre de la estructura, para
evitar el tener que poner "struct mystruct" cada vez. C nos permite la posibilidad de hacer esto
usando la palabra clave typedef, lo que crea un alias a un tipo:
typedef struct
{
...
} Mystruct;

La estructura misma no tiene nombre (por la ausencia de nombre en la primera linea), pero tiene
de alias "Mystruct". Entonces se puede usar as:

Mystruct variable;

Note que es una convencion, y una buena costumbre usar mayscula en la primera letra de un
sinnimo de tipo. De todos modos lo importante es darle algn identificador para poder hacer
referencia a la estructura: podriamos tener una estructura de datos recursiva de algn tipo.

Instrucciones de manejo de archivos

Entrada/Salida de archivos

Trataremos los principales aspectos de las operaciones de E/S en archivos.

Operaciones de escritura en archivos

El archivo de cabecera fstream.h define las clases ifstream, ostream y fstream para operaciones
de lectura, escritura y lectura/escritura en archivos respectivamente. Para trabajar con archivos
debemos crear objetos de stas clases de acuerdo a las operaciones que deseamos efectuar.
Empezamos con las operaciones de escritura, para lo cual bsicamente declaramos un objeto de la
clase ofstream, despus utilizamos la funcin miembro open para abrir el archivo, escribimos en el
archivo los datos que sean necesarios utilizando el operador de insercin y por ltimo cerramos el
archivo por medio de la funcin miembro close, ste proceso est ilustrado en nuestro primer
programa, archiv01.cpp.

#include <fstream.h>

int main()
{
ofstream archivo; // objeto de la clase ofstream

archivo.open("datos.txt");

archivo << "Primera lnea de texto" << endl;


archivo << "Segunda lnea de texto" << endl;
archivo << "ltima lnea de texto" << endl;
archivo.close();
return 0;
}

En el programa se ha creado un objeto de la clase ofstream llamado archivo, posteriormente se


utiliza la funcin miembro open para abrir el arcivo especificado en la cadena de texto que se
encuentra dentro del parntesis de la funcin. Podemos invocar a la funcin constructora de clase
de tal manera que el archivo tambin se puede abrir utilizando la siguiente instruccin:

ofstream archivo("datos.txt"); // constructora de ofstream

Naturalmente, al utilizar la funcin constructora ya no es necesario utilizar la funcin


miembro open, sta forma de abrir un archivo es preferida porque el cdigo es ms compacto y
fcil de leer. De la misma forma que se utilizan manipuladores de salida para modificar la
presentacin en pantalla de los datos del programa, igual es posible utilizar stos manipuladores al
escribir datos en un archivo como lo demuestra el programa archiv02.cpp, observe que se utiliza
un constructor para crear y abrir el archivo llamado Datos.txt:

Modos de apertura de archivo

Al especificar la apertura de un archivo como se ha mostrado en los programas anteriores, el


programa sobreescribe cualquier archivo existente llamado Datos.txt en el directorio de trabajo del
programa. Dependiendo del propsito del programa es posible que sea necesario agregar datos a
los ya existentes en el archivo, o quiz sea necesario que las operaciones del programa no se
lleven a cabo en caso de que el archivo especificado exista en el disco, para stos casos podemos
especificar el modo de apertura del archivo incluyendo un parmetro adicional en el constructor,
cualquiera de los siguientes:

ios::app Operaciones de aadidura.

ios::ate Coloca el apuntador del archivo al final del mismo.

ios::in Operaciones de lectura. Esta es la opcin por defecto para objetos de la clase
ifstream.

ios::out Operaciones de escritura. Esta es la opcin por defecto para objetos de la clase
ofstream.

ios::nocreate Si el archivo no existe se suspende la operacin.


ios::noreplace Crea un archivo, si existe uno con el mismo nombre la operacin se
suspende.

ios::trunc Crea un archivo, si existe uno con el mismo nombre lo borra.

ios::binary Operaciones binarias.

Operaciones de lectura de archivos

Para abrir un archivo y realizar operaciones de lectura se crea un objeto de la clase ifstream y se
procede prcticamente de la misma forma que lo expuesto en el apartado anterior. Despus de
abrir el archivo se puede leer su contenido utilizando las funciones miembro de la clase ifstream o
bin el operador de extraccin. Cuando se lee un archivo, por lo general se empieza al principio del
mismo y se leer su contenido hasta que se encuentre el final del archivo. Para determinar si se ha
llegado al final del archivo se puede utilizar la funcin miembro eof como condicin de un
bucle while. Adems se puede utilizar la funcin miembro fail para detectar un error al abrir el
archivo.

También podría gustarte