Dev-C++, Clase22 – ejercicio

Hola a todos/as,

Bien, ya está la clase 22 de Dev-C++, puedes verla AQUI

Ya subí el archivo ( ejercicio ), para que lo puedan ejecutar y comprobar por ustedes mismos, pueden acceder a la descarga desde AQUI

NOTA: por motivos de seguridad le puse contraseña, la contraseña es la clase a la que pertenece el ejercicio, en éste caso “clase22

Saludos ;)

Dev-C++, Clase22 – Estructuras (conceptos, ingresos, consultas, tips)

Hola a todos/as,

Continuando con las clases, en esta ocacion trataremos el tema de las estructuras en c++ .En esta clase les he preparado mucho material para que se entienda con profundidad el tema, incluyendo algunos tips para el ingreso de cadenas y la correcta forma de hacer búsquedas.

El uso incorrecto del fflush(stdin); y como compensar la manera de limpiar el buffer de entrada de teclado, todo esto podrán aprender en la clase de hoy, disfrútenla!

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

- Parte 1  ( conceptos e ingreso [cin] ) -

- Parte 2 ( conceptos [fgets] y muestreo ) -

- Parte 3 ( limpieza del buffer y varios tips ) -

El código es el siguiente:

28.) Realizar una estructura de un estudiante, donde se pide:

a) ingresar 3 registros de alumnos

b) mostrar el contenido de los alumnos ingresados

#include <iostream.h>
#include <conio.h>
#include <stdio.h>
void limpiar();
void limpiar_salto(char *);
struct ALUMNOS
{
char nombre[10];
char apellido[15];
char direccion[20];
int edad;
}A[3];
main()
{
int opcion, contador=0;
do
{
cout<<“\n\n Llene los datos del alumno: “<<(contador+1)<<“\n\n\n”
<<“\n Nombre: “;
fgets(A[contador].nombre ,9 + 1, stdin);
limpiar_salto(A[contador].nombre);
limpiar();
cout<<“\n\n Apellido: “;
fgets(A[contador].apellido ,14 + 1, stdin);
limpiar_salto(A[contador].apellido);
limpiar();
cout<<“\n\n Direccion: “;
fgets(A[contador].direccion ,19 + 1, stdin);
limpiar_salto(A[contador].direccion);
limpiar();
cout<<“\n\n Edad: “;
cin>>A[contador].edad;
cout<<“\n\n :: desea ingresar otro alumno? ( 1-> SI | 2-> NO ) :: “;
cin>>opcion;
contador++;
system(“cls”);
}
while (opcion == 1 && contador < 3);
system(“cls”);
cout<<“\n Alumnos que estan registrados: \n\n”;
for ( int x=0; x<contador; x++ )
{
cout<<A[x].nombre<<” “<<A[x].apellido<<” “<<A[x].direccion<<” “<<A[x].edad<<“\n\n”;
}
getch();
}
void limpiar()
{
char c;
do { c = getchar(); /*cout<<“c->\'”<<c<<“\'”<<endl;*/ }
while( c!=’\n’ );
}
void limpiar_salto(char *viene)
{
char *p;
p = strchr(viene,’\n’);
if (p) { *p=’\ 0′; }
}

Dev-C++, Clase21 – ejercicio

Hola a todos/as,

Bien, ya está la clase 21 de Dev-C++, puedes verla AQUI

Ya subí el archivo ( ejercicio ), para que lo puedan ejecutar y comprobar por ustedes mismos, pueden acceder a la descarga desde AQUI

NOTA: por motivos de seguridad le puse contraseña, la contraseña es la clase a la que pertenece el ejercicio, en éste caso “clase21

Saludos ;)

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

Dev-C++, Clase20 – ejercicio

Hola a todos/as,

Bien, ya está la clase 20 de Dev-C++, puedes verla AQUI

Ya subí el archivo ( ejercicio ), para que lo puedan ejecutar y comprobar por ustedes mismos, pueden acceder a la descarga desde AQUI

NOTA: por motivos de seguridad le puse contraseña, la contraseña es la clase a la que pertenece el ejercicio, en éste caso “clase20

Saludos ;)

Dev-C++, Clase20 – funciones recursivas

Hola a todos/as,

Continuando con las clases en c++ en esta ocacion trataremos el tema de las funciones recursivas o procedimientos recursivos. 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 codigo es el siguiente:

26.) Funciones recursivas, realizar el factorial de un numero y mostrarlo por pantalla

#include <iostream.h>

int factorial_recursivo (int);
int factorial_normal(int);

main()

{
    int numero,respuesta;

    cout<<“\n FACTORIAL DE UN NUMERO \n\n”
        <<“\n ingrese una cantidad: “;
    cin>>numero;
    while (numero<0)  
    {
        cout<<“\n ERROR, aplicable solo a numeros naturales \n”
            <<” ingrese una cantidad: “;
        cin>>numero;   
    }
    respuesta = factorial_normal(numero);
    //respuesta = factorial_recursivo(numero);
    cout<<“\n\n El factorial de “<<numero<<” es: “<<respuesta<<endl<<endl;
    system(“pause”);
}

int factorial_recursivo (int viene)
{   
    if (viene == 0 || viene == 1)  
    {
        cout<<viene;
        return 1;
    }
    else
    {
        cout<<viene<<” x “;
        return viene * factorial_recursivo(viene -1);  
    }
}

int factorial_normal(int viene)
{
    if (viene == 0 || viene == 1)  
    {
        return 1;
    }
    else
    {
        int x=viene , acumulador=1; // x va a tener el valor que viene
        for (x; x>=1; x–)
            {  
                acumulador = acumulador * x;  
                if (x>1) { cout<<x<<” x “; } else cout<<x;
            }
        return acumulador;
    }
}

Dev-C++, Clase19 – ejercicio

Hola a todos/as,

Bien, ya está la clase 19 de Dev-C++, puedes verla AQUI

Ya subí el archivo ( ejercicio ), para que lo puedan ejecutar y comprobar por ustedes mismos, pueden acceder a la descarga desde AQUI

NOTA: por motivos de seguridad le puse contraseña, la contraseña es la clase a la que pertenece el ejercicio, en éste caso “clase19

Saludos ;)

Seguir

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

Únete a otros 125 seguidores