lunes, 30 de septiembre de 2019

Allegro

¿Qué es?
Allegro (pronunciado alegro) es una biblioteca libre y de código abierto para la programación de videojuegos desarrollada en lenguaje C. Allegro es un acrónimo de «Atari Low Level Game Routines» (rutinas de bajo nivel para videojuegos).

La biblioteca cuenta con funciones para gráficos, manipulación de imágenes, texto, sonidos, dispositivos de entrada (teclado, ratón y mandos de juego) y temporizadores, así como rutinas para aritmética de punto fijo y acceso al sistema de archivos. Hasta agosto de 2011, hay 2 versiones de Allegro que cuentan con soporte oficial por parte de los desarrolladores, la versión clásica (Allegro 4) y la nueva versión (Allegro 5). La versión más reciente de Allegro 4 incluye soporte para el manejo de archivos de datos y una implementación por software de funciones para gráficos en 3D. La versión 5 de Allegro cuenta con una nueva API y cambia la implementación por software de las rutinas gráficas por una implementación basada en OpenGL o Direct3D.

Instrucciones
Propósito
ejemplo
allegro_init();
En este punto estamos llamando a la librería, todavía hasta acá no está haciendo nada pero, desde acá podemos empezar a utilizar las funciones de allegro.

allegro_exit();
Aquí cerramos la librería, llamamos esta función porque ya la vamos a utilizar más

END _ OF _ MAIN();
Receta de cocina, necesario para que funcione en Unix/Linux, pero no afecta el código en Windows.

install_keyboard();
Le entrega al allegro el control del teclado, lo que nos permitirá utilizar sus funciones para capturar datos

set _ color _ depth(8);
Especifica la profundidad de color a la que deseamos trabajar (8,16,32 bits), la profundidad por defecto es 8 bits, mientras más alta es más lento y más bonito.

set _gfx_mode(GFX_AUTODETECT,800,600,0,0);
Inicia el modo gráfico. Resolución de la pantalla que deseemos abrir (800x600 pixels) allegro permite abrir cualquier resolución que soporte la tarjeta de video.

void textprintf(Bitmap* bmp, font f, int x, int y, int c, char* formato, var1, var2, ... , varn);
Estas funciones me permiten imprimir variables y texto en un Bitmap

char* s1=”hola mundo”; int c=1; textprintf(screen,font,300,300,15,”%s , %d”,s1,c);
void textout(Bitmap* bmp, font f, char* cad,int x, int y, int c);
Imprime en bmp, con la fuente f, en la posicion (x,y) y del color c la cadena cad

textmode(15); textout(screen,font,” c ”,10,10,0);

int rectfill(Bitmap *bmp,int x1,int y1, int x2,int y2, int c);
Dibuja un rectángulo, desde la posición (x1,y1) hasta la posición (x2,y2) de bmp relleno con el color c, y sin borde.

void circle(Bitmap *bmp,int x,int y,int r,int c);
Dibuja un circulo de radio r con centro (x,y) de bmp y de color de borde c, sin relleno.

void circlefill(Bitmap *bmp,int x,int y,int r,int c);
Dibuja un circulo de radio r con centro (x,y) de bmp y de color de relleno c y sin borde.

int floodfill(Bitmap *bmp,int x,int y, int c);
Rellena con el color c, un área cerrada, empezando por x,y.

int readkey(void);
Detiene la ejecución del programa en espera de que presionen UNA sola tecla, devuelve el código ascii, de la tecla presionada, NO imprime en pantalla la tecla presionada.
int c; c=readkey(); textprintf(screen, font, 10,10, 15,”Tecla presionada=%c”,c);
int keypressed(void);
Esta función devuelve 1 cuando se ha presionado una tecla y sigue, en este estado hasta que se limpie el buffer de teclado.

int clear _ keybuf(void);
int clear _ keybuf(void);

void show _ mouse(Bitmap *bmp);
Muestra el cursor del ratón en el Bitmap bmp, por lo general screen, para quitar el mouse de bmp usar show_mouse(NULL).

void scare _ mouse(void);
Esconde el cursor del ratón, aunque este siga estando allí, necesario cuando se va a dibujar algo en el mismo bitmap en que esta el mouse.

void position_mouse(void);
Lleva el mouse a la posición x,y

int mouse _ x; int mouse _y;
Variables globales que contienen en todo momento, la posición del ratón



viernes, 27 de septiembre de 2019

firma

1:
#include <stdio.h>
#include <windows.h>
#include <iostream>
using namespace std;
void suma();
void firma();
int x=0,y=1,z, j;
void gotoxy(int x, int y){
HANDLE hcon;
hcon= GetStdHandle(STD_OUTPUT_HANDLE);
COORD dwPos;
dwPos.X= x;
dwPos.Y= y;
SetConsoleCursorPosition(hcon, dwPos);
}
int main(){
 suma();
 firma();
 return 0;
}
void suma(){
 cout<<"Iniciando proceso de suma e impresion"<<endl;
 cout<<"0"<<endl;
 cout<<"1"<<endl;
  for(int i=0; i<=10; i=i+1){
  z=x+y;
  cout<<z<<endl;
  x=y;
  y=z;
 }
 cout<<"Proceso de suma e impresion finalizada"<<endl;
}
 void firma(){
  for(j=1;j<=1;j++){
  gotoxy(39,j);//posiciona el cursor en columna 15 y fila de 1 a 25
  system("color 4");//Cambia el color del texto
  cout<<"JuanBeaker";
  //system("cls");//Borra la pantalla
 }
 for(j=1;j<=1 ;j++){
  gotoxy(j,15);//Posiciona el cursor en la fila 15 y la columna cambia de 1 a 25
  system("color 4");
  cout<<"Juan Carlos Morales Chavez";
  //system("cls");
 }
}



2:
#include <stdio.h>
#include <windows.h>
#include <iostream>
using namespace std;
void gotoxy(int x, int y){
HANDLE hcon;
hcon=GetStdHandle(STD_OUTPUT_HANDLE);
COORD dwPos;
dwPos.X= x;
dwPos. Y= y;
SetConsoleCursorPosition(hcon, dwPos);
}
int j;
void ingresar();
void suma();
void impresion();
void firma();

int n1,n2,n3,s;

int main(){
ingresar();
suma();
impresion();
firma();
return 0;
}
void ingresar(){
cout<<"Iniciando proceso de captura de datos"<<endl;
cout<<"Ingrese el primer numero"<<endl;
cin>>n1;
cout<<"Ingrese el segundo numero"<<endl;
cin>>n2;
cout<<"Ingrese el tercer numero"<<endl;
cin>>n3;
cout<<"Proceso de captura de datos finalizado"<<endl<<endl;
}
void suma(){
cout<<"Iniciando proceso de suma de datos"<<endl;
s=n1+n2+n3;
cout<<"Proceso de suma de datos finalizado"<<endl<<endl;
}
void impresion(){
cout<<"Iniciando proceso de impresion de datos"<<endl;
cout<<"La suma es: "<<s<<endl;
cout<<"Proceso de impresion de datos finalizada"<<endl<<endl;
}
void firma()
{
for(j=1;j<=1;j++){
gotoxy(40,j);//posiciona el cursor en la columna 15 y fila de 1 a 25
system("color E");//cambia el color del texto
cout<<("JuanBekaer");
//system("cls");//borra la pantalla
}
for(j=1;j<=1;j++){
gotoxy(j,15);//posiciona el cursor en la fila 15 y la columna cambia de 1 a 25
system("color E");
cout<<("Juan Carlos Morales Chavez");
//system("cls");
   }
}


3:
#include <stdio.h>
#include <windows.h>
#include <iostream>
using namespace std;
void gotoxy(int x, int y){
HANDLE hcon;
hcon=GetStdHandle(STD_OUTPUT_HANDLE);
COORD dwPos;
dwPos.X= x;
dwPos. Y= y;
SetConsoleCursorPosition(hcon, dwPos);
}
int j;
void firma();
void cuadrado();
void triangulo();
void circulo();
void rectangulo();
void cubo();
void cilindro();
int opc,area,a,h,r,vol;
int main(){
system("color F4");
 do{
  cout<<" ________________________"<<endl;
  cout<<"|    Menu de opciones    |"<<endl;
  cout<<"|1. Area del cuadrado    |"<<endl;
  cout<<"|2. Area del triangulo   |"<<endl;
  cout<<"|3. Area del circulo     |"<<endl;
  cout<<"|4. Area del rectangulo  |"<<endl;
  cout<<"|5. Volumen del cubo     |"<<endl;
  cout<<"|6. Volumen del cilidro  |"<<endl;
  cout<<"|7. Salir                |"<<endl;
  cout<<"|________________________|"<<endl;
  cout<<"Ingrese la opcion que desea elegir: ";
  cin>>opc;
  cout<<endl;
  firma();
  switch(opc){
case 1:
    cuadrado();
   break;
   case 2:
    triangulo();
   break;
   case 3:
    circulo();
   break;
   case 4:
    rectangulo();
   break;
   case 5:
    cubo();
   break;
   case 6:
    cilindro();
   break;
   case 7:
   break;
  }
 }while(opc != 7);
 return 0;
}
void cuadrado(){
 cout<<"Iniciando proceso de captura de datos"<<endl;
 cout<<"Ingrese la medida de un lado del cuadrado";
 cin>>a;
 cout<<"Proceso de captura de datos finalizada"<<endl<<endl;
 cout<<"Iniciando procedimiento para sacar el area"<<endl;
 area=a*a;
 cout<<"Procedimiento finalizado"<<endl<<endl;
 cout<<"Iniciando proceso de impresion"<<endl;
 cout<<"El area del cuadrado es:"<<area<<endl;
 cout<<"Proceso de impresion finalizado"<<endl<<endl;
 }
