ensayo

Páginas: 5 (1076 palabras) Publicado: 29 de octubre de 2014
/*Modelo de parcial
Para la evaluación de un examen final previo, se pide desarrollar un programa que administre los datos de los alumnos que se presentaron a rendir.
La información a procesar está compuesta por los siguientes ítems:
•Número de legajo
•Nombre y apellido del alumno
•Nota entera entre 1 y 10 de cada uno los tres puntos que conforman el examen
•Nota de examen como promediode las tres notas anteriores
•Nota final entera redondeando la anterior al entero superior.
Se pide:
1.Cargar un vector con los datos de 5 alumnos
2.Mostrar el contenido del vector en forma correctamente tabulada y con los nombres y apellidos en mayúsculas (completos no solo las iniciales)
3.Ordenar el vector en por nota final creciente y en caso de igualdad por legajo creciente.
4.Mostrar elvector resultante. */
#include <stdio.h>
#include <stdlib.h>
#define MAX 5
struct alumno{
int lu;
char nya[40];
int notap[3];
float prom;
int notaf;
};
typedef struct alumno Alu;
void aMayVectAlu(Alu *);
void cargarVectAlu(Alu*);
void mostrarVectAlu(Alu*);
Alu cargaUnAlumno(void);
int redondeo(float );
void mostrarUnAlumno(Alu);
void aMay(char *);
voidordenar(Alu*);
int main(void){
Alu vAlu[MAX];
cargarVectAlu(vAlu);
puts("D A T O S D E L O S A L U M N O S");
mostrarVectAlu(vAlu);
aMayVectAlu(vAlu);
puts("D A T O S D E L O S A L U M N O S en mayuscula");
mostrarVectAlu(vAlu);
ordenar(vAlu);
puts("D A T O S D E L O S A L U M N O S O R D E N A D O S");
mostrarVectAlu(vAlu);
return 0;
}
void cargarVectAlu(Alu * va){
int i;for(i=0;i<MAX;i++)
va[i]=cargaUnAlumno();
}
void mostrarVectAlu(Alu * va){
int i;
for(i=0;i<MAX;i++)
mostrarUnAlumno(va[i]);
}
Alu cargaUnAlumno(void){
Alu unAlu;
/*printf("Ingrese LU : ");
scanf("%d",&unAlu.lu);getc(stdin);//fflush(stdin);
printf("Ingrese mombre y apellido : ");
gets(unAlu.nya);
printf("Ingrese las notas de los tres puntos del examen : ");scanf("%d%d%d",&unAlu.notap[0],&unAlu.notap[1],&unAlu.notap[2]);
*/
unAlu.lu=rand()%100000+100000;
sprintf(unAlu.nya,"Alumno CON LEGAJO %d",unAlu.lu);
unAlu.notap[0]=rand()%11;
unAlu.notap[1]=rand()%11;
unAlu.notap[2]=rand()%11;
unAlu.prom=(unAlu.notap[0]+unAlu.notap[1]+unAlu.notap[2])/3.f;
unAlu.notaf=redondeo(unAlu.prom);
return unAlu;
}
int redondeo(float p){
int a;
a=(int)p;
if(a!=p)
a++;return a;
}
void mostrarUnAlumno(Alu al){
printf("LU:%6d %-40s %2d %2d %2d %4.2f NotaF:%2d\n", al.lu ,al.nya, al.notap[0], al.notap[1], al.notap[2], al.prom, al.notaf);
}
void aMayVectAlu(Alu *va){
int i;
for(i=0;i<MAX;i++)
aMay(va[i].nya);
}
void aMay(char *s){
while(*s){
if(*s>='a' && *s<='z')
*s+='A'-'a';
s++;
}
}
void ordenar(Alu*va){
int i,j;
Alu aux;for(i=0;i<MAX-1;i++)
for(j=i+1;j<MAX;j++)
if(va[i].notaf>va[j].notaf){
aux=va[i];
va[i]=va[j];
va[j]=aux;
}
else if(va[i].lu>va[j].lu && va[i].notaf==va[j].notaf){
aux=va[i];
va[i]=va[j];
va[j]=aux;
}
}
/*
Ejemplo de llenado parcial de un vector para almacenar numeros naturales
Los valores validos estan almacenados al principio del vector y se encuentran delimitadospor el valor invalido -1
*/
#include <stdio.h>
#define MAX 12 //Macrodefinicion tamaño del vector
//Declaracion de funciones
int menu(void);
void pausa(void);
void agregarUnValor(int *);
void mostrarVector(int *);
void eliminaUnElemento(int *);
void eliminaUnElementoM(int *);
void ordenarVector(int*);
int main(void){
int miVector[MAX];
int op=0;
miVector[0]=-1;
while(op!=9){
op=menu();
switch(op){
case 1:
agregarUnValor(miVector);
pausa();
break;
case 2:
mostrarVector(miVector);
pausa();
break;
case 3:
eliminaUnElemento(miVector);
pausa();
break;
case 4:
eliminaUnElementoM(miVector);
pausa();
break;
case 5:
ordenarVector(miVector);
pausa();
break;
}
}
return 0;
}
/*********************************************************************...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Ensayo de el Ensayo
  • ensayo de ensayo
  • Ensayo Del Ensayo
  • Ensayo de un ensayo
  • Ensayemos un ensayo
  • ensayo del ensayo
  • Ensayo del ensayo
  • Ensayo del ensayo

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS