Advertisement
Guest User

Ejercicio 2

a guest
Jun 24th, 2018
94
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.59 KB | None | 0 0
  1. void EDIJun(Cola C,Pila P,char *fichero){
  2.     //Para mininizar el uso del disco duro vamos a crear todas las notas en un vector de 100, que es el numero de alumnos que tenemos.
  3.     calif calificaciones[100];
  4.     for(int i=0;i<100;i++){
  5.         calificaciones[i].DNI=-1;
  6.         calificaciones[i].NT=-1;
  7.         calificaciones[i].NP=-1;
  8.         calificaciones[i].NJ=-1;
  9.         calificaciones[i].NS=-1;
  10.     };
  11.     //Ahora vamos a ir rellenando el contenido
  12.     //Suponemos que todos los alumnos de la lista han echo tanto el examen como las practicas
  13.     //por consiguiente el tamaño de la coal y la pila es el mismo
  14.     int longitud = C.longitud(),pos;
  15.     float NP,NT;
  16.     double dni_p;
  17.     for(int i=0;i<longitud;i++){
  18.         dni_p=C.primero().dni;
  19.         pos = dni_p/100;
  20.         NP=C.primero().NT;
  21.         calificaciones[pos].DNI=dni_p;
  22.         calificaciones[pos].NT=NT;
  23.         C.desencolar();
  24.         dni_p=P.primero().dni;
  25.         pos = dni_p/100;
  26.         NP=c.primero().NP;
  27.         calificaciones[pos].DNI=dni_p;
  28.         calificaciones[pos].NP=NP;
  29.         P.desapilar();
  30.     };
  31.     //Ahora creamos un fichero,calculamos la nota media y escribimos en él
  32.     ofstream fich(fichero,ios::binary)
  33.     Calif escritura;
  34.     if(!fich.fail()){
  35.         for(int i=0;i<100;i++){
  36.             escritura = calificaciones[i];
  37.             if(escritura.NT!=-1&&escritura.NP!=-1){
  38.                 escritura.NJ=escritura.NT*0.7+escritura.NP*0.3;
  39.             }elsif(escritura.NT==-1&&escritura.NP!=-1){
  40.                 escritura.NJ=escritura.NP*0.3;
  41.             }else{
  42.                 escritura.NJ=escritura.NT*0.7;
  43.             };
  44.             fich.write((char *)&escritura,sizeof(int));
  45.         };
  46.         fich.close();
  47.         cout << "Fichero creado satisfactoriamente"<< endl;
  48.     }else{
  49.         cout << "No se ha podido crear el fichero" << endl;
  50.     };
  51. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement