Aqui os dejo programas que he estado haciendo para practicar, estan programados en C++, en el compilador Dev-C++.
Espero que os sirvan para estudiar un poco mas de C++
1º:
//Se introducen 10 numero, se suman y se calcula el mayor y el menor.
//11/8/2009
#include <iostream>
#define TAM 10
int main()
{
using namespace std;
//Se introducen los 10 números uno a uno
int x, y;
float numero[TAM];
char i;
x = 0;
y = 1;
i = 167; //Para que aparezca el caracter "º"
do
{
if (y == 1) {cout << "Introduce el " << y << "er n\xa3mero: ";}
else if (y == 3) {cout << "Introduce el " << y << "er n\xa3mero: ";}
else {cout << "Introduce el " << y << (char) i<<" n\xa3mero: ";}
cin >> numero[x];
cout << endl;
x++;
y++;
}
while (x < 10);
system("cls");
// Se realiza la suma
float resultado_suma;
resultado_suma = 0;
x = 0;
do
{
resultado_suma = resultado_suma + numero[x];
x++;
}
while (x < 10);
cout << "El resultado de sumar los 10 n\xa3meros es: " << resultado_suma << endl;
// Se calcula el valor medio
float valor_medio;
valor_medio = resultado_suma /10;
cout << "El valor medio de los 10 n\xa3meros es: " << valor_medio << endl;
// Se calcula el mayor
float mayor = 0;
x = 0;
cout << "El n\xa3mero mayor es: ";
for(x=0;x<TAM;x++)
{
if(numero[x] >=mayor)
mayor=numero[x];
}
cout << mayor << endl;
// Se calcula el numero menor
float menor;
x=0;
cout << "El n\xa3mero menor es: ";
for(x=0;x<TAM;x++)
{
if(numero[x] <=menor)
menor=numero[x];
}
cout << menor << endl;
system("PAUSE");
return 0;
}
2º:
/*Programa que lee 10 numeros y los almacena en un array, despues los ordena de menor a mayor y de mayor a menor.*/
//16 - 8 - 2009
//----------------------------------------------------------------------------------------------------------------
#include <iostream>
#define TAM 10
int main()
{
using namespace std;
//introducir los 10 números.
int x, y;
char c;
int numero[10];
numero[10] = 0;
x = 0;
y = 1;
c = 167; //Para que aparezca el caracter "º".
for(x=0; x < 10; x++)
{
if (y == 1) {cout << "Introduce el " << y << "er n\xa3mero: " ;}
else if (y == 3) {cout << "Introduce el " << y << "er n\xa3mero: " ;}
else {cout << "Introduce el " << y << (char) c<<" n\xa3mero: " ;}
cin >> numero[x];
cout << endl;
y++;
}
system("CLS");
//---------------------------------------------------------------------------------------------------
//Expone los numeros introducidos
cout << "Estos son los n\xa3meros: " << endl;
y = 1;
for(x=0; x < 10; x++)
{
if (y == 1) {cout << y << "er n\xa3mero: " << numero[x];}
else if (y == 3) {cout << y << "er n\xa3mero: " << numero[x];}
else {cout << y << (char) c<<" n\xa3mero: " << numero[x];}
y++;
cout << endl;
}
//------------------------------------------------------------------------------------------------------
//Ordenar de menor a mayor.
int i, j, aux;
i = 0;
j = 0;
for (i=0; i<TAM-1; i++)
{
for (j=i+1; j < TAM;j++)
if (numero[i] > numero[j])
{
aux = numero[i];
numero[i] = numero[j];
numero[j] = aux;
}
}
cout << endl;
cout << "Ordenados de Menor a mayor:" << endl;
y = 1;
i = 1;
for(i=0; i<TAM;i++)
{
if (y == 1) {cout << y << "er n\xa3mero: " << numero[i];}
else if (y == 3) {cout << y << "er n\xa3mero: " << numero[i];}
else {cout << y << (char) c<<" n\xa3mero: " << numero[i];}
y++;
cout << endl;
}
//------------------------------------------------------------------------------------------------------
// Ordenar los numeros de Mayor a menor
i = 0;
j = 0;
for (i=0; i<TAM-1; i++)
{
for (j=i+1; j < TAM;j++)
if (numero[i] < numero[j])
{
aux = numero[i];
numero[i] = numero[j];
numero[j] = aux;
}
}
cout << endl;
cout << "Ordenados de Mayor a menor:" << endl;
y = 1;
i = 1;
for(i=0; i<TAM;i++)
{
if (y == 1) {cout << y << "er n\xa3mero: " << numero[i];}
else if (y == 3) {cout << y << "er n\xa3mero: " << numero[i];}
else {cout << y << (char) c<<" n\xa3mero: " << numero[i];}
y++;
cout << endl;
}
system("PAUSE");
return 0;
}
3º:
/*Programa que muestra una tabla 5 x 5 de 25 valores introducidos por el usuario
y suma las columnas y las filas por separado.
Se le añadira un menu para elegir que fila o columna se suma.
Intentar que sa salida de datos sea lo mas clara posible.*/
//17 - 08 - 2009
//--------------------------------------------------------------------------------
#include <iostream>
int main()
{
using namespace std;
float tabla[5][5];
int opcion;
int opcion2;
int opcion3;
float resultado_suma;
resultado_suma = 0;
char t;
int x;
int y;
int z;
char c;
float resultado[5];
c = 167; //Para que aparezca el caracter "º".
t = 63;
cout << "Introduce 25 n\xe9meros para completar la tabla" << endl << endl << endl;
cout << " \xa8Como quieres completar la tabla" << (char) t << " \xa8Por filas o por columnas" << (char) t << endl;
cout << " Elige una opci\xe0n: " << endl << endl;
cout << " 1 - Por columnas" << endl << " 2 - Por filas" << endl;
cin >> opcion;
switch (opcion)
{
case 1:
{
cout << "Has elegido la opci\xe0n POR COLUMNAS" << endl << endl;
cout << "Primera columna" << endl;
x = 0;
y = 0;
z = 1;
for (y = 0; y < 5; y++)
{
if (z == 1) {cout << "Introduce el " << z << "er n\xa3mero de la primera columna:";}
else if (z == 3) {cout << "Introduce el " << z << "er n\xa3mero de la primera columna:";}
else {cout << "Introduce el " << z << (char) c << " n\xa3mero de la primera columna:";}
cin >> tabla[x][y];
z++;
}
system("CLS");
cout << "Has elegido la opci\xe0n POR COLUMNAS" << endl << endl;
cout << "Segunda columna" << endl;
x = 1;
y = 0;
z = 1;
for (y = 0; y < 5; y++)
{
if (z == 1) {cout << "Introduce el " << z << "er n\xa3mero de la segunda columna:";}
else if (z == 3) {cout << "Introduce el " << z << "er n\xa3mero de la segunda columna:";}
else {cout << "Introduce el " << z << (char) c << " n\xa3mero de la segunda columna:";}
cin >> tabla[x][y];
z++;
}
system("CLS");
cout << "Has elegido la opci\xe0n POR COLUMNAS" << endl << endl;
cout << "Tercera columna" << endl;
x = 2;
y = 0;
z = 1;
for (y = 0; y < 5; y++)
{
if (z == 1) {cout << "Introduce el " << z << "er n\xa3mero de la tercera columna:";}
else if (z == 3) {cout << "Introduce el " << z << "er n\xa3mero de la tercera columna:";}
else {cout << "Introduce el " << z << (char) c << " n\xa3mero de la tercera columna:";}
cin >> tabla[x][y];
z++;
}
system("CLS");
cout << "Has elegido la opci\xe0n POR COLUMNAS" << endl << endl;
cout << "Cuarta columna" << endl;
x = 3;
y = 0;
z = 1;
for (y = 0; y < 5; y++)
{
if (z == 1) {cout << "Introduce el " << z << "er n\xa3mero de la cuarta columna:";}
else if (z == 3) {cout << "Introduce el " << z << "er n\xa3mero de la cuarta columna:";}
else {cout << "Introduce el " << z << (char) c << " n\xa3mero de la cuarta columna:";}
cin >> tabla[x][y];
z++;
}
system("CLS");
cout << "Has elegido la opci\xe0n POR COLUMNAS" << endl << endl;
cout << "Quinta columna" << endl;
x = 4;
y = 0;
z = 1;
for (y = 0; y < 5; y++)
{
if (z == 1) {cout << "Introduce el " << z << "er n\xa3mero de la quinta columna:";}
else if (z == 3) {cout << "Introduce el " << z << "er n\xa3mero de la quinta columna:";}
else {cout << "Introduce el " << z << (char) c << " n\xa3mero de la quinta columna:";}
cin >> tabla[x][y];
z++;
}
system("CLS");
cout << "Esta es tu tabla:" << endl;
}
break;
//-----------------------------------------------------------------------------------------------------------------------
case 2:
{
cout << "Has elegido la opci\xe0n POR FILAS" << endl << endl;
cout << "Primera fila" << endl;
x = 0;
y = 0;
z = 1;
for (x= 0; x< 5; x++)
{
if (z == 1) {cout << "Introduce el " << z << "er n\xa3mero de la primera fila:";}
else if (z == 3) {cout << "Introduce el " << z << "er n\xa3mero de la primera fila:";}
else {cout << "Introduce el " << z << (char) c << " n\xa3mero de la primera fila:";}
cin >> tabla[x][y];
z++;
}
system("CLS");
cout << "Has elegido la opci\xe0n POR FILAS" << endl << endl;
cout << "Segunda fila" << endl;
x = 0;
y = 1;
z = 1;
for (x = 0; x < 5; x++)
{
if (z == 1) {cout << "Introduce el " << z << "er n\xa3mero de la segunda fila:";}
else if (z == 3) {cout << "Introduce el " << z << "er n\xa3mero de la segunda fila:";}
else {cout << "Introduce el " << z << (char) c << " n\xa3mero de la segunda fila:";}
cin >> tabla[x][y];
z++;
}
system("CLS");
cout << "Has elegido la opci\xe0n POR FILAS" << endl << endl;
cout << "Tercera fila" << endl;
x = 0;
y = 2;
z = 1;
for (x = 0; x < 5; x++)
{
if (z == 1) {cout << "Introduce el " << z << "er n\xa3mero de la tercera fila:";}
else if (z == 3) {cout << "Introduce el " << z << "er n\xa3mero de la tercera fila:";}
else {cout << "Introduce el " << z << (char) c << " n\xa3mero de la tercera fila:";}
cin >> tabla[x][y];
z++;
}
system("CLS");
cout << "Has elegido la opci\xe0n POR FILAS" << endl << endl;
cout << "Cuarta fila" << endl;
x = 0;
y = 3;
z = 1;
for (x = 0; x < 5; x++)
{
if (z == 1) {cout << "Introduce el " << z << "er n\xa3mero de la cuarta fila:";}
else if (z == 3) {cout << "Introduce el " << z << "er n\xa3mero de la cuarta fila:";}
else {cout << "Introduce el " << z << (char) c << " n\xa3mero de la cuarta fila:";}
cin >> tabla[x][y];
z++;
}
system("CLS");
cout << "Has elegido la opci\xe0n POR FILAS" << endl << endl;
cout << "Quinta fila" << endl;
x = 0;
y = 4;
z = 1;
for (x = 0; x < 5; x++)
{
if (z == 1) {cout << "Introduce el " << z << "er n\xa3mero de la quinta fila:";}
else if (z == 3) {cout << "Introduce el " << z << "er n\xa3mero de la quinta fila:";}
else {cout << "Introduce el " << z << (char) c << " n\xa3mero de la quinta fila:";}
cin >> tabla[x][y];
z++;
}
system("CLS");
cout << "Esta es tu tabla:" << endl;
}
break;
}
//----------------------------------------------------------------------------------------------------------------------
// Tabla de valores
cout << "------------------------------"<< endl;
cout << "|" << tabla[0][0] << "|" << tabla[1][0] << "|" << tabla[2][0] << "|" << tabla[3][0] << "|" << tabla[4][0] << "|"<< endl;
cout << "------------------------------"<< endl;
cout << "|" << tabla[0][1] << "|" << tabla[1][1] << "|" << tabla[2][1]<< "|" << tabla[3][0] << "|" << tabla[4][1] << "|"<< endl;
cout << "------------------------------"<< endl;
cout << "|" << tabla[0][2] << "|" << tabla[1][2] << "|" << tabla[2][2] << "|" << tabla[3][2] << "|" << tabla[4][2] << "|"<< endl;
cout << "------------------------------"<< endl;
cout << "|" << tabla[0][3] << "|" << tabla[1][3] << "|" << tabla[2][3] << "|" << tabla[3][3] << "|" << tabla[4][3] << "|"<< endl;
cout << "------------------------------"<< endl;
cout << "|" << tabla[0][4] << "|" << tabla[1][4] << "|" << tabla[2][4] << "|" << tabla[3][4] << "|" << tabla[4][4] << "|"<< endl;
cout << "------------------------------"<< endl;
// Sumas de columnas o filas
cout << "Elige que quieres sumar" << endl << endl;
cout << " 1 - Por columnas" << endl << " 2 - Por filas" << endl;
cin >> opcion2;
switch (opcion2)
{
case 1:
{
cout << "Ahora elige que columna quieres sumar" << endl;
cout << "Introduce el numero de la columna que deseas sumar" << endl;
cin >> opcion3;
switch (opcion3)
{
case 1:
cout << "La suma de la primera columna es: ";
x = 0;
y = 0;
for(y = 0; y < 5; y++)
{
resultado_suma = resultado_suma + tabla[x][y];
}
cout << resultado_suma;
break;
case 2:
cout << "La suma de la segunda columna es: ";
x = 1;
y = 0;
for(y = 0; y < 5; y++)
{
resultado_suma = resultado_suma + tabla[x][y];
}
cout << resultado_suma;
break;
case 3:
cout << "La suma de la tercera columna es: ";
x = 2;
y = 0;
for(y = 0; y < 5; y++)
{
resultado_suma = resultado_suma + tabla[x][y];
}
cout << resultado_suma;
break;
case 4:
cout << "La suma de la cuarta columna es: ";
x = 3;
y = 0;
for(y = 0; y < 5; y++)
{
resultado_suma = resultado_suma + tabla[x][y];
}
cout << resultado_suma;
break;
case 5:
cout << "La suma de la quinta columna es: ";
x = 4;
y = 0;
for(y = 0; y < 5; y++)
{
resultado_suma = resultado_suma + tabla[x][y];
}
cout << resultado_suma;
break;
}
break;
//--------------------------------------------------------------------------------------------------------------
case 2:
{
cout << "Ahora elige que fila quieres sumar" << endl;
cout << "Introduce el numero de la fila que deseas sumar" << endl;
cin >> opcion3;
switch (opcion3)
{
case 1:
cout << "La suma de la primera fila es: ";
x = 0;
y = 0;
for(x = 0; x < 5; x++)
{
resultado_suma = resultado_suma + tabla[x][y];
}
cout << resultado_suma;
break;
case 2:
cout << "La suma de la segunda fila es: ";
x = 0;
y = 1;
for(x = 0; x < 5; x++)
{
resultado_suma = resultado_suma + tabla[x][y];
}
cout << resultado_suma;
break;
case 3:
cout << "La suma de la tercera fila es: ";
x = 0;
y = 2;
for(x = 0; x < 5; x++)
{
resultado_suma = resultado_suma + tabla[x][y];
}
cout << resultado_suma;
break;
case 4:
cout << "La suma de la cuarta fila es: ";
x = 0;
y = 3;
for(x = 0; x < 5; x++)
{
resultado_suma = resultado_suma + tabla[x][y];
}
cout << resultado_suma;
break;
case 5:
cout << "La suma de la quinta fila es: ";
x = 0;
y = 4;
for(x = 0; x < 5; x++)
{
resultado_suma = resultado_suma + tabla[x][y];
}
cout << resultado_suma;
break;
}
}
break;
cout << endl;
}
}
system("PAUSE");
return 0;
}
//Programa que almacena en un array los nombres y numeros de telefono de 10 personas. Es capaz de buscar el nombre correspondiente a un numero o viceversa
//Debe de tener un menú.
//18 - 08 - 2009
//--------------------------------------------------------------------------------------------------------------------------------------------------------
#include <iostream>
#include <cstring>
#define TAM 10
int main()
{
using namespace std;
int opcion;
struct stPersona {
char nombre[20];
char telefono[9];
} persona[TAM];
char nombre1[20];
char telefono1[9];
char j;
char k;
int q;
int x;
int z;
int o;
j = 166;
k = 167;
opcion = 0;
while(1){
system("CLS");
cout << "Este es el men\xa3 del programa" << endl << endl << endl << "Elige una opci\xe0n:" << endl << endl;
cout << " 1 - Introducir datos de personas" << endl;
cout << " 2 - Mostrar los datos de las personas" << endl;
cout << " 3 - Borrar datos existentes" << endl;
cout << " 4 - Buscar por nombre" << endl;
cout << " 5 - Buscar por n\xa3mero de telefono" << endl;
cout << " 6 - Salir" << endl << endl;
cout << " Tu elecci\xe0n es: ";
cin >> opcion;
switch (opcion)
{ case 1:
{
system("CLS");
cout << "Has elegido: INTRODUCIR DATOS DE PERSONAS" << endl << endl;
cout << "Introduce la posicion que ocupara los datos que vas a introducir, recuerda que tan solo hay 10 ranuras: ";
cin >> x;
x = x - 1;
q = x + 1;
cout << "Introduce los datos de la " << q << (char)j << " persona" << endl;
cout << " Nombre: ";
cin >> persona[x].nombre;
cout << endl;
cout << " N" << (char)k << " de telefono: ";
cin >> persona[x].telefono;
cout << endl;
}
cout << "ACCION FINALIZADA SATISFACTORIAMENTE" << endl;
system("PAUSE");
break;
case 2:
{
system("CLS");
for (x = 0; x < TAM; x++)
{
cout << "Nombre: "<< persona[x].nombre << endl << " N" << (char)k << " de telefono: " << persona[x].telefono << endl << endl;
}
system("PAUSE");
}
break;
case 3:
{
system("CLS");
x = 0;
cout << "Has elegido: BORRAR LOS DATOS EXISTENTES" << endl << endl;
for(x=0;x<TAM;x++)
{
persona[x].nombre[0] = '\0';
persona[x].telefono[0] = '\0';
}
cout << "DATOS BORRADOS SATISFACTORIAMENTE" << endl;
system("PAUSE");
break;
case 4:
{
system("CLS");
z = 0;
x = 0;
cout << "Has elegido: BUSCAR POR NOMBRE" << endl << endl;
cout << "Escribe el nombre de la persona que deseas buscar: ";
cin >> nombre1;
for (x = 0; x < TAM; x++)
{
o = strcmp(nombre1 , persona[x].nombre);
if (o == 0)
{
cout << "Nombre: "<< persona[x].nombre << endl << "N" << (char)k << " de telefono: " << persona[x].telefono << endl;
z++;
}
}
if (z == 0) {cout << "Ese nombre no existe en la base de datos" << endl;}
system("PAUSE");
break;
case 5:
{
system("CLS");
x = 0;
z = 0;
cout << "Has elegido: BUSCAR POR TELEFONO" << endl << endl;
cout << "Escribe el telefono de la persona que deseas buscar: ";
cin >> telefono1;
for (x = 0; x < TAM; x++)
{
o = strcmp(telefono1 , persona[x].telefono);
if (o == 0)
{
cout << "Nombre: "<< persona[x].nombre << endl << "N" << (char)k << " de telefono: " << persona[x].telefono << endl;
z++;
}
}
if (z == 0) {cout << "Ese nombre no existe en la base de datos" << endl;}
system("PAUSE");
break;
case 6:
{
exit(0);
}
}
}
}
}
}
}
Programas con varias funciones y punteros:
/*Escribir un programa con una funcion que calcule la longitud de una cadena de caracteres.
El nombre de la funcion ser
LongitudCadena, debe devolver un "int", y como parametro de entrada debe tener un puntero a "char".*/
#include <iostream>
using namespace std;
int LongitudCadena(char *palabra);
int main()
{
char* palabra = new char[20];
int longitud;
cout << "Introduce una palabra: ";
cin >> palabra;
cout << endl;
longitud = LongitudCadena(palabra);
if (longitud == 1) {cout << "La palabra tiene: " << longitud << " caracter" << endl;}
else {cout << "La palabra tiene: " << longitud << " caracteres" << endl;}
delete [ ] palabra;
system("PAUSE");
return 0;
}
int LongitudCadena(char *palabra)
{
int i;
i = 0;
while(palabra[i] != '\0')
{
i++;
}
return i;
}
//Escribir un programa con una funcion que busque un caracter determinado
//en una cadena.
//El nombre de la funcion debe ser BuscaCaracter y debe devolver un int con la
//posicion en la que fue encontrado el carácter.
//Los parametros de entrada serán una cadena y un caracter.
//---------------------------------------------------------------------------------
#include <iostream>
using namespace std;
int BuscaCaracter(char* palabra);
int main()
{
char c;
c = 167;
int posicion_caracter;
char* palabra = new char[20];
posicion_caracter = BuscaCaracter(palabra);
posicion_caracter = posicion_caracter + 1;
cout << "La letra fue encontrada en la posicion n" << (char) c << " " << posicion_caracter << endl;
system("PAUSE");
delete [ ] palabra;
return 0;
}
int BuscaCaracter(char* palabra)
{
char letra;
int pos;
cout << "Introduce una palabra: ";
cin >> palabra;
cout << endl;
cout << "Introduce la letra que quieres buscar: ";
cin >> letra;
pos = 0;
while (palabra[pos] != letra)
{
pos++;
}
return pos;
}
Autor: Bl4cKn0T3