Varooooooooooog in C++
sa aratati cum faci fisierul
Răspunsuri la întrebare
Răspuns:
#include<iostream>
#include<fstream>
using namespace std;
struct note_purtare {
int nmatr;
int nt;
int nam;
int np;
}note[30];
int main() {
int i = 0, n;
fstream f("purtare.in");
f >> n;
while (f)
{
f >> note[i].nmatr;
f >> note[i].nt;
f >> note[i].nam;
f >> note[i].np;
if (note[i].nt - note[i].nam > 50)
note[i].np = 4;
else
note[i].np = note[i].np - (note[i].nt - note[i].nam) / 10;
i++;
}
ofstream out("purtare.out");
for (int j = 0; j <= 4 - 1; j++)
for (int k = j; k < 4; k++)
if (note[j].np < note[k].np)
swap(note[j], note[k]);
i= 0;
out << n<<endl;
while (i < n) {
out << note[i].nmatr << " ";
out << note[i].nt << " ";
out << note[i].nam << " ";
out << note[i].np << " ";
i++;
out << endl;
}
}
ultimul elev are 37 de absente in total si 5 absente motivate, iar nota initiala la purtare este 10;
nota lui finala la purtare va fi 10-(37-5)/10, 37-5 reprezinta numarul de absente nemotivate si impartim la 10 pentru scadem un punct pentru fiecare 10 absente nemotivate 32/10=3 deci scadem 3 puncte