void triangulo(){
 cout<<"Iniciando proceso de captura de datos"<<endl;
 cout<<"Ingrese la medida de la base"<<endl;
 cin>>a;
 cout<<"Ingrese la medida de la altura"<<endl;
 cin>>h;
 cout<<"Proceso de captura de datos finalizada"<<endl;
 cout<<"Iniciando procedimiento para sacar el area"<<endl;
 area=(a*h)/2;
 cout<<"Procedimiento finalizado"<<endl<<endl;
 cout<<"Iniciando proceso de impresion"<<endl;
 cout<<"EL area del triangulo es:"<<area<<endl;
 cout<<"Proceso de impresion finalizado"<<endl<<endl;
 }
void circulo(){
 cout<<"Iniciando proceso de captura de datos"<<endl;
 cout<<"Ingrese la medida del radio"<<endl;
 cin>>r;
 cout<<"Proceso de captura de datos finalizada"<<endl<<endl;
 cout<<"Iniciando procedimiento para sacar el area"<<endl;
 area=(r*r)*3.1416;
 cout<<"Procedimiento finalizado"<<endl<<endl;
 cout<<"Iniciando proceso de impresion"<<endl;
 cout<<"El area del circulo es:"<<area<<endl;
 cout<<"Proceso de impresion finalizado"<<endl<<endl;
}
void rectangulo(){
 cout<<"Iniciando proceso de captura de datos"<<endl;
 cout<<"Ingrese la medida de la altura del rectangulo"<<endl;
 cin>>h;
 cout<<"Ingrese la medida de la base del rectangulo"<<endl;
 cin>>a;
 cout<<"Proceso de captura de datos finalizada"<<endl<<endl;
 cout<<"Iniciando procedimiento para sacar el area"<<endl;
 area=h*a;
 cout<<"Procedimiento finalizado"<<endl<<endl;
 cout<<"Iniciando proceso de impresion"<<endl;
 cout<<"El area del rectangulo es:"<<area<<endl;
 cout<<"Proceso de impresion finalizado"<<endl<<endl;
}
void cubo(){
 cout<<"Iniciando proceso de captura de datos"<<endl;
 cout<<"Ingrese la medida de un lado del cubo";
 cin>>a;
 cout<<"Proceso de captura de datos finalizada"<<endl<<endl;
 cout<<"Iniciando procedimiento para sacar el volumen"<<endl;
 vol=a*a*a;
 cout<<"Procedimiento finalizado"<<endl<<endl;
 cout<<"Iniciando proceso de impresion"<<endl;
 cout<<"El volumen del cubo es:"<<vol<<endl;
 cout<<"Proceso de impresion finalizado"<<endl<<endl;
}
void cilindro(){
 cout<<"Iniciando proceso de captura de datos"<<endl;
 cout<<"Ingrese el area de la base del cilidro"<<endl;
 cin>>a;
 cout<<"Ingrese la altura del cilidro"<<endl;
 cin>>h;
 cout<<"Proceso de captura de datos finalizada"<<endl<<endl;
 cout<<"Iniciando procedimiento para sacar el volumen"<<endl;
 vol=a*h;
 cout<<"Procedimiento finalizado"<<endl<<endl;
 cout<<"Iniciando proceso de impresion"<<endl;
 cout<<"El volumen del cilidro es:"<<vol<<endl;
 cout<<"Proceso de impresion finalizado"<<endl<<endl;
}
void firma(){
for(j=1;j<=1;j++){
gotoxy(40,j);//posiciona el cursor en la columna 15 y fila de 1 a 25
system("color F4");//cambia el color del texto
cout<<("JuanBekaer");
//system("cls");//borra la pantalla
}
for(j=1;j<=1;j++){
gotoxy(j,15);//posiciona el cursor en la fila 15 y la columna cambia de 1 a 25
system("color F4");
cout<<("Juan Carlos Morales Chavez");
//system("cls");
   }
}

4:
#include <stdio.h>
#include <windows.h>
#include <iostream>
using namespace std;
void gotoxy(int x, int y){
HANDLE hcon;
hcon=GetStdHandle(STD_OUTPUT_HANDLE);
COORD dwPos;
dwPos.X= x;
dwPos. Y= y;
SetConsoleCursorPosition(hcon, dwPos);
}
int j;
void firma();
int main(){
 firma();
 return 0;
}
void firma(){
 cout<<"Iniciando procedimiento de calculo e impresion"<<endl;
 for(int i=3; i<=66; i++){
  if(i%3==0){
   cout<<i<<endl;
  }
 }
 cout<<"Proceso de calculo e impresion finalizado"<<endl<<endl;
for(j=1;j<=1;j++){
gotoxy(40,j);//posiciona el cursor en la columna 15 y fila de 1 a 25
system("color F4");//cambia el color del texto
cout<<("JuanBekaer");
//system("cls");//borra la pantalla
}
for(j=1;j<=1;j++){
gotoxy(j,15);//posiciona el cursor en la fila 15 y la columna cambia de 1 a 25
system("color F4");
cout<<("Juan Carlos Morales Chavez");
//system("cls");
   }
}

