Documentos de Académico
Documentos de Profesional
Documentos de Cultura
struct persona {
char nombre[30];
char apellido[40];
char telefono[10];
int edad;
};
2. Declaracin de variables de estructura
Una vez definida la estructura, se puede usar igual que cualquier otro tipo de dato, por lo
tanto podemos usarla declarando una variable con esa estructura:
struct identificador_estructura identificador_variable
Por ejemplo:
1
identificador_variable.campo;
Donde identificador_variable es el identificador de la variable de tipo estructura que
hemos creado, y campo es el nombre de la variable que forma parte de la estructura. Lo
veremos mejor con un ejemplo basado en la estructura definida anteriormente:
amigo.edad=27;
Con esta sentencia lo que estamos haciendo es almacenar el valor 27 en el campo edad
de la variable amigo.
Una opcin que nos permiten las estructuras es pasar el contenido de una estructura a
otra, siempre que sean del mismo tipo naturalmente. Por ejemplo, si hemos declarado las
variables de estructuras del mismo tipo, persona1 y persona2, podemos asignarle los
datos almacenados en todos los campos de la estructura persona1, a la persona2 de la
siguiente manera:
persona2=persona1;
4. Inicializar una estructura
Primero se define la estructura (como se hizo en la parte 1) y luego al declarar una
variable como estructura le damos el valor inicial que queramos. Ejemplo:
struct pareja
{
persona juan;
persona rosa;
};
6. Estructuras y funciones
Las estructuras pueden pasarse como argumentos de funciones, bien por valor o por
referencia. Por ejemplo:
Si hemos declarado ya la siguiente estructura:
struct punto {
float x;
float y;
};
Podremos definir la siguiente funcin:
# include <iostream>
using namespace std;
struct Nota
{
int parcial;
int final;
int practica;
};
struct Alumno
{
char codigo[8];
char nombre[40];
Nota notas;
float promedio;
};
//Prototipos
void llenarEst(Alumno &alum);
void hallarProm(Alumno &alum);
void mostrarProm(Alumno alum);
// Programa Principal
int main( )
{
int i, nro;
4
Alumno alu;
llenarEst(alu);
hallarProm(alu);
mostrarProm(alu);
system("pause");
return 0;
}
//Desarrollo
void llenarEst(Alumno &alum) {
cout<<"=====================================";
cout<<"\nCodigo Alumno : ";
gets(alum.codigo);
cout<<"\nNombre Alumno : ";
gets(alum.nombre);
cout<<"\nNota de Examen Parcial del alumno : ";
cin>>alum.notas.parcial;
cout<<"\nNota de Examen Final del alumno : ";
cin>>alum.notas.final;
cout<<"\nNota de Practica del alumno : ";
cin>>alum.notas.practica;
}
void hallarProm(Alumno &alum) {
alum.promedio= (2*alum.notas.parcial+2*alum.notas.final+alum.notas.practica)/5.0;
5
}
void mostrarProm(Alumno alum) {
cout<<" CODIGO
PROMEDIO \n";
cout<<"-----------------------\n";
cout<<" "<<alum.codigo<<"
"<<alum.promedio<<"\n";