Ir al contenido principal

Programación en c++: Struct - Tercio superior del total de alumnos





1.- Usando Struct, hacer un programa que permita ingresar n cantidad de alumnos, cógido,   nombre, y tres notas, Nos debe mostrar los datos del alumno de forma ordenada por su promedio y sólo mostrar el tercio superior de la cantidad de alumnos.

#include<iostream.h>
#include<conio.h>
#define lim 100
struct alumno{
               char codigo[9];
               char nombre[20];
               int nota1;
               int nota2;
               int nota3;
               };
void leer(int, struct alumno[]);
void ordenar(int , struct alumno[]);
void listado(int, struct alumno[]);

void main()
{int n;
struct alumno alu[lim];
cout<<"Cantidad de alumnos:"; cin>>n;
leer(n,alu);
ordenar(n,alu);
cout<<"Orden segun su promedio:"<<endl;
listado(n,alu);
getch();
}
void leer(int n, struct alumno x[])
{int i;
 for(i=0;i<n;i++)
 {cout<<"Codigo :"; cin>>x[i].codigo;
  cout<<"Nombre :"; cin>>x[i].nombre;
  cout<<"Nota 1 :"; cin>>x[i].nota1;
  cout<<"Nota 2:"; cin>>x[i].nota2;
  cout<<"Nota 3:"; cin>>x[i].nota3;
  }
  getch();
 }
 void ordenar( int n, struct alumno x[])
 {int i,j;
 struct alumno temp;
  for(i=1;i<n;i++)
   for(j=n-1;j>=i; j--)
   if((x[j-1].nota1+x[j-1].nota2+x[j-1].nota3)/3<(x[j].nota1+x[j].nota2+x[j].nota3)/3)
   {temp=x[j-1];
    x[j-1]=x[j];
    x[j]=temp;
    }
  }
  void listado(int n, struct alumno x[])
  {int i;
  for(i=0;i<n/3;i++)
  {cout<<x[i].codigo<<"\t";
   cout<<x[i].nombre<<"\t";
   cout<<x[i].nota1<<"\t";
   cout<<x[i].nota2<<"\t";
   cout<<x[i].nota3<<"\t";
   cout<<(x[i].nota1+x[i].nota2+x[i].nota3)/3<<endl;
   }
  }


  • Se puede notar que al mostrar el orden según su promedio sólo nos muestra uno, y esto es el tercio superior. Al ingresar los datos, éste nos pedía cantidad de alumnos a ingresar y nosotros digitamos 3, es así si queremos encontrar el tercio superior según la nota más alta de los alumnos éste nos mostrará sólo uno. Si fuera el caso de que ingresamos en cantidad de alumnos 6, éste nos mostrará al final sólo los dos primeros alumnos con más alto promedio, que equivale al tercio superior. Para encontrar el tercio superior, sólo basta con dividir la cantidad de alumnos (n) dividido entre "3".








Comentarios

Entradas más populares de este blog

Programación en c++ : Matriz - Calcular mayor de la matriz

1.- Hacer un programa que permita ingresar n datos de una matriz y calcular el mayor de la matriz. #include<iostream.h> #include<conio.h> #define lim 50 void main() {int i,j,a[lim][lim],fila,col,  may=a[0][0];  clrscr(); do {cout<<"Ingresar limite de la fila:";  cin>>fila; }while(fila<=0); do {cout<<"Ingesar limite de la columna:";  cin>>col; }while(col<=0); gotoxy(10,7); cout<<"Ingresar Elementos de la matriz\n\n"; for(i=0;i<fila;i++) for(j=0;j<col;j++) {cout<<"a["<<i<<"]"<<"["<<j<<"]";  cin>>a[i][j]; } for(i=0;i<fila;i++) for(j=0;j<col;j++) if(a[i][j]>may) may=a[i][j]; clrscr(); gotoxy(10,7); cout<<"Elementos de la matriz\n\n"; for(i=0;i<fila;i++) for(j=0;j<col;j++) {cout<<a[i][j];  cout<<"\n"; } clrscr(); gotoxy(10,20); cout...

Mostrar y Modificar una tabla en Netbeans

Continuando con el ejercicio anterior, ahora veremos como modificar una tabla creada en SLQ Server  desde Netbeans. Para ello sólo adicionaremos algunos códigos, en este caso siguiendo con el ejercicio anterior sólo agregamos en el index.jsp lo siguiente: <td align="center"><a href ="frmProductos.jsp?txtpara=M&txtid = <%= objpro.getcodigo() %>"><img src="images/upd.gif"></a></td> En el java class Productos, aparte de crear el método mostrar, crearemos dos métodos más: Método para Buscar y para Modificar, pero primero antes de todo declaramos nuestras variables como privado, creamos un constructor y luego aplicamos un Getter and Setter como se muestra en las siguientes imágenes:   Después de haber hecho el paso anterior, creamos un nuevo jsp la cual llamaremos frmProductos y escribimos la siguiente codificación: Luego creamos otro package que llamaremos Servlet, dentr...

Programación en c++: Arreglos - Buscar un elemento

1.- #include<iostream.h> #include<conio.h> #define MAX 100 void main() {int n, elem, i,a[MAX],band; clrscr(); cout<<"Limite:"; cin>>n; cout<<endl; for(i=0;i<n;i++) {cout<<"ELEMENTO ="; cin>>a[i]; } cout<<endl; cout<<"Ingrese elemento a buscar:"; cin>>elem; band=1; if(elem==a[i]) cout<<"Elemento encontrado"<<endl; if(band==0) cout<<"Elemento no encontrado"<<endl; getch(); }