5:
#include <stdio.h>
#include <windows.h>
#include <iostream>
using namespace std;
void gotoxy(int x, int y){
HANDLE hcon;
hcon=GetStdHandle(STD_OUTPUT_HANDLE);
COORD dwPos;
dwPos.X= x;
dwPos. Y= y;
SetConsoleCursorPosition(hcon, dwPos);
}
int j;
void firma();
int main(){
 firma();
 return 0;
}
void firma(){
 cout<<"Iniciando procedimiento de calculo e impresion"<<endl;
 for(int i=8; i<=160; i++){
  if(i%8==0){
   cout<<i<<endl;
  }
 }
 cout<<"Proceso de calculo e impresion finalizado"<<endl;
for(j=1;j<=1;j++){
gotoxy(40,j);//posiciona el cursor en la columna 15 y fila de 1 a 25
system("color F4");//cambia el color del texto
cout<<("JuanBekaer");
//system("cls");//borra la pantalla
}
for(j=1;j<=1;j++){
gotoxy(j,23);//posiciona el cursor en la fila 15 y la columna cambia de 1 a 25
system("color F4");
cout<<("Juan Carlos Morales Chavez");
//system("cls");
   }
}



6:
#include <stdio.h>
#include <windows.h>
#include <iostream>
using namespace std;
void gotoxy(int x, int y){
HANDLE hcon;
hcon=GetStdHandle(STD_OUTPUT_HANDLE);
COORD dwPos;
dwPos.X= x;
dwPos. Y= y;
SetConsoleCursorPosition(hcon, dwPos);
}
int j;
void firma();
int a=6;
int main(){
 firma();
 return 0;
}
void firma(){
 cout<<"Iniciando procedimiento de calculo e impresion"<<endl;
 for(int i=1; i<=15; i++){
   cout<<"6x"<<i<<"="<<i*a<<endl;
  }
 cout<<"Proceso de calculo e impresion finalizado"<<endl;
for(j=1;j<=1;j++){
gotoxy(40,j);//posiciona el cursor en la columna 15 y fila de 1 a 25
system("color F4");//cambia el color del texto
cout<<("JuanBekaer");
//system("cls");//borra la pantalla
}
for(j=1;j<=1;j++){
gotoxy(j,15);//posiciona el cursor en la fila 15 y la columna cambia de 1 a 25
system("color F4");
cout<<("Juan Carlos Morales Chavez");
//system("cls");
   }
}



7:



jueves, 26 de septiembre de 2019

Programa 24

#include <stdio.h>
#include <windows.h>
#include <iostream>
using namespace std;
int j;
void gotoxy(int x, int y){
HANDLE hcon;
hcon= GetStdHandle(STD_OUTPUT_HANDLE);
COORD dwPos;
dwPos.X= x;
dwPos.Y= y;
SetConsoleCursorPosition(hcon, dwPos);
}
int main(){
for(j=1;j<=25;j++){
gotoxy(15,j);//posiciona el cursor en columna 15 y fila de 1 a 25
system("color 4");//Cambia el color del texto
cout<<"HOLA!!!";
system("cls");//Borra la pantalla
}
for(j=1;j<=25;j++){
gotoxy(j,15);//Posiciona el cursor en la fila 15 y la columna cambia de 1 a 25
system("color 4");
cout<<"HOLA!!!";
system("cls");
}
return 0;
}


miércoles, 25 de septiembre de 2019

Programa 23:

#include <iostream>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
using namespace std;
void ingresa_numero();
void imprime_resultados(int intentos);
int num,capturas;
void ingresa_numero()
{
 do
 {
 cout<<"Ingrese un numero entre 1 al 10\n"<<endl;
 cin>>num;
 capturas++;
 }
 while(num!=6);
}
void imprime_resultados(int intentos)
{
 cout<<"Adivinaste!!! \n";
 if(intentos<=3)
 cout<<"Y solo te tardaste"<<intentos<<endl;
 if(intentos>3)
 cout<<"Pero te tardaste mucho en adivinar"<<endl;
}
int main()
{
 ingresa_numero();
 imprime_resultados(capturas);
 system("PAUSE");
 return 0;
}


martes, 24 de septiembre de 2019

Programa 21

#include <iostream>
#include <stdio.h>
using namespace std;
void captura();
int vec1[5];
int vec2[5];
int vec3[5];
int vec4[5];
int vec5[5];
int vec6[5];
int h,suma,resta,multiplicacion;
int main()
{
captura();
return 0;
}
void captura()
{
cout<<"Ingreso de numeros\n";
for(h=0;h<=4;h++)
{
cout<<"Dame un numero \n";
cin>>vec1[h];
}
{
cout<<"Numeros invertidos \n";
  for(h=4;h>=0;h--)
  cout<<vec1[h]<<"\n";
  vec2[5]=vec2[5]<<vec1[5];
}
{
cout<<"Multiplos de 6 \n";
for(h=1;h<=5;h++)
{
vec3[h]=h*6;
cout<<vec3[h]<<endl;
}
}
{
cout<<"Suma de numeros"<<endl;
suma=vec1[0]+vec1[4];
cout<<vec1[0]<<"+"<<vec1[4]<<"="<<suma<<endl;
suma=vec1[1]+vec1[3];
cout<<vec1[1]<<"+"<<vec1[3]<<"="<<suma<<endl;
suma=vec1[2]+vec1[2];
cout<<vec1[2]<<"+"<<vec1[2]<<"="<<suma<<endl;
suma=vec1[3]+vec1[1];
cout<<vec1[3]<<"+"<<vec1[1]<<"="<<suma<<endl;
suma=vec1[4]+vec1[0];
cout<<vec1[4]<<"+"<<vec1[0]<<"="<<suma<<endl;
}
{
cout<<"Resta de numeros\n";
resta=vec1[4]-vec3[1];
cout<<vec1[4]<<"-"<<vec3[1]<<"="<<resta<<endl;
resta=vec1[3]-vec3[2];
cout<<vec1[3]<<"-"<<vec3[2]<<"="<<resta<<endl;
resta=vec1[2]-vec3[3];
cout<<vec1[2]<<"-"<<vec3[3]<<"="<<resta<<endl;
resta=vec1[1]-vec3[4];
cout<<vec1[1]<<"-"<<vec3[4]<<"="<<resta<<endl;
}
{
cout<<"Multiplicacion de numeros\n";
multiplicacion=vec1[0]*vec1[4];
cout<<vec1[0]<<"*"<<vec1[4]<<"="<<multiplicacion<<endl;
multiplicacion=vec1[1]*vec1[3];
cout<<vec1[1]<<"*"<<vec1[3]<<"="<<multiplicacion<<endl;
multiplicacion=vec1[2]*vec1[2];
cout<<vec1[2]<<"*"<<vec1[2]<<"="<<multiplicacion<<endl;
multiplicacion=vec1[3]*vec1[1];
cout<<vec1[3]<<"*"<<vec1[1]<<"="<<multiplicacion<<endl;
multiplicacion=vec1[4]*vec1[0];
cout<<vec1[4]<<"*"<<vec1[0]<<"="<<multiplicacion<<endl;
}
}


Numeros aleatorios

Los numeros Random apesar de no ser parte de la evaluacion de OMJal, el conocerlos si te servirá bastante para practicar la estructura de control que acabas de conocer

El "random" es un numero aleatorio que genera la computadora con el cual el usuario puede realizar ciertos programas por lo general de tipo numerico y juegos de azar. Son 2 instrucciones las qeu se utilizan para generar numeros aleatorios "reales":
srand((unsigned)time(NULL));
Esta instruccion se coloca al inicio del programa e indica que elprograma tome la "semilla" para generar su random basada en la función de la hora del procesador.
num=rand()%10+1;
Donde "rand" es la funcion para generar un numero aleatorio,
%10 indica cual es el rango de numeros a generar ( en este caso del 0 al 9 )
+1 indica que inicia en el 1(en este gaso generaria número del 1 al 10)
La función rand calcula un número aleatorio en el intervalo entre 0 y RAND_MAX. El valor de RAND_MAX es una constante predefinida que representa el mayor valor que puede devolver la función rand. En Dev-C++ este valor es 32767.

Programa 22: numeros aleatorios

#include "stdio.h"
#include "stdlib.h"
#include "time.h"
#include "iostream"

using namespace std;

int main (){
int randi, j;

srand(time(NULL));
cout<<"impresion de random"<<endl;
for (j=1;j<=15;j++)
{
randi=rand();
cout<<randi<<endl;
}
cout<<"impresion de random entre 100: "<<endl;
for(j=1;j<=15;j++)
{
randi=rand()/100;
cout<<randi<<endl;
}
cout<<"impresion de random entre 1000: "<<endl;
for (j=1;j<=15;j++)
{
randi=rand()/1000;
cout<<randi<<endl;
}
system ("PAUSE");
}


viernes, 20 de septiembre de 2019

Programa 20: RFC

#include <stdio.h>
#include <iostream>
#include <string.h>
using namespace std;

char paterno[11], materno[11], nombre[11], anio[7], rfc[15], mes[11], dia[11];

int main(){
cout<<"Ingrese su apellido paterno"<<endl;
gets(paterno);
cout<<"Ingrese el apellido materno"<<endl;
gets(materno);
cout<<"Ingrese su nombre"<<endl;
gets(nombre);
cout<<"Ingrese sus ultimos dos digitos de anio de nacimiento"<<endl;
gets(anio);
cout<<"Ingrese su mes de nacimiento en numero(mm)"<<endl;
gets(mes);
cout<<"Ingrese su dia de nacimiento"<<endl;
gets(dia);

strupr(paterno);
strupr(materno);
strupr(nombre);

rfc[0]=paterno[0];
rfc[1]=paterno[1];
rfc[2]=materno[0];
rfc[3]=nombre[0];
rfc[4]=anio[0];
rfc[5]=anio[1];
rfc[6]=mes[0];
rfc[7]=mes[1];
rfc[8]=dia[0];
rfc[9]=dia[1];

cout<<"Su nombre es:"<<nombre<<endl;
cout<<"Su rfc es:"<<rfc<<endl;

}



jueves, 19 de septiembre de 2019

Programa 19:

#include <stdio.h>
#include <iostream>
#include <string.h>
using namespace std;

void captura();
void busqueda();
void acuario();
void piscis();
void aries();
void tauro();
void geminis();
void cancer();
void leo();
void virgo();
void libra();
void escorpio();
void sagitario();
void capricornio();
char cadena[20];
int dia,mes,longitud, j;

int main(){
 system("color 70");
 captura();
 busqueda();
 return 0;
}

void captura(){
 cout<<"Hola, caputra tu nombre"<<endl;
 gets(cadena);
 longitud=strlen(cadena);
 cout<<"hola "<<cadena<<" tu nombre tiene "<<longitud<<" caracteres "<<endl;
 strcat(cadena, " Chavez" );
 cout<<"hola "<<cadena<< endl;
 longitud=strlen(cadena);
 for(j=0;j<=longitud;j++);
 cout<<cadena[j]<<endl;
 cout<<"Ingrese el mes de nacimiento"<<endl;
 cin>>mes;
 cout<<"Ingrese el dia de nacimiento"<<endl;
 cin>>dia;
}

void busqueda(){
 switch(mes){
  case 1:
   if(dia>=1 && dia<=19){
    cout<<"su signo es capricornio"<<endl;
    capricornio();
   }
   if(dia>=20 && dia<=31){
    cout<<"Su signo es acuario"<<endl;
    acuario();
   }
  break;
  case 2:
   if(dia>=1 && dia<=18){
    cout<<"su signo es acuario"<<endl;
    acuario();
   }
   if(dia>=29 && dia<=28){
    cout<<"Su signo es piscis"<<endl;
    piscis();
   }
  break;
  case 3:
   if(dia>=1 && dia<=20){
    cout<<"su signo es piscis"<<endl;
    piscis();
   }
   if(dia>=21 && dia<=31){
    cout<<"Su signo es aries"<<endl;
    aries();
   }
  break;
  case 4:
   if(dia>=1 && dia<=19){
    cout<<"su signo es aries"<<endl;
    aries();
   }
   if(dia>=20 && dia<=31){
    cout<<"Su signo es tauro"<<endl;
    tauro();
   }
  break;
  case 5:
   if(dia>=1 && dia<=20){
    cout<<"su signo es tauro"<<endl;
    tauro();
   }
   if(dia>=21 && dia<=31){
    cout<<"Su signo es geminis"<<endl;
    geminis();
   }
  break;
  case 6:
   if(dia>=1 && dia<=20){
    cout<<"su signo es geminis"<<endl;
    geminis();
   }
   if(dia>=21 && dia<=31){
    cout<<"Su signo es cancer"<<endl;
    cancer();
   }
  break;
  case 7:
   if(dia>=1 && dia<=22){
    cout<<"su signo es cancer"<<endl;
    cancer();
   }
   if(dia>=23 && dia<=31){
    cout<<"Su signo es leo"<<endl;
    leo();
   }
  break;
  case 8:
   if(dia>=1 && dia<=22){
    cout<<"su signo es leo"<<endl;
    leo();
   }
   if(dia>=23 && dia<=31){
    cout<<"Su signo es virgo"<<endl;
    virgo();
   }
  break;
  case 9:
   if(dia>=1 && dia<=22){
    cout<<"su signo es virgo"<<endl;
    virgo();
   }
   if(dia>=23 && dia<=31){
    cout<<"Su signo es libra"<<endl;
    libra();
   }
  break;
  case 10:
   if(dia>=1 && dia<=22){
    cout<<"su signo es libra"<<endl;
    libra();
   }
   if(dia>=23 && dia<=31){
    cout<<"Su signo es escorpio"<<endl;
    escorpio();
   }
  break;
  case 11:
   if(dia>=1 && dia<=21){
    cout<<"su signo es escorpio"<<endl;
    escorpio();
   }
   if(dia>=22 && dia<=31){
    cout<<"Su signo es sagitario"<<endl;
    sagitario();
   }
  break;
  case 12:
   if(dia>=1 && dia<=21){
    cout<<"Su signo es sagitario"<<endl;
    sagitario();
   }
   if(dia>=22 && dia<=31){
    cout<<"Su signo es capricornio"<<endl;
    capricornio();
   }
  break;
 }
}

void acuario(){
 cout<<"Simboliza la revolucion y su simbolo representa la sabiduria al ser."<<endl;
 cout<<"El simbolo represneta la sabiduria al ser. El signo esta representado por"<<endl;
 cout<<"el aguador o portador del agua ya que en la antigua sumeria este era un"<<endl;
 cout<<"simbolo para difundir la sabiduria."<<endl;
}

void piscis(){
 cout<<"Simboliza la disolucion y su simbolo representa dos peces nadando en"<<endl;
 cout<<"sentidos opuestos."<<endl;
}

void aries(){
 cout<<"Simboliza el renacimiento y su simbolo representa los cuernos de un carnero"<<endl;
}

void tauro(){
 cout<<"Este signo segun la astrologia occidental, regido por el planeta Venus,"<<endl;
 cout<<"Tierra y naturaleza, influye y presenta cualidades similares a lo leal en"<<endl;
 cout<<"el contexto de la cualidad afectiva"<<endl;
}

void geminis(){
 cout<<"Simboliza la conciencia concreta y esta represantado por los Dioscuros,"<<endl;
 cout<<"Castor y Polux."<<endl;
}

void cancer(){
 cout<<"Simboliza la familia y su simbolo representa un cangrejo."<<endl;
}

void leo(){
 cout<<"Simboliza la fuerza de la vida y su simbolo representa la melena del leon."<<endl;
}

void virgo(){
 cout<<"Simboliza el trabajo y su simbolo representa una virgen."<<endl;
}

void libra(){
 cout<<"Simboliza el equilibro y la armonia y su simbolo representa la balanza."<<endl;
}

void escorpio(){
 cout<<"Simboliza la destruccion y el renacimiento, esta regido por los planetas"<<endl;
 cout<<"Marte y Pluton."<<endl;
}

void sagitario(){
 cout<<"Simboliza la conciencia superior y su simbolo representa la flecha del"<<endl;
 cout<<"arquero."<<endl;
}

void capricornio(){
 cout<<"Simboliza la sabiduria y las aguas por el dios primordial de los sumerios,"<<endl;
 cout<<"su simbolo representa la montaña."<<endl;
}


Ejercicio Word by xJuan Carlosxx on Scribd

jueves, 12 de septiembre de 2019

string

string.h es un archivo de la Biblioteca estándar del lenguaje de programación C que contiene la definición de macros, constantes, funciones y tipos y algunas operaciones de manipulación de memoria.
 Las funciones declaradas en string.h se han hecho muy populares, por lo que están garantizadas para cualquier plataforma que soporte C. Sin embargo, existen algunos problemas de seguridad con estas funciones, como el desbordamiento de buffer (buffer overflow), que hacen que algunos programadores prefieran opciones más seguras frente a la portabilidad que estas funciones ofrecen. Además, las funciones para cadenas de caracteres sólo trabajan con conjuntos de caracteres ASCII o extensiones ASCII compatibles.

FUNCIONES PARA MANEJO DE CADENAS

Función
Propósito
Ejemplo
strcat
añade una cadena al final de otra
char nombre[8] = "Ana", apellido[4] = "Luz";
strncat           
añade los n primeros caracteres de una cadena al final de otra
//strcat concatena dos cadenas
strcat(nombre, " "); //concateno con un espacio en blanco
strcat(nombre, apellido); //le añado la cadena apellido
printf("Cadena concatenada: %s \n", nombre);
strchr
localiza un carácter en una cadena, buscando desde el principio
/* strchr example */
#include <stdio.h>
#include <string.h>

int main ()
{
  char str[] = "This is a sample string";
  char * pch;
  printf ("Looking for the 's' character in \"%s\"...\n",str);
  pch=strchr(str,'s');
  while (pch!=NULL)
  {
    printf ("found at %d\n",pch-str+1);
    pch=strchr(pch+1,'s');
  }
  return 0;
}
strrchr            
localiza un carácter en una cadena, buscando desde el final
/* strrchr example */
#include <stdio.h>
#include <string.h>

