Beruflich Dokumente
Kultur Dokumente
TECNICA.
PLANTEL AGUASCALIENTES I
Grupo: 410
Librera STRING.H.
funciones?).
Estructuras (Struct).
Fuentes.
GENERAR NUMEROS ALEATORIOS EN DEV C
En C, existe una funcin llamada rand(), que genera nmeros aleatorios. El problema que
tiene esta funcin es que siempre que reinicies el programa, aparecern los mismos
nmeros.
Para evitar esto, hay que darle un nmero semilla, el cual operar como base para la
generacin de la secuencia de nmeros. El problema con esto, es que si le damos un nmero
fijo, volvemos al problema anterior, ya que siempre utilizar la misma base definida y por
ende la secuencia ser la misma.
Entonces, lo que necesitamos es darle un nmero semilla dinmico, esto es, que vaya
cambiando cada vez que ejecutemos el programa.
Sabiendo esto, la funcin que da la semilla a rand() es srand(), que recibe como parmetro
(lo que va entre los parntesis) el nmero semilla, que en este caso, ser la hora del sistema
en segundos. As, a menos que el programa se ejecute 2 o ms veces en menos de un
segundo, los nmeros cambiarn.
La funcin para saber la hora actual del sistema es time(NULL).
Sabiendo esto, vamos al cdigo. Haremos un generador de nmeros aleatorios, donde la
cantidad de estos, la decidir el usuario, ingresando esta cantidad por teclado.
// Semilla de rand();
srand(hora);
numero = rand()%100;
printf("%d ", numero);
}
getch(); // genera una pausa en la ejecucion del programa
LIBRERIAS EN DEV C
En C++, se conoce como libreras (o bibliotecas) a cierto tipo de archivos que podemos
importar o incluir en nuestro programa. Estos archivos contienen las especificaciones de
diferentes funcionalidades ya construidas y utilizables que podremos agregar a nuestro
programa, como por ejemplo leer del teclado o mostrar algo por pantalla entre muchas
otras ms.
fstream:
Flujos hacia/desde ficheros. Permite la manipulacin de archivos desde el programar, tanto
leer como escribir en ellos.
iosfwd:
Contiene declaraciones adelantadas de todas las plantillas de flujos y sus typedefs estndar.
Por ejemplo ostream.
iostream:
Parte del a STL que contiene los algoritmos estndar, es quiz la ms usada e importante
(aunque no indispensable).
La biblioteca list:
Parte de la STL relativa a contenedores tipo list; listas doblemente enlazadas
math:
Contiene los prototipos de las funciones y otras definiciones para el uso y manipulacin de
funciones matemticas.
memory:
Utilidades relativas a la gestin de memoria, incluyendo asignadores y punteros inteligentes
(auto_ptr).
"auto_ptr" es una clase que conforma la librera memory y permite un fcil manejo de
punteros y su destruccin automaticamente.
Biblioteca new:
Manejo de memoria dinmica
numeric:
Parte de la librera numrica de la STL relativa a operaciones numricas.
ostream:
Algoritmos estndar para los flujos de salida.
queue:
Parte de la STL relativa a contenedores tipo queue (colas de objetos).
Librera stdio:
Contiene los prototipos de las funciones, macros, y tipos para manipular datos de entrada
y salida.
Librera stdlib:
Contiene los prototipos de las funciones, macros, y tipos para utilidades de uso general.
string:
Parte de la STL relativa a contenedores tipo string; una generalizacin de las cadenas
alfanumricas para albergar cadenas de objetos. Muy til para el fcil uso de las cadenas de
caracteres, pues elimina muchas d elas dificultades que generan los char
typeinfo:
Mecanismo de identificacin de tipos en tiempo de ejecucin
Vector:
Parte de la STL relativa a los contenedores tipo vector; una generalizacin de las matrices
unidimensionales C/C++
forward_list
Esta librera es til para implementar con gran facilidad listas enlazadas simples.
list
Permite implementar listas doblemente enlzadas (listas enlazadas dobles) facilmente.
iterator
Proporciona un conjunto de clases para iterar elementos.
regex
Proporciona fcil acceso al uso de expresiones regulares para la comparacin de patrones.
thread
til para trabajar programacin multihilos y crear mltiples hilos en nuestra aplicacin.
#include <iostream>
#include <string>
#include <math.h>
#include <conio.h>
LIBRERA STRING.H
string.h es una librera de c++ que contiene funciones que nos facilitan la vida al trabajar
con cadenas o strings. Una cadena es un conjunto de caracteres almacenados en una
variable.
Deberamos saber que char es un tipo de dato que almacena un caracter, por lo tanto un
arreglo lineal de caracteres es una cadena:
char str[100];
y mostrarla
Pero recuerden que no podemos hacer nada de esto si no tenemos incluida la librera
string.h. Vamos a ver un programa de ejemplo:
#include
#include
using namespace std;
int main()
{
char esunacadena[100] = "Soy una cadena", esunacopia[100];
strcpy(esunacopia, esunacadena);
strcat(esunacopia, " - copia");
cout << esunacadena << endl << esunacopia;
cin.get();
return 0;
}
NOMBRES DESCRIPCION
Memcpy Copia n bytes entre dos reas de memoria que no debe solaparse
Memmove Copia n bytes entre dos reas de la memoria; al contrario de mempcpy las reas pueden
solaparse
memchr Busca un valor a partir de una direccin de memoria dada y devuelve un puntero a la
primera ocurrencia del valor buscado o NULL si no se encuentra.
memcmp Compara los n primeros caracteres de dos reas de la 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 en 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
strcpy: La funcin strcpy se encuentra en la biblioteca <string.h> y se utiliza para copiar una
cadena de caracteres (fuente) en el lugar que ocupaba otra (destino). Esta copia es
destructiva, o sea, que todos los caracteres que estaban en la cadena destino desaparecen,
aunque la cadena destino fuera ms larga que la cadena fuente .La cadena destino se pone
como primer argumento de la funcin y la cadena fuente como segundo. Vamos a verlo con
un ejemplo.
#include<stdio.h>
#include<string.h>
int main()
{
char texto1[]="corta";
char texto2[]="mediana";
char texto3[]="larguisima";
strcpy(texto2,texto1);
printf("%s\n",texto2);
strcpy(texto2,texto3);
printf("%s\n",texto2);
getch();
return 0;
}
strcat: En el programa anterior vimos que la funcin strcpy es desctructiva, pero hay otra
funcin en la librera <string.h> que copia una cadena (fuente) en otra (destino) sin destruir
sta, es decir, que copia una cadena detrs de la otra esta funcin es conocida como strcat.
Vamos a hacer un ejemplo:
#include<stdio.h>
#include<string.h>
int main()
{
char texto1[]="Don Pepito";
char texto2[]=" y ";
char texto3[]="Don Jose";printf("%s\n",texto1);
strcat(texto1,texto2);
printf("%s\n",texto2);
strcat(texto1,texto3);
printf("%s\n",texto2);
getchar();
return 0;
}
strlen: esta funcin devuelve el total (entero) de caracteres que conforman una cadena
(excluyendo el caracter nulo \0). Vamos a hacer un ejemplo:
#include <stdio.h>
#include <string.h>
#include <conio.h>
#define MAXLON 80
int main(void)
{
char a[MAXLON+1];
int longitud;
clrscr();
printf ("Introduce una cadena (max. %d caracteres): ", MAXLON);
scanf("%s",&a);
longitud = strlen(a);
printf ("\nLongitud de la cadena: %d\n", longitud);
getch();
return 0;
}
Naturalmente, menor significa que va delante en orden alfabtico, y mayor que va detrs.
#include <stdio.h>
#include <string.h>
int main()
{
char s1[6] = "Abeja";
char s2[6] = "abeja";
int i;
printf( "s1=%s\t", s1 );
printf( "s2=%s\n", s2 );
i = strcmp( s1, s2 );
printf( "s1 es " );
if( i < 0 ) printf( "menor que" );
else if( i > 0 ) printf( "mayor que" );
else printf( "igual a" );
printf( " s2\n" );
return 0;
}
ESTRUCTURAS (struct)
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.
#include <iostream>
using namespace std;
int main()
{
struct
{
string nombre;
char inicial;
int edad;
float nota;
} persona;
persona.nombre = "Juan";
persona.inicial = 'J';
persona.edad = 20;
persona.nota = 7.5;
cout << "La edad es " << persona.edad;
return 0;}
#include <stdio.h>
#include <string.h>
#include<iostream>
#include<fstream>//LIBRERIA PARA MANEJAR ARCHIVOS
#include<string>
#include<windows.h>
int main()
{
//VARIABLES USADOS PARA INGRESAR Y GUARDAR LOS DATOS
string nombre, apellidos;
int codigo, sueldo;
char opc;
entrada.open("datos_empleados.txt",ios::out|ios::app);//LLAMAR EL ARCHIVO
if (entrada.fail())//PREGUNTAR SI EL ARCHIVO EXISTE
{
cout<< "ERROR AL ABRIR EL ARCHIVO"<<endl;
}
else
{
do
{
cout<<"******DATOS DE EMPLEADOS*******"<<endl;
cout<<endl;
cout<<"CODIGO: ";
cin>> codigo;
cout<<"NOMBRE: ";
cin>>nombre;
cout<<"APELLIDOS: ";
cin>>apellidos;
cout<<"SUELDO: ";
cin>>sueldo;
entrada<<codigo<<" "<<nombre<<" "<<apellidos<<"
"<<sueldo<<endl;//GUARDAR LOS DATOS
cout<<endl;
cout<<"desea continuar ingresando datos s/n"<<endl;
cin>>opc;
opc=toupper(opc);
}while (opc == 'S');
}
entrada.close();
system ("pausa");
return (0);
}
FUENTES
http://www.comolohago.cl/como-generar-numeros-aleatorios-en-c/
https://www.programarya.com/Cursos/C++/Bibliotecas-O-Librerias
https://ccodigo.wordpress.com/tag/string-h/
http://paginadec.webcindario.com/old/cadenas-funciones.html
https://es.slideshare.net/whaleejaa/manejo-de-archivos-en-lenguaje-c