Dev-C++, Clase21 – manipulación de cadenas

Hola a todos/as,

Continuando con las clases en c++ en esta ocacion trataremos el tema de la manipulación de las cadenas de caracteres, o el como hacer operaciones sobre cadenas. Aquí les dejo dos videos hechos por mi, espero les sea de ayuda:

IMPORTANTE: para ver los videos en alta resolución, basta con abrirlos en youtube y seleccionar 720 px

- Parte 1 -

- Parte 2 -

El código es el siguiente:

27.) Operaciones basicas con cadenas de caracteres

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

void copia (char*,char*);
void copian (char*,char*);
void agrega (char*,char*);
void agregan (char*,char*);
void compara (char*,char*);
void comparan (char*,char*);
void longitud (char*);
void ignora (char*,char*);
void ignoran (char*,char*);
void error ();

void normalidad();

char cadena1[80]="Programando paso A paso" , cadena2[50]=" el blog de Eddy";

main()
{

A:
cout<<"\n MANEJO DE CARACTERES EN C++ \n"
 <<"\n [ parte1 - operaciones basicas con cadenas ] \n\n"
 <<"\n cadena1 = \"Programando paso A paso\"\n"
 <<" cadena2 = \" el blog de Eddy\"\n\n\n";

short opcion;

 cout<<"Seleccione una opcion: \n"
 <<"1) Strcpy (copia de caracteres) \n"
 <<"2) Strncpy (copia n caracteres) \n"
 <<"3) Strcat (agrega una cadena a otra) \n"
 <<"4) Strncat (agrega n caracteres de una cadena a otra) \n"
 <<"5) Strcmp (compara dos cadenas) \n"
 <<"6) Strncmp (compara los n caracteres de dos cadenas) \n"
 <<"7) Strlen (calcula la longitud de la cadena) \n"
 <<"8) Strcasecmp (version de strcmp que ignora las mayusculas/minusculas) \n"
 <<"9) Strncasecmp (ignora n caracteres de mayusculas y minusculas para comparar) \n"
 <<"10) Strerror (convierte un numero de error en mensaje) \n"
 <<"11) SALIR \n\n";
 cin>>opcion;

while (opcion<1 || opcion>11)
{
 cout<<"[ERROR, digite una opcion valida]: ";
 cin>>opcion;
}

switch (opcion)
{
 case 1: copia(cadena1,cadena2); break;
 case 2: copian(cadena1,cadena2); break;
 case 3: agrega(cadena1,cadena2); break;
 case 4: agregan(cadena1,cadena2); break;
 case 5: compara(cadena1,cadena2); break;
 case 6: comparan(cadena1,cadena2); break;
 case 7: longitud(cadena1); break;
 case 8: ignora(cadena1,cadena2); break;
 case 9: ignoran(cadena1,cadena2); break;
 case 10: error(); break;
 case 11: break;
}

if (opcion == 11) { system("pause"); }
else { system ("cls"); goto A; }
}

void copia (char *cadena1, char *cadena2)
{
 cout<<"\nHaciendo: strcpy ( cadena1,cadena2 );";
 strcpy ( cadena1,cadena2 );
 cout<<"\nLas cadenas quedaron: \ncadena1: "<<cadena1<<" \ncadena2: "<<cadena2;
 normalidad();
 getch();
}

void copian (char *cadena1, char *cadena2)
{
 cout<<"\nHaciendo: strncpy ( cadena2,cadena1,8 );";
 strncpy ( cadena2,cadena1,8 );
 cout<<"\nLas cadenas quedaron: \ncadena1: "<<cadena1<<" \ncadena2: "<<cadena2;
 normalidad();
 getch();
}

void agrega (char *cadena1, char *cadena2)
{
 cout<<"\nHaciendo: strcat ( cadena1,cadena2 );";
 strcat ( cadena1,cadena2 );
 cout<<"\nLas cadenas quedaron: \ncadena1: "<<cadena1<<" \ncadena2: "<<cadena2;
 normalidad();
 getch();
}

void agregan (char *cadena1, char *cadena2)
{
 cout<<"\nHaciendo: strncat ( cadena1,cadena2,14 );";
 strncat ( cadena1,cadena2,14 );
 cout<<"\nLas cadenas quedaron: \ncadena1: "<<cadena1<<" \ncadena2: "<<cadena2;
 normalidad();
 getch();
}

void compara (char *cadena1, char *cadena2)
{
 int respuesta;
 cout<<"\nHaciendo: strcmp ( cadena1,cadena2 );";
 respuesta = strcmp ( cadena1,cadena2 );
 cout<<"\nLa respuesta es: "<<respuesta;
 normalidad();
 getch();
}

void comparan (char *cadena1, char *cadena2)
{
 int respuesta;
 cout<<"\nHaciendo: strncmp ( cadena1,cadena2,3 );";
 respuesta = strncmp ( cadena1,cadena2,3 );
 cout<<"\nLa respuesta es: "<<respuesta;
 normalidad();
 getch();
}

void longitud (char *cadena1)
{
 int longitud;
 cout<<"\nHaciendo: strlen ( cadena1 );";
 longitud = strlen ( cadena1 );
 cout<<"\nLa longitud de la cadena es: "<<longitud;
 normalidad();
 getch();
}

void ignora (char *cadena1, char *cadena2)
{
 int respuesta;
 cout<<"\nHaciendo: strcasecmp ( cadena1,cadena2 );";
 respuesta = strcasecmp ( cadena1,cadena2 );
 cout<<"\nLa respuesta es: "<<respuesta;
 normalidad();
 getch();
}

void ignoran (char *cadena1, char *cadena2)
{
 int respuesta;
 cout<<"\nHaciendo: strncasecmp ( cadena1,cadena2,8 );";
 respuesta = strncasecmp ( cadena1,cadena2,8 );
 cout<<"\nLa respuesta es: "<<respuesta;
 normalidad();
 getch();
}

void error ()
{
 for (int x=0; x<6; x++)
 {
 cout<<strerror(x)<<endl;
 }
 getch();
}

void normalidad()
{
 strcpy ( cadena1,"Programando paso A paso" );
 strcpy ( cadena2," el blog de Eddy" );
}
About these ads

Una respuesta

  1. muchas gracias, acabo de revisar tu blog , y esta genial. :D

Deja un comentario

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

Seguir

Recibe cada nueva publicación en tu buzón de correo electrónico.

Únete a otros 126 seguidores

A %d blogueros les gusta esto: