Estructuras struct lenguaje C, declaración de estructuras struct, definición de estructuras struct, asignación de estructuras struct, acceso a los miembros de la estructura struct, operadores para el acceso a estructuras struct, operador punto, operador flecha. Manejo de estructuras a través de módulos. Paso de Parámetros. typedef. Buscar un jugador, jugador mas alto.
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdf
Programación II CIP200 Ejercicios resueltos en el Laboratorio de estructuras struct registros 5 CIP200
1. main.c
#include <stdio.h>
#include <stdlib.h>
#define CAD 20
#define TAM 3
/*
Crear un programa que pida al usuario los nombres, edades, y
alturas, de 10 jugadores.
Posteriormente le presentará un menú que le permita:
1. Listar los nombres de los jugadores;
2. Listar las alturas de los jugadores;
3. Listar las edades de los jugadores;
4. Buscar un jugador por su nombre y presentar su altura y
su edad;
5. Indicar la edad y el nombre del jugador más alto de
la lista.
*/
struct jugador
{
char nombre[CAD];
int edad;
float altura;
};
typedef struct jugador TJugador;
int menu(void);
void listarNombres(TJugador jug[], const int tam);
void listarAlturas(TJugador jug[], const int tam);
void listarEdades(TJugador jug[], const int tam);
void inputJugador(TJugador jug[], const int tam);
void buscarNombre(char nombre[], TJugador jug[], const int tam);
void masAlto(TJugador jug[], const int tam);
int main()
{
int opcion;
char nombre[CAD];
TJugador j[TAM];
inputJugador(j, TAM);
opcion = menu();
while(opcion != 6)
{
switch(opcion)
{
case 1:
listarNombres(j, TAM);
break;
case 2:
listarAlturas(j, TAM);
break;
case 3:
listarEdades(j, TAM);
break;
case 4:
printf("Teclee nombre a buscar: ");
Página 1
2. main.c
fflush(stdin);
gets(nombre);
buscarNombre(nombre, j, TAM);
break;
case 5:
masAlto(j, TAM);
break;
}
getch();
system("CLS");
opcion = menu();
}
printf("Gracias por usar nuestro programan"
"...::: Segundo Semestre :::...n");
return 0;
}
int menu(void)
{
int resp;
do
{
system("CLS");
printf("n...::: Menu de opciones :::...n"
"1. Listar nombresn"
"2. Listar alturasn"
"3. Listar edadesn"
"4. Buscar nombren"
"5. Jugador mas Alton"
"6. Salir del programan"
"Teclee una opcion:? ");
scanf("%d", &resp);
}
while(resp<1 || resp>6);
return resp;
}
void listarNombres(TJugador jug[], const int tam)
{
int i;
printf("nnListando nombres...n");
for(i=0; i<tam; i++)
printf("%sn", jug[i].nombre);
printf("n");
}
void listarAlturas(TJugador jug[], const int tam)
{
int i;
printf("nnListando alturas...n");
for(i=0; i<tam; i++)
printf("%.2fn", jug[i].altura);
printf("n");
}
void listarEdades(TJugador jug[], const int tam)
Página 2
3. main.c
{
int i;
printf("nnListando edades...n");
for(i=0; i<tam; i++)
printf("%dn", jug[i].edad);
printf("n");
}
void inputJugador(TJugador jug[], const int tam)
{
int i;
//introducimos datos en la variable estructural j
for(i=0; i<tam; i++)
{
printf("nnTeclee datos del jugador nro. %dn", i+1);
printf("Nombre: ");
fflush(stdin);
gets(jug[i].nombre);
printf("Edad : ");
scanf("%d", &jug[i].edad);
printf("Altura: ");
scanf("%f", &jug[i].altura);
}
}
void buscarNombre(char nombre[], TJugador jug[], const int tam)
{
int i, ind, bandera = 0;
for(i=0; i<tam&& !bandera; i++)
{
if(strcmp(nombre, jug[i].nombre) == 0)
{
bandera = 1;
ind = i;
}
}
if (bandera)
{
printf("nNombre : %sn", jug[ind].nombre);
printf("Altura : %.2fn", jug[ind].altura);
printf("Edad : %dn", jug[ind].edad);
}
else
{
printf("n%s No se encuentra en listann", nombre);
}
}
void masAlto(TJugador jug[], const int tam)
{
int i, alto = 0;
for(i = 1; i < tam; i++)
{
if(jug[i].altura > jug[alto].altura)
{
Página 3