Vous êtes sur la page 1sur 2

#include <iostream>

#include <fstream>
#include <stdlib.h>
#include <stdio.h>

const int N = 100;


struct Alumno{
char Codigo[8];
char Nombre[80];
int Prac[4];
int Labos[4];
float Notas[4];//ep,ef,pp,pl

float pf;
char situacion[15];

};

int NotaBaja(int a[N]);


using namespace std;
int main()
{
ofstream f1;
f1.open("Alumnos.dat",ios::out|ios::binary);
int n;//numero de registros
cout<<"Cuantos alumnos?";
cin>>n;
Alumno Algo[N];
fflush(stdin);
for(int i=0;i<n;i++)
{
float PromFin,SumPract = 0,SumLab = 0;
cout<<"Codigo?"; gets(Algo[i].Codigo);
cout<<"Nombre?"; gets(Algo[i].Nombre);
fflush(stdin);
cout<<"Parcial y final?";
cin>>Algo[i].Notas[0]>>Algo[i].Notas[1];
cout<<"Practicas? (4)";
for(int j=0;j<4;j++)
{
cin>>Algo[i].Prac[j];
SumPract+=Algo[i].Prac[j];
}
int MenPract = NotaBaja(Algo[i].Prac);
float pp = (SumPract - MenPract)/3.0;
Algo[i].Notas[2]=pp;

cout<<"Labos?(4)";
for(int k=0;k<4;k++)
{
cin>>Algo[i].Labos[k];
SumLab+=Algo[i].Labos[k];
}
int MenLabo = NotaBaja(Algo[i].Labos);
float pl = (SumPract - MenLabo)/3.0;
Algo[i].Notas[3]=pl;

Algo[i].pf=(pp+pl+Algo[i].Notas[0]+Algo[i].Notas[1])/4.0;

f1.write((char*)(&Algo[i]), sizeof(Alumno));
fflush(stdin);
}
f1.close();
return 0;
}
int NotaBaja(int a[N])
{
int menor = 10000;
for(int i = 0; i<4 ; i++)
{
if(menor > a[i])
menor = a[i];
}

return menor;
}

Vous aimerez peut-être aussi