Ejercicios resueltos, décimo ejercicio.

 Realizar un programa que pida los datos de el usuario (alumno) y de tres alumnos mas. Y hacer una estructura que pida: Nombre, edad y promedio de los usuarios, posteriormente comprobar cual de los 3 usuarios tiene mayor nota, he imprimir los datos en pantalla.

NOTA: Usar punteros a estructura


#include<iostream>

#include<conio.h>

using namespace std;


struct Alumno{

char nombre[30];

int edad;

float promedio;

}alumno[3], *puntero_alumno = alumno;


void pedirDatos();

void comprobarMejorPromedio(Alumno *);


int main(){

pedirDatos();

comprobarMejorPromedio(puntero_alumno);

getch();

return 0;

}


void pedirDatos(){

for(int i=0;i<3;i++){

fflush(stdin); //Limpiar buffer para poder seguir digitando datos

cout<<"Digite su nombre: ";

cin.getline((puntero_alumno+i)->nombre,30,'\n');

cout<<"Digite su edad: ";

cin>>(puntero_alumno+i)->edad;

cout<<"Digite su promedio: ";

cin>>(puntero_alumno+i)->promedio;

cout<<"\n";

}

}


void comprobarMejorPromedio(Alumno *puntero_alumno){

float mayor = 0.0;

int pos=0;

for(int i=0;i<3;i++){

if((puntero_alumno+i)->promedio > mayor){

mayor = (puntero_alumno+i)->promedio;//sacamos el mayor promedio

pos = i;// guardamos la posicion del mayor promedio

}

}

//Imprimimos los datos del alumno con el mejor promedio

cout<<"\nAlumno con el mejor promedio: "<<endl;

cout<<"Nombre: "<<(puntero_alumno+pos)->nombre<<endl;

cout<<"Edad: "<<(puntero_alumno+pos)->edad<<endl;

cout<<"Promedio: "<<(puntero_alumno+pos)->promedio<<endl;

}




Comentarios