Algoritmo C++ Resuelto Alumno
#include<iostream.h>
#include<conio.h>
#include<string.h>
#include<stdio.h>
#include<math.h>
#include<ctype.h>
#define MAX 10
#define MAXCOD 11
#define MAXNO 3
#define MAXSEXO 2
//Definici¢n de estructuras
struct Alumno
{
char Codigo[MAXCOD];
char Nombre[50];
int Edad;
int Sexo; //Campo categorizadoint Notas[MAXNO];
float Prom; //Campo derivado
};
// Declaraci¢n de Tablas
char TSexo[MAXSEXO][20] = {"Femenino", "Masculino"};
//Zona de Prototipos
void Inicia(Alumno *pA);
void Menu(Alumno *pA, int &N);
void Lectura(Alumno *pA, int &N);
void MostrarTabla(char T[][20], int Max);
void PromEdad(Alumno *pA, int N);
void MayorEdad(Alumno *pA, int N);
voidCuentaHyM(Alumno *pA, int N);
void OrdenaNombre(Alumno *pA, int N);
void Mostrar(Alumno *pA, int N);
void Liberar(Alumno *pA);
void main()
{
Alumno *pA=new Alumno[MAX];
int N = 0;
Inicia(pA);
Menu(pA, N);
}
void Inicia(Alumno *pA)
{
//Inicializando Arreglo de Registros
for(int i=0;i<MAX;i++)
{
pA[i].Codigo[0]=NULL;
pA[i].Nombre[0]=NULL;
pA[i].Edad=0;pA[i].Sexo=0;
for(int j = 0; j < MAXNO; j++)
pA[i].Notas[j] = 0;
pA[i].Prom = 0.0;
}
}
void Menu(Alumno *pA, int &N)
{
//Men£ de Opciones
int Rpta;
do
{
clrscr();
cout<<"\n\n\t\t\MENU DE OPCIONES\n\n";
cout<<"\n\t1.-Leer datos \n";
cout<<"\n\t2.-Promedio de las Edades \n";
cout<<"\n\t3.-Mayor Edad \n";cout<<"\n\t4.-Cu ntos alumnos hombres y mujeres hay \n";
cout<<"\n\t5.-Ordenar por el campo Nombre en forma ascendente\n";
cout<<"\n\t6.-Mostrar Alumnos\n";
cout<<"\n\t7.-Salir del Programa \n";
do{
cout<<"\n\n\t\t ¨QUE OPERACION DESEA REALIZAR? \n";
cout<<"\n\n\t\t\t OPCION: ";
cin>>Rpta;
}while(! (Rpta> 0 && Rpta <= 7) );
switch(Rpta)
{
case 1: Lectura(pA, N); break;
case 2: PromEdad(pA, N); break;
case 3: MayorEdad(pA, N); break;
case 4: CuentaHyM(pA, N); break;
case 5: OrdenaNombre(pA, N); break;
case 6: Mostrar(pA, N); break;
case 7: Liberar(pA); break;
}
} while(Rpta != 7);
}
void Lectura(Alumno *pA,int &N)
{
int Suma;
clrscr();
cout<<"\n\t\t\t***Lectura de datos***\n\n";
do{
cout<<"\n\t Ingrese el n£mero de alumnos: ";
cin>>N;
}while(!(N > 0 && N <= MAX));
for(int i=0;i<N;i++)
{
Suma = 0;
cout<<"\n\n\t Alumno"<<i+1;
do
{
cout<<"\n Codigo: ";
gets(pA[i].Codigo);}while(!(strlen(pA[i].Codigo) == MAXCOD-1));
cout<<"\n Nombre: ";
gets(pA[i].Nombre);
do
{
cout<<"\n Edad(Entre 16 a 60): ";
cin>>pA[i].Edad;
}while(!(pA[i].Edad>15 && pA[i].Edad<=60));
MostrarTabla(TSexo, MAXSEXO);
do
{
cout<<"\n Sexo: ";
cin>>pA[i].Sexo;}while(!(pA[i].Sexo==0 || pA[i].Sexo== 1));
for(int j = 0; j < MAXNO; j++)
{
do
{
cout<<"\n Nota "<<j+1<<": ";
cin>>pA[i].Notas[j];
}while(!(pA[i].Notas[j]>=0 && pA[i].Notas[j]<=20));
Suma += pA[i].Notas[j];
}
pA[i].Prom = (float)Suma / MAXNO;
}
}
void MostrarTabla(char T[][20], int Max)
{
for(int i= 0; i < Max; i++)
cout<<"\n\t"<<i<<" - "<<T[i];
}
void PromEdad(Alumno *pA, int N)
{
clrscr();
cout<<"\n\t\t\t***Promedio de la Edad***\n\n";
if(N > 0)
{
int Suma = 0;
float Prom;
for(int i = 0;i < N;i++)
Suma += pA[i].Edad;
Prom=(float)Suma/N;
cout<<"\n\n El Promedio de las Edades es:...
Regístrate para leer el documento completo.