Ejercicio1 Cajero automatico sencillo Este ejemplo simula un cajero, donde lo hicimos con condicionales, este trabaja con los casos, es decir, empleando SWITCH #include <iostream.h> int a=0; int main (void) { cout << "Bienvenido a su cajero \n Por favor seleccione que desea hacer: \n 1. Consignacion \n 2. Retiro \n 3. Pago de Servicios \n 4. Cambio de Clave \n 5. Consulta de Saldo \n" <<endl; cin >> a; switch(a) { case(1): { cout << "Ha seleccionado realizar una consignacion \n Gracias por su visita" <<endl; break; } case(2): { cout << "Ha seleccionado realizar un retiro \n Gracias por su visita" <<endl; break; } case(3): { cout << "Ha seleccionado realizar pago de servicios \n Gracias por su visita" <<endl; break; } case(4): { cout << "Ha seleccionado cambiar su clave \n Gracias por su visita" <<endl; break; } case(5): { cout << "Ha seleccionado realizar una consulta de saldo \n Gracias por su visita" <<endl; break; } default: { cout << "El numero introducido no corresponde a una opcion valida \n Gracias por su visita" <<endl; break; } } system("pause"); return 0; } Notarás que para cada caso que se asigna, debemos definir un bloque de instrucciones; todo esto, empleando SWITCH; y que al final, usamos la instrucción o caso DEFAULT para indicar un bloque que se ejecutará en caso que no se seleccione un caso definido previamente. EJERCICIO2 Suma de Matrices en Dev-C++ Realizar un programa que permita realizar la suma de matrices en un ejercicio recurrentes de los cursos de programación, y se puede estructurar más fácil el programa si se tienen conocimientos de álgebra lineal. A continuación el código para realizar la suma de 2 matrices que deben tener igual número, tanto de filas, como de columnas. #include <iostream> using namespace std; int row,fil,i,j; int main() { cout <<"Ingrese el numero de filas "<<endl; cin >>fil; cout <<"Ingrese el numero de columnas "<<endl; cin >>row; int matriz1[fil][row]; for (i=0;i<=fil-1;i++) { for (j=0;j<=row-1;j++) { cout <<"Ingrese la posicion "<<"("<<i<<")"<<"("<<j<<")"<<" de la matriz 1"<<endl; cin >>matriz1[i][j]; } } system("pause"); int matriz2[fil][row]; for (i=0;i<=fil-1;i++) { for (j=0;j<=row-1;j++) { cout <<"Ingrese la posicion "<<"("<<i<<")"<<"("<<j<<")"<<" de la matriz 2"<<endl; cin >>matriz2[i][j]; } } system("pause"); cout << "A continuacion se sumaran las matrices ingresadas "<<endl; system("pause"); int matriz3[fil][row]; for (i=0;i<=fil-1;i++) { for (j=0;j<=row-1;j++) { matriz3[i][j]= matriz1[i][j]+matriz2[i][j]; cout << "Valor posicion "<<"("<<i<<")"<<"("<<j<<"): "<<matriz3[i][j]<<endl; } } cout << "Gracias por usar este programa "<<endl; system("pause"); return 0; } Si se compila y ejecuta el programa en Dev-C se verá que los resultados de la suma se imprimen en texto plano, pero reestructurando el ciclo for que los imprime, es posible lograr un atractivo gráfico en la impresión de dicha matriz resultado. Ejercicio 3 Desarrolle una estructura que guarde los datos de "N" alumnos de la materia de Estructuras de Datos, y los muestres por pantalla, la estructura debe tener (cedula, nombre, apellido, edad, profesión, lugar de nacimiento, dirección y teléfono). ? #include <iostream> #include <windows.h> #define max 100 /*Constante*/ using namespace std; int main(void){ /*Declara las variables para los ciclo for*/ int i = 0, n = 0; /*Declara estructura persona*/ struct persona{ char cedula[14]; char nombre[15]; char apellido[15]; int edad; char profesion[20]; char lugar[50]; char direccion[50]; int telefono; }; /*Declara alumno, arreglo de la estructura persona*/ struct persona alumno[max]; /*Se pide cuantos registros de alumnos se guardaran*/ cout<<"Cuantos datos desea introducir?/n"; cin>> n; /*Ciclo for que va a recorrer según la cantidad escrita anteriormente*/ for (i = 0; i < n; i++){ cout<<"\nEscriba la Cedula "<< i+1<<":"; cin>> alumno[i].cedula; cout<<"\nEscriba el Nombre "<< i+1<<":"; cin>> alumno[i].nombre; cout<<"\nEscriba el Apellido "<< i+1<<":"; cin>> alumno[i].apellido; cout<<"\nEscriba la Edad de "<< i+1<<":"; cin>> alumno[i].edad; cout<<"\nEscriba la Profesion de "<< i+1<<":"; cin>> alumno[i].profesion; cout<<"\nEscriba el Lugar de Nacimiento de "<< i+1<<":"; cin>> alumno[i].lugar; cout<<"\nEscriba la Direccion de "<< i+1<<":"; cin>> alumno[i].direccion; cout<<"\nEscriba el Telefono de "<< i+1<<":"; cin>> alumno[i].telefono; } cout<<"/nEl registro de Alumnos que se introdujeron son: \n\n"; /*Ciclo for que muestra el listado de registro ingresados*/ for (i = 0; i < n; i++){ /*Se llama al arreglo alumno seguido de la variable cedula*/ cout<< alumno[i].cedula; cout<<"\t"<<alumno[i].nombre; cout<<"\t"<<alumno[i].apellido; cout<<"\t"<<alumno[i].edad; cout<<"\t"<<alumno[i].profesion; cout<<"\t"<<alumno[i].lugar; cout<<"\t"<<alumno[i].direccion; cout<<"\t"<<alumno[i].telefono<<"\n\n"; } system("pause"); } Ejercicio 4 Escriba un programa que en una estructura guarde los datos de 5 amigos (as) suyos (as) y los muestre en pantalla, utilizando para ello un arreglo de estructura, la misma estructura contendrá (Nombre, Apellido, Edad, Sexo, Dirección, y Teléfono). ? #include <iostream> #include <windows.h> #define max 100 /*Constante*/ using namespace std; int main(void){ /*Declara las variables para los ciclo for*/ int i = 0; /*Declara estructura persona*/ struct persona{ char nombre[15]; char apellido[15]; int edad; char sexo; char direccion[50]; int telefono; }; /*Declara alumno, arreglo de la estructura persona*/ struct persona amigo[max]; /*Ciclo for que va a recorrer 5 veces*/ for (i = 0; i < 5; i++){ cout<<"\nEscriba el Nombre "<< i+1<<":"; cin>> amigo[i].nombre; cout<<"\nEscriba el Apellido "<< i+1<<":"; cin>> amigo[i].apellido; cout<<"\nEscriba la Edad de "<< i+1<<":"; cin>> amigo[i].edad; cout<<"\nEscriba el sexo "<< i+1<<":"; cin>> amigo[i].sexo; cout<<"\nEscriba la Direccion de "<< i+1<<":"; cin>> amigo[i].direccion; cout<<"\nEscriba el Telefono de "<< i+1<<":"; cin>> amigo[i].telefono; } cout<<"/nEl registro de Alumnos que se introdujeron son: \n\n"; /*Ciclo for que muestra el listado de 5 registro ingresados*/ for (i = 0; i < 5; i++){ /*Se llama al arreglo amigo seguido de la variable*/ cout<<"\t"<<amigo[i].nombre; cout<<"\t"<<amigo[i].apellido; cout<<"\t"<<amigo[i].edad; cout<<"\t"<<amigo[i].sexo; cout<<"\t"<<amigo[i].direccion; cout<<"\t"<<amigo[i].telefono<<"\n\n"; } system("pause"); } Ejercicio 5 Este primer ejemplo consiste en aprender como se declaran las funciones, como se utilizan, ademas veremos librerías importantes para acentuar palabras o como las "Ñ" en lenguaje español. El #include <windows.h> y using namespace std; pone a su disposición los objetos cout y cin, el #include <locale.h> para utilizar los acentos. #include <iostream>/*Librería, in out stream que se usa para las lineas cout y cin*/ #include <windows.h>/*Librería específico de Windows que contiene las funciones Windows API*/ #include <locale.h>/*Librería para establecer la configuración regional actual*/ using namespace std; int suma(int, int);/*Se declara la función suma*/ /*Todo lo que está en el main se va a ejecutar*/ int main(){ setlocale(LC_CTYPE, "Spanish");/*Para poder utilizar los acentos*/ int num1, num2;/*Se declara los campos que digitará el usuario*/ cout<<"Escriba el primer número: "; cin>> num1; cout<<"Escriba el segundo número: "; cin>> num2; cout<<"La suma es: "<< suma(num1, num2)<<"\n";/*Llama a la función y envía los 2 números*/ system("pause");/*Congela el resultado para que puedas verlo*/ } /*Función suma que recibe los dos números y retorna el total de la suma*/ int suma(int a, int b){ int c;/*Declaro "c" privada para la función*/ c = a + b; return c; } Ejercicio 6 El promedio de N notas, utiliza funciones, do while, arreglos #include <iostream> #include <windows.h> using namespace std; /*Declaras la función al mismo tiempo calcula el promedio*/ /*Si quieres cambiar de posición por ejemplo ubicarla abajo*/ /*no lo podras hacer y te daría un error, ya que las funciones*/ /*se declaran antes del main*/ float promedio(int valores[], int cantidad) { int i; float suma = 0.0; /*El ciclo for cuenta el número de notas que desea promediar*/ for (i = 0; i < cantidad; ++i) suma += valores[i];/*Suma las notas ingresadas*/ return suma / (float) cantidad;/*La suma total de notas entre la cantidad de notas*/ } int main() { /*Se declaran las variables y se establece un espacio*/ int notas[10]; char nombre[20]; char opcion[3]; int n, i; /*Se inicia la sentencia do while*/ do{ /*Se piden los datos para que ingrese el usuario*/ cout<<"Escriba el nombre del alumno: "; cin>> nombre; cout<<"Cuantas notas tiene "<<nombre<<"? "; cin>> n; /*ciclo for te pide en pantalla las notas, según la cantidad que ingresastes*/ for (i = 0; i < n; ++i) { cout<<" Nota "<< i + 1<<": "; cin>> notas[i]; } /*Llamas a la función promedio y le das los parámetros y te muestra el resultado*/ cout<<"El promedio de "<<nombre<<" es: "<< promedio(notas, n)<<"\n"; /*Te pide si deseas seguir calculando promedios que este dato lo almacena opcion*/ cout<<"Desea calcular mas promedios (si/no)? "; cin>> opcion; } /*While es el ciclo que si el usuario ingres s o S el ciclo iniciará una vez más*/ /*si el usuario elige No el ciclo se detendra*/ while (opcion[0] == 's' || opcion[0] == 'S'); return 0; } Ejercicio 7 Calcular el factorial de un número entero positivo (n!). El factorial de 5, 5! = 5 x 4 x 3 x 2 x 1 osea: 5! = 120 #include <iostream> #include <windows.h> using namespace std; 6 int main(void){ /*Declaro las variables*/ int i=0, fact=1, n=0; cout<<"Escriba el numero para calcular el Factorial: "; cin>> n; /*Un for que multiplica el factorial de un número*/ for (i=1;i<=n;++i){ fact=fact*i; } /*Muestra el resultado en pantalla*/ cout<<"El Factorial de "<<n <<" es "<<fact<<"\n"; system("pause"); } Ejercicio 8 Desarrolle una estructura que guarde los datos de "N" alumnos de la materia de Estructuras de Datos, y los muestres por pantalla, la estructura debe tener (cedula, nombre, apellido, edad, profesión, lugar de nacimiento, dirección y teléfono). #include <iostream> #include <windows.h> #define max 100 /*Constante*/ using namespace std; int main(void){ /*Declara las variables para los ciclo for*/ int i = 0, n = 0; /*Declara estructura persona*/ struct persona{ char cedula[14]; char nombre[15]; char apellido[15]; int edad; char profesion[20]; char lugar[50]; char direccion[50]; int telefono; }; /*Declara alumno, arreglo de la estructura persona*/ struct persona alumno[max]; /*Se pide cuantos registros de alumnos se guardaran*/ cout<<"Cuantos datos desea introducir?/n"; cin>> n; /*Ciclo for que va a recorrer según la cantidad escrita anteriormente*/ for (i = 0; i < n; i++){ cout<<"\nEscriba la Cedula "<< i+1<<":"; cin>> alumno[i].cedula; cout<<"\nEscriba el Nombre "<< i+1<<":"; cin>> alumno[i].nombre; cout<<"\nEscriba el Apellido "<< i+1<<":"; cin>> alumno[i].apellido; cout<<"\nEscriba la Edad de "<< i+1<<":"; cin>> alumno[i].edad; cout<<"\nEscriba la Profesion de "<< i+1<<":"; cin>> alumno[i].profesion; cout<<"\nEscriba el Lugar de Nacimiento de "<< i+1<<":"; cin>> alumno[i].lugar; cout<<"\nEscriba la Direccion de "<< i+1<<":"; cin>> alumno[i].direccion; cout<<"\nEscriba el Telefono de "<< i+1<<":"; cin>> alumno[i].telefono; } cout<<"/nEl registro de Alumnos que se introdujeron son: \n\n"; /*Ciclo for que muestra el listado de registro ingresados*/ for (i = 0; i < n; i++){ /*Se llama al arreglo alumno seguido de la variable cedula*/ cout<< alumno[i].cedula; cout<<"\t"<<alumno[i].nombre; cout<<"\t"<<alumno[i].apellido; cout<<"\t"<<alumno[i].edad; cout<<"\t"<<alumno[i].profesion; cout<<"\t"<<alumno[i].lugar; cout<<"\t"<<alumno[i].direccion; cout<<"\t"<<alumno[i].telefono<<"\n\n"; } system("pause"); } Ejercicio 8 Escriba un programa que en una estructura guarde los datos de 5 amigos (as) suyos (as) y los muestre en pantalla, utilizando para ello un arreglo de estructura, la misma estructura contendrá (Nombre, Apellido, Edad, Sexo, Dirección, y Teléfono). #include <iostream> #include <windows.h> #define max 100 /*Constante*/ using namespace std; int main(void){ /*Declara las variables para los ciclo for*/ int i = 0; /*Declara estructura persona*/ struct persona{ char nombre[15]; char apellido[15]; int edad; char sexo; char direccion[50]; int telefono; }; /*Declara alumno, arreglo de la estructura persona*/ struct persona amigo[max]; /*Ciclo for que va a recorrer 5 veces*/ for (i = 0; i < 5; i++){ cout<<"\nEscriba el Nombre "<< i+1<<":"; cin>> amigo[i].nombre; cout<<"\nEscriba el Apellido "<< i+1<<":"; cin>> amigo[i].apellido; cout<<"\nEscriba la Edad de "<< i+1<<":"; cin>> amigo[i].edad; cout<<"\nEscriba el sexo "<< i+1<<":"; cin>> amigo[i].sexo; cout<<"\nEscriba la Direccion de "<< i+1<<":"; cin>> amigo[i].direccion; cout<<"\nEscriba el Telefono de "<< i+1<<":"; cin>> amigo[i].telefono; } cout<<"/nEl registro de Alumnos que se introdujeron son: \n\n"; /*Ciclo for que muestra el listado de 5 registro ingresados*/ for (i = 0; i < 5; i++){ /*Se llama al arreglo amigo seguido de la variable*/ cout<<"\t"<<amigo[i].nombre; cout<<"\t"<<amigo[i].apellido; cout<<"\t"<<amigo[i].edad; cout<<"\t"<<amigo[i].sexo; cout<<"\t"<<amigo[i].direccion; cout<<"\t"<<amigo[i].telefono<<"\n\n"; } system("pause"); } Ejercicio 9 Serie Fibonacci: Imprimir primeros 'n' números En la programación en general, no solo en lenguaje C, recurrir a ejercicios relativos a la serie de Fibonacci es todo un clásico, y en este ejercicio, la idea es imprimir los primeros n números de la serie, donde 'n' es un valor predefinido y por restricciones del lenguaje, no debe ser un número muy grande. Vamos a imprimir los primeros 20 números de la serie en Dev-C. #include <iostream> using namespace std; int anterior1,anterior2,actual,i; int main (void) { cout << "Este programa imprimira los 20 primeros numeros de la serie de Fibbonacci" <<endl; system("pause"); anterior1=0; anterior2=1; cout <<anterior1<<endl; cout <<anterior2<<endl; for (i=1;i<=20;i++) /* El 20 hace referencia a la cantidad de numeros a imprimir */ { actual=anterior1+anterior2; anterior1=anterior2; cout <<actual<<endl; anterior2=actual; } system("pause"); return 0; }