Struct Elev {char nume[20],opţiune[10]; float notaR, notaM, notaO;} x, y;
a) să se calculeze media generală a lui x
b) să se verifice dacă x şi y au ales aceeaşi disciplină opţională
c) dintre elevii daţi (x,y) să se afişeze cei care au ales “istorie” ca optional
d) să se afişeze numele elevului cu media maximă

Răspuns :

#include <iostream>

#include <cstring>

using namespace std;

struct Elev {

char nume[20], optiune[20];

float notaR, notaM; notaO;

} x, y;

int main() {

cin>>x.nume>>x.optiune>>x.notaR>>x.notaM>>x.notaO;

cin>>y.nume>>y.optiune>>y.notaR>>y.notaM>>y.notaO;

//a)

cout<<(float)(x.notaR+x.notaM+x.notaO)/3<<endl;

//b)

if ((strstr(x.optiune, y.optiune)!=NULL && strlen(x.optiune)==strlen(y.optiune)) cout<<"da"<<endl;

else cout<<"nu"<<endl;

//c)

if (strstr("istorie", x.optiune)!=NULL && strlen("istorie")==strlen(x.optiune)) cout<<x.optiune<<endl;

if (strstr("istorie", y.optiune)!=NULL && strlen("istorie")==strlen(y.optiune)) cout<<y.optiune<<endl;

//d)

if ((float)(x.notaR+x.notaM+x.notaO)/3>(float)(y.notaR+y.notaM+y.notaO)/3) cout<<x.nume;

else cout<<y.nume;

return 0;

}

ID Alte intrebari