Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- void EDIJun(Cola C,Pila P,char *fichero){
- //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.
- calif calificaciones[100];
- for(int i=0;i<100;i++){
- calificaciones[i].DNI=-1;
- calificaciones[i].NT=-1;
- calificaciones[i].NP=-1;
- calificaciones[i].NJ=-1;
- calificaciones[i].NS=-1;
- };
- //Ahora vamos a ir rellenando el contenido
- //Suponemos que todos los alumnos de la lista han echo tanto el examen como las practicas
- //por consiguiente el tamaño de la coal y la pila es el mismo
- int longitud = C.longitud(),pos;
- float NP,NT;
- double dni_p;
- for(int i=0;i<longitud;i++){
- dni_p=C.primero().dni;
- pos = dni_p/100;
- NP=C.primero().NT;
- calificaciones[pos].DNI=dni_p;
- calificaciones[pos].NT=NT;
- C.desencolar();
- dni_p=P.primero().dni;
- pos = dni_p/100;
- NP=c.primero().NP;
- calificaciones[pos].DNI=dni_p;
- calificaciones[pos].NP=NP;
- P.desapilar();
- };
- //Ahora creamos un fichero,calculamos la nota media y escribimos en él
- ofstream fich(fichero,ios::binary)
- Calif escritura;
- if(!fich.fail()){
- for(int i=0;i<100;i++){
- escritura = calificaciones[i];
- if(escritura.NT!=-1&&escritura.NP!=-1){
- escritura.NJ=escritura.NT*0.7+escritura.NP*0.3;
- }elsif(escritura.NT==-1&&escritura.NP!=-1){
- escritura.NJ=escritura.NP*0.3;
- }else{
- escritura.NJ=escritura.NT*0.7;
- };
- fich.write((char *)&escritura,sizeof(int));
- };
- fich.close();
- cout << "Fichero creado satisfactoriamente"<< endl;
- }else{
- cout << "No se ha podido crear el fichero" << endl;
- };
- };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement