jueves, 19 de septiembre de 2019

CÓDIGO 17(MODIFICADO)

                                                      PROGRAMA 17
                                                                               (modificado)


Hacer un programa para determinar el signo zodiacal de una persona para ella el usuario debe introducir el día y el mes de nacimiento.Una vez se determine cual es el signo zodiacal de la persona deberá mostrase en pantalla el signo zodiacal y las características atrivuivles a tal signo.El programa deberá contar con las funciones de captura, búsqueda y una para cada signo zodiacal.

*Acuario del 20 de Enero al 18 de Febrero
*Piscis del 19 de Febrero al 20 de Marzo
*Aries del 21 de Marzo al 19 de Abril
*Tauro del 20 de Abril al 20 de Mayo
*Géminis del  21 de Mayo al 20 de Junio
*Cáncer del 21 de Junio al 20 de Julio
*Leo del 23 de Julio al 22 de Agosto
*Virgo del 23 de Agosto al 22 de Septiembre
*Libra del 23 de Septiembre al 22 de Octubre
*Escorpio del 23 de Octubre al 21 de Noviembre
*Sagitario del 22 de Noviembre al 21 de Diciembre
*Capricornio del 22 de Diciembre al 19 de Enero



#include <iostream>
#include <stdio.h>
#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();
int dia,mes;
char cadena[20];
int longitud,j;

int main()
{
    cout<<"hola,captura tu nombre"<<endl;
    gets(cadena);
    longitud=strlen(cadena);
    cout<<"hola"<<cadena<<"tu nombre tiene"<<longitud<<"caracteres"<<endl;
    strcat(cadena,"ALETHIA HERMOSILLO");
    cout<<"hola"<<cadena<<endl;

captura();
busqueda();
acuario();
piscis();
aries();
tauro();
geminis();
leo();
    virgo();
    libra();
   escorpio();
   sagitario();
   capricornio();
return 0;
}
void captura()
{
cout<<"Ingrese el dia de nacimiento\n";
cin>>dia;
cout<<"Ingrese el mes de nacimiento\n";
cin>>mes;
}
void busqueda()
{
if((dia>=20&&mes==1)||(dia<=18&&mes==2))
cout<<"su signo zodiacal es acuario\n";

if((dia>=19&&mes==2)||(dia<=20&&mes==3))
cout<<"su signo zodiacal es piscis\n";

if((dia>=21&&mes==3)||(dia<=19&&mes==4))
cout<<"su signo zodiacal es aries \n";

if((dia>=20&&mes==4)||(dia<=20&&mes==5))
cout<<"su signo zodiacal es tauro\n";

if((dia>=21&&mes==5)||(dia<=20&&mes==6))
cout<<"su signo zodiacal es geminis\n";

if((dia>=21&&mes==6)||(dia<=22&&mes==7))
cout<<"su signo zodiacal es cancer\n";

if((dia>=23&&mes==7)||(dia<=22&&mes==8))
cout<<"su signo zodiacal es leo\n";

if((dia>=23&&mes==8)||(dia<=22&&mes==9))
cout<<"su signo zodiacal es virgo\n";

if((dia>=23&&mes==9)||(dia<=22&&mes==10))
cout<<"su signo zodiacal es libra\n";

if((dia>=23&&mes==10)||(dia<=21&&mes==11))
cout<<"su signo zodiacal es escorpio\n";

if((dia>=22&&mes==11)||(dia<=21&&mes==12))
cout<<"su signo zodiacal es sagitario\n";

if((dia>=22&&mes==12)||(dia<=19&&mes==1))
cout<<"su signo zodiacal es capricornio\n";
}
void acuario()
{
   if((dia>=20&&mes==1)||(dia<=18&&mes==2))
   {
cout<<"Los Acuario son tímidos y callados, pero al mismo tiempo, pueden ser excéntricos y enérgicos";
cout<<"Sin embargo, en ambos casos, son pensadores y muy intelectuales, y aman ayudar a otros";
cout<<"Son capaces de ver las dos caras de una situación sin prejuicios, lo cual les permite resolver problemas\n";
}

}
void piscis()
{
          if((dia>=19&&mes==2)||(dia<=20&&mes==3))
          {
cout<<"Los Piscis son muy amistosos, así que siempre los encontrarás en compañía de gente diferente";
cout<<"Los Piscis son abnegados, siempre tienen la disposición de ayudar a los demás, sin esperar recibir nada a cambio\n";
}
}
void aries()
{
if((dia>=21&&mes==3)||(dia<=19&&mes==4))
{
cout<<"Siendo el primer signo del zodíaco, la presencia de Aries casi siempre marca el inicio de algo turbulento y enérgico.";
cout<<"Las personas de éste signo están buscando continuamente dinamismo, velocidad y competencia.";
    cout<<"Son siempre los primeros en todo – desde el trabajo hasta en los eventos sociales.";
cout<<"Gracias a Marte, su planeta regente, Aries es uno de los signos más activos del zodiaco.";
}
}
void tauro()
{
if((dia>=20&&mes==4)||(dia<=20&&mes==5))
{
cout<<"Tauro es el primero cuando se trata de cosechar los frutos de su labor.";
cout<<"Aman todo lo que sea bueno y hermoso y suelen rodearse de placeres materiales.";
cout<<"Las personas nacidas bajo el signo de Tauro son muy sensuales y tienen un tacto mu agudo.";
}
}
void geminis()
{
if((dia>=21&&mes==5)||(dia<=20&&mes==6))
{
cout<<"Géminis representa dos lados diferentes de personalidad y nunca estrás seguro con cuál de las dos te estás viendo.";
cout<<"Géminis puede ser sociable, comunicativo y listo para la diversión, mientras que por otro lado, puede ser muy serio";
}
}
void cancer()
{
if((dia>=21&&mes==6)||(dia<=22&&mes==7))
{
cout<<"Cáncer puede ser uno de los signos del zodiaco más difíciles de llegar a conocer.";
cout<<"Cáncer es muy emocional y sensible, se preocupa por su hogar y su familia,";
}
}
void leo()
{
if((dia>=23&&mes==7)||(dia<=22&&mes==8))
{
cout<<"Las personas nacidas bajo el signo de Leo, son líderes por naturaleza.";
cout<<"Son dramáticos, creativos, seguros de sí mismos, dominantes y es extremadamente difícil resistirse a ellos. ";
}
}

void virgo()
{
if((dia>=23&&mes==8)||(dia<=22&&mes==9))
{
cout<<"Los Virgos suelen poner atención en los detalles más insignificantes." ;
cout<<"su profundo sentido de la humanidad los hace ser una de los signos más cuidadosos del zodiaco.";
}
}
void libra()
{
  if((dia>=23&&mes==9)||(dia<=22&&mes==10))
  {
  cout<<"Las personas nacidas bajo el signo de Libra son pacíficas y justas y odian estar solas.";
  cout<<" El compañerismo es muy importante para Libra y con su victoriosa mentalidad y actitud de cooperación, no soportan estar solos.";
  }
}
void escorpio()
{
if((dia>=23&&mes==10)||(dia<=21&&mes==11))
{
cout<<"Los nacidos bajo el signo de Escorpio son personas apasionadas y asertivas.";
cout<<"Son determinados y decisivos, e investigarán hasta encontrar la verdad.";
}
}
void sagitario()
{
if((dia>=22&&mes==11)||(dia<=21&&mes==12))
{
cout<<"Sagitario es uno de los mayores viajeros de entre todos los signos del zodíaco.";
cout<<"Su mente abierta y visión filosófica los motiva a vagar por el mundo en busca del sentido de la vida.";
}
}
void capricornio()
{
if((dia>=22&&mes==12)||(dia<=19&&mes==1))
{
cout<<"Cuando se trata de profesionalismo y de valores tradicionales, Capricornio es el primero. ";
cout<<"Capricornio es práctico y se considera que es el signo más serio del zodíaco,";
}

}




CÓDIGO 18

                                                               PROGRAMA 18



#include <iostream>
#include <iostream>
#include <string.h>

using namespace std;
char cadena[20];
int longitud,j;

int main()
{

    cout << "hola,captura tu nombre" << endl;
    gets(cadena);
    longitud=strlen(cadena);
    cout<<"hola"<<cadena<<"tu nombre tiene"<<longitud<<endl;
    strcat(cadena,"HERMOSILLO");
    cout<<"hola"<<cadena<<endl;
    return 0;

}




STRING.H

                                                    ¿Que es ? <string.h>


string.h es un archivo de la Biblioteca estándar del lenguaje de programación C que contiene la definición de macrosconstantes, 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.

NOMBRES
PRÓPOSITO
EJEMPLO








Copia n bytes entre dos áreas de memoria que no deben solaparse
/* memcpy example */
#include <stdio.h>
#include <string.h>

struct {
  char name[40];
  int age;
} person, person_copy;

int main ()
{
  char myname[] = "Pierre de Fermat";

  /* using memcpy to copy string: */
  memcpy ( person.name, myname, strlen(myname)+1 );
  person.age = 46;

  /* using memcpy to copy structure: */
  memcpy ( &person_copy, &person, sizeof(person) );

  printf ("person_copy: %s, %d \n", person_copy.name, person_copy.age );

  return 0;
}




Copia n bytes entre dos áreas de memoria; al contrario que memcpy las áreas pueden solaparse
/* memmove example */
#include <stdio.h>
#include <string.h>
 
int main ()
{
  char str[] = "memmove can be very useful......";
  memmove (str+20,str+15,11);
  puts (str);
  return 0;
}




Busca un valor a partir de una dirección de memoria dada y devuelve un puntero a la primera ocurrencia del valor buscado o NULL si no se encuentra
/* memchr example */
#include <stdio.h>
#include <string.h>
 
int main ()
{
  char * pch;
  char str[] = "Example string";
  pch = (char*) memchr (str, 'p', strlen(str));
  if (pch!=NULL)
    printf ("'p' found at position %d.\n", pch-str+1);
  else
    printf ("'p' not found.\n");
  return 0;
}







Compara los n primeros caracteres de dos áreas de memoria
/* memcmp example */
#include <stdio.h>
#include <string.h>
 
int main ()
{
  char buffer1[] = "DWgaOtP12df0";
  char buffer2[] = "DWGAOTP12DF0";
 
  int n;
 
  n=memcmp ( buffer1, buffer2, sizeof(buffer1) );
 
  if (n>0) printf ("'%s' is greater than '%s'.\n",buffer1,buffer2);
  else if (n<0) printf ("'%s' is less than '%s'.\n",buffer1,buffer2);
  else printf ("'%s' is the same as '%s'.\n",buffer1,buffer2);
 
  return 0;
}





Sobre escribe un área de memoria con un patrón de bytes dado
/* memset example */
#include <stdio.h>
#include <string.h>
 
int main ()
{
  char str[] = "almost every programmer should know memset!";
  memset (str,'-',6);
  puts (str);
  return 0;
}





Añade una cadena al final de otra
/* strcat example */
#include <stdio.h>
#include <string.h>
 
int main ()
{
  char str[80];
  strcpy (str,"these ");
  strcat (str,"strings ");
  strcat (str,"are ");
  strcat (str,"concatenated.");
  puts (str);
  return 0;
}




Añade los n primeros caracteres de una cadena al final de otra
/* strncat example */
#include <stdio.h>
#include <string.h>
 
int main ()
{
  char str1[20];
  char str2[20];
  strcpy (str1,"To be ");
  strcpy (str2,"or not to be");
  strncat (str1, str2, 6);
  puts (str1);
  return 0;
}







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;
}


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;
}







Compara dos cadenas alfabéticamente (‘a’!=’A’)







                 
#include <stdio.h>
#include <string.h>
 
int main ()
{
  char key[] = "apple";
  char buffer[80];
  do {
     printf ("Guess my favorite fruit? ");
     fflush (stdout);
     scanf ("%79s",buffer);
  } while (strcmp (key,buffer) != 0);
  puts ("Correct answer!");
  return 0;
}







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;
}







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;
}





Copia una cadena en otra
/* strcpy example */
#include <stdio.h>
#include <string.h>

int main ()
{
  char str1[]="Sample string";
  char str2[40];
  char str3[40];
  strcpy (str2,str1);
  strcpy (str3,"copy successful");
  printf ("str1: %s\nstr2: %s\nstr3: %s\n",str1,str2,str3);
  return 0;
}








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;
}





Devuelve la cadena con el mensaje de error correspondiente al número de error dado
/* strerror example : error list */
#include <stdio.h>
#include <string.h>
#include <errno.h>

int main ()
{
  FILE * pFile;
  pFile = fopen ("unexist.ent","r");
  if (pFile == NULL)
    printf ("Error opening file unexist.ent: %s\n",strerror(errno));
  return 0;
}





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;
}





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;
}





Devuelve la posición del primer carácter que coincide con alguno de los caracteres de otra cadena dada
/* strcspn example */
#include <stdio.h>
#include <string.h>

int main ()
{
  char str[] = "fcba73";
  char keys[] = "1234567890";
  int i;
  i = strcspn (str,keys);
  printf ("The first number in str is at position %d.\n",i+1);
  return 0;
}







Encuentra la primera ocurrencia de alguno de los caracteres de una cadena dada en otra
/* 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;
}





Busca una cadena dentro de 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;
}





Parte una cadena en una secuencia de tokens
/* 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;
}






Transforma una cadena en su forma de colación (??)
#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;
}




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;
}