Arreglos en c++ ejercicios resueltos
Strut con arreglos
- Hacer un Menú, que permita ingresar n cantidad de alumnos a registrar: código, nombre, sección (A y B) y tres notas las cuales serán promediadas. El programa debe imprimir todos los alumnos que sólo se encuentran en la sección A y sólo los que se encuentran en la sección B, cada uno con sus promedios correspondientes. El programa debe imprimir todos los alumnos registrados.
#include<iostream.h>
#include<conio.h>
#define MAX 100
struct alumnos{
char codigo[9];
char nombre[20];
char seccion;
int nota1;
int nota2;
int nota3;
};
void registrar(int, struct alumnos[]);
void seccionA (int, struct alumnos[]);
void seccionB (int, struct alumnos[]);
void registrados(int, struct alumnos[]);
void main()
{int n,opc;
struct alumnos alum[MAX];
do
{
cout<<"1. Registrar"<<endl;
cout<<"2. Promedio Seccion A"<<endl;
cout<<"3. Promedio Seccion B"<<endl;
cout<<"4. Registrados"<<endl;
cout<<"5. Salir"<<endl;
cout<<endl;
cout<<"Ingrese Opcion:";
cin>>opc;
cout<<endl;
clrscr();
switch(opc)
{
case 1: cout<<"Cantidad de alumnos a Registrar:";
cin>>n;
cout<<endl;
cout<<"***Registre Alumnos***"<<endl;
registrar(n,alum);
clrscr();
break;
case 2: cout<<"***Seccion A***"<<endl;
seccionA(n,alum);
clrscr();
break;
case 3: cout<<"***Seccion B***"<<endl;
seccionB(n,alum);
clrscr();
break;
case 4: cout<<"***Registrados***"<<endl;
registrados(n,alum);
clrscr();
break;
}
}while(opc!=5);
}
void registrar(int n, struct alumnos x[])
{int i;
for(i=0;i<n;i++)
{cout<<"Codigo :"; cin>>x[i].codigo;
cout<<"Nombre :"; cin>>x[i].nombre;
cout<<"Seccion:"; cin>>x[i].seccion;
cout<<"Nota 1 :"; cin>>x[i].nota1;
cout<<"Nota 2 :"; cin>>x[i].nota2;
cout<<"Nota 3 :"; cin>>x[i].nota3;
cout<<endl;
}
getch();
}
void seccionA(int n, struct alumnos x[])
{for(int i=0;i<n;i++)
if(x[i].seccion=='A' || x[i].seccion=='a')
cout<<x[i].codigo<<"\t" <<x[i].nombre<<"\t" <<x[i].seccion<<"\t" <<x[i].nota1<<"\t" <<x[i].nota2<<"\t" <<x[i].nota3<<"\t" <<(x[i].nota1+x[i].nota2+x[i].nota3)/3<<"\t"<<endl;
getch();
}
void seccionB(int n, struct alumnos x[])
{for(int i=0;i<n;i++)
if(x[i].seccion=='B' || x[i].seccion=='b')
cout<<x[i].codigo<<"\t" <<x[i].nombre<<"\t" <<x[i].seccion<<"\t" <<x[i].nota1<<"\t" <<x[i].nota2<<"\t" <<x[i].nota3<<"\t" <<(x[i].nota1+x[i].nota2+x[i].nota3)/3<<"\t"<<endl;
getch();
}
void registrados(int n, struct alumnos x[])
{for(int i=0;i<n;i++)
cout<<x[i].codigo<<"\t" <<x[i].nombre<<"\t" <<x[i].seccion<<"\t" <<x[i].nota1<<"\t" <<x[i].nota2<<"\t" <<x[i].nota3<<"\t" <<(x[i].nota1+x[i].nota2+x[i].nota3)/3<<"\t"<<endl;
getch();
}