Está en la página 1de 8

Procesamiento de notas

Prof: Isaac Zúñiga

Est: Jesus Daniel Barrios Muñoz – T00054923

Schneyder Maza Vellojin - T00014508

Jeison Aguas Beltran – T000622954

#include <iostream>

//procesamiento de notas 1P21

using namespace std;

// definicion del registtro o struct

struct estudiante{

string codigo;

string nombre;

double nota1;

double nota2;

double def;

};

// declaracion de funcion leer

void leer(estudiante [],int );

//declaaracion de funcion intercambio

void imprimir(estudiante [],int);

double promedio(estudiante [],int );

void ascendente_Nom(estudiante [],int );


void descendente_Nom(estudiante [],int );

void ascendente_def(estudiante [],int );

void descendente_def(estudiante [],int );

//programa principal

int main(){

int N=100;//tamaño limite del arreglo

int n; //Numero de estudiantes

double prom;//promedio

int superiores=0; //estudiantes con nota def superior o igual al promedio

cout<<"Digite el numero de estudiantes: ";

cin>>n;

estudiante E[N];

leer(E,n);

cout<<"\n imprimiendo a continuacion listado por codigo y definitiva \n\t";

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

cout << "\nEstudiante #" << i+1 << ": ";

cout<<"\nel codigo: ";

cout<<E[i].codigo;

cout<<"\tNota defiitiva: "<<E[i].def<<endl;

//promedio del grupo

prom =promedio(E,n);

cout<<"\nPromedio del grupo: "<<prom;

//conteo del numero de estudiantes con nota def superior o igual al promedio del grupo

cout<<"\nEstudiantes con nota definitiva superior o igual al promedio del grupo"<<endl;


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

if(E[i].def >= prom){

superiores++;

cout<<"\nCodigo: "<<E[i].codigo<<"\tNombre: "<<E[i].nombre;

cout<<"\nNumero de estudiantes con nota definitiva superior o igual al promedio del


grupo: "<<superiores<<endl;

// Ascendente segun la definitiva

cout<<"\nOrdenamiento de manera Ascendente segun la definitiva"<<endl;

ascendente_def(E,n );

imprimir(E,n);

// descendente segun la definitiva

cout<<"\nOrdenamiento de manera Descendente segun la definitiva"<<endl;

descendente_def(E,n );

imprimir(E,n);

// Ascendente segun el nombre

cout<<"\nOrdenamiento de manera Ascendente segun el nombre"<<endl;

ascendente_Nom(E,n);

imprimir(E,n);

// descendente segun el nombre

cout<<"\nOrdenamiento de manera Descendente segun el nombre"<<endl;

descendente_Nom(E,n );

imprimir(E,n);

return 0;

}
//desarrollo de las funciones

void leer(estudiante V[],int n){

cout<<"\nleyendo el vector"<<endl;

for(int i=0; i<n; i++)

cout << "estudiante #" << i+1 << ": ";

cout<<"\nDigite el codigo: ";

cin >> V[i].codigo;

cout<<"\nDigite el Nombre: ";

cin >> V[i].nombre;

cout<<"\nDigite la nota 1: ";

cin >> V[i].nota1;

cout<<"\nDigite la nota 2: ";

cin >> V[i].nota2;

V[i].def=(V[i].nota1+V[i].nota2)/2;

void imprimir(estudiante V[],int n){

cout<<"\n imprimiendo a continuacion... \n\t";

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

cout << "\nEstudiante #" << i+1 << ": ";

cout<<"\nCodigo: ";

cout<<V[i].codigo;

cout<<"\nNombre: ";

cout<<V[i].nombre;

cout<<"\nNota 1: ";

cout<< V[i].nota1;

cout<<"\nNota 2: ";
cout<< V[i].nota2;

cout<<"\tNota defiitiva: "<<V[i].def<<endl;

double promedio(estudiante V[],int n){

double prom=0;

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

prom += V[i].def;

return (prom/n);

void ascendente_def(estudiante V[],int n){

estudiante aux;

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

for(int j=i+1; j<n;j++){

if(V[i].def > V[j].def ){

aux = V[i];

V[i] = V[j];

V[j] = aux;

}
}

void descendente_def(estudiante V[],int n){

estudiante aux;

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

for(int j=i+1; j<n;j++){

if(V[i].def < V[j].def ){

aux = V[i];

V[i] = V[j];

V[j] = aux;

void ascendente_Nom(estudiante V[],int n ){

estudiante aux;

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

for(int j=i+1; j<n;j++){

if(V[i].nombre > V[j].nombre ){


aux = V[i];

V[i] = V[j];

V[j] = aux;

void descendente_Nom(estudiante V[],int n ){

estudiante aux;

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

for(int j=i+1; j<n;j++){

if(V[i].nombre < V[j].nombre ){

aux = V[i];

V[i] = V[j];

V[j] = aux;

También podría gustarte