int main ()
{
  char str[] = "This is a sample string";
  char * pch;
  pch=strrchr(str,'s');
  printf ("Last occurence of 's' found at %d \n",pch-str+1);
  return 0;
}
strcmp           
Compara dos cadenas alfabéticamente ('a'!='A')
if (strcmp(orden, "fin") == 0) { ... };
strncmp         
compara los n primeros caracteres de dos cadenas numéricamente ('a'!='A')
/* strncmp example */
#include <stdio.h>
#include <string.h>

int main ()
{
  char str[][5] = { "R2D2" , "C3PO" , "R2A6" };
  int n;
  puts ("Looking for R2 astromech droids...");
  for (n=0 ; n<3 ; n++)
    if (strncmp (str[n],"R2xx",2) == 0)
    {
      printf ("found %s\n",str[n]);
    }
  return 0;
}
strcoll
compara dos cadenas según la colación actual ('a'=='A')
#include <stdio.h>
#include <string.h>

int main()
{
   char s1[5] = "Abeja";
   char s2[5] = "abeja";
   int i;

   printf( "s1=%s\t", s1 );
   printf( "s2=%s\n", s2 );

   i = strcoll( 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;

}
strcpy
copia una cadena en otra
char ciudad[6];
ciudad ← "Roma"
strcpy( ciudad, "Roma" ) (instrucción de expresión)
strncpy          
copia los n primeros caracteres de una cadena en otra
/* strncpy example */
#include <stdio.h>
#include <string.h>

int main ()
{
  char str1[]= "To be or not to be";
  char str2[40];
  char str3[40];

  /* copy to sized buffer (overflow safe): */
  strncpy ( str2, str1, sizeof(str2) );

  /* partial copy (only 5 chars): */
  strncpy ( str3, str2, 5 );
  str3[5] = '\0';   /* null character manually added */

  puts (str1);
  puts (str2);
  puts (str3);

  return 0;
}
strerror          
devuelve la cadena con el mensaje de error correspondiente al número de error dado
#include <string.h>

       char *strerror(int errnum);

       int strerror_r(int errnum, char *buf, size_t buflen);
                   /* XSI-compliant */

       char *strerror_r(int errnum, char *buf, size_t buflen);
                   /* GNU-specific */

       char *strerror_l(int errnum, locale_t locale
strlen 
devuelve la longitud de una cadena
/* strlen example */
#include <stdio.h>
#include <string.h>

int main ()
{
  char szInput[256];
  printf ("Enter a sentence: ");
  gets (szInput);
  printf ("The sentence entered is %u characters long.\n",(unsigned)strlen(szInput));
  return 0;
}
strspn
devuelve la posición del primer carácter de una cadena que no coincide con ninguno de los caracteres de otra cadena dada
/* strspn example */
#include <stdio.h>
#include <string.h>

int main ()
{
  int i;
  char strtext[] = "129th";
  char cset[] = "1234567890";

  i = strspn (strtext,cset);
  printf ("The initial number has %d digits.\n",i);
  return 0;
}
strpbrk           
devuelve la posición del primer carácter que coincide con alguno de los caracteres de otra cadena dada
/* strpbrk example */
#include <stdio.h>
#include <string.h>

int main ()
{
  char str[] = "This is a sample string";
  char key[] = "aeiou";
  char * pch;
  printf ("Vowels in '%s': ",str);
  pch = strpbrk (str, key);
  while (pch != NULL)
  {
    printf ("%c " , *pch);
    pch = strpbrk (pch+1,key);
  }
  printf ("\n");
  return 0;
}
strstr 
encuentra la primera ocurrencia de alguno de los caracteres de una cadena dada en otra
* strstr example */
#include <stdio.h>
#include <string.h>

int main ()
{
  char str[] ="This is a simple string";
  char * pch;
  pch = strstr (str,"simple");
  strncpy (pch,"sample",6);
  puts (str);
  return 0;
}
strtok
busca una cadena dentro de otra
/* strtok example */
#include <stdio.h>
#include <string.h>

int main ()
{
  char str[] ="- This, a sample string.";
  char * pch;
  printf ("Splitting string \"%s\" into tokens:\n",str);
  pch = strtok (str," ,.-");
  while (pch != NULL)
  {
    printf ("%s\n",pch);
    pch = strtok (NULL, " ,.-");
  }
  return 0;
}
strxfrm          
parte una cadena en una secuencia de tokens
#include <stdio.h>
#include <string.h>

int main()
{
   char s2[7] = "abcdefg";
   char s1[7];
   int i;

   i = strxfrm( s1, s2, 4 );
   printf( "s2=%s\n", s2 );
   printf( "s1=%s\tlonguitud=%d\n", s1, i );


   return 0;
strrev
invierte una cadena
#include<stdio.h>
#include<string.h>
  
int main()
{
   char str[50] = "geeksforgeeks";
  
   printf("The given string is =%s\n",str);
  
  printf("After reversing string is =%s",strrev(str));
  
   return 0;