#include <iostream> // cin, cout
#include <string> // strings
#include <Windows.h> // Sleep()
#include <conio.h> // getch()
#include <math.h> // round()
usingnamespace std;
int nota = 11, numar, numarmg, teza;
float medie[18];
string raspuns[5];
bool teza4 = FALSE;
int main()
{
cout << "Se citesc note pana la intalnirea cifrei 0" << endl << endl;
Sleep(700); numarmg = 0;
cout << "Note la Limba si literatura romana: " << endl;
while (nota != 0)
{
cin >> nota;
if (nota != 0)
numar++;
medie[0] += nota;
}
medie[0] = medie[0] / numar;
cout << "Teza la Limba si literatura romana: "; cin >> teza;
medie[0] = ((medie[0] * 3) + teza) / 4;
cout << "Media la Limba si literatura romana este " << medie[0] << endl << endl; nota = 11; numar = 0; numarmg++; medie[0] = round(medie[0]);
cout << "Note la Limba moderna 1: " << endl;
while (nota != 0)
{
cin >> nota;
if (nota != 0)
numar++;
medie[1] += nota;
}
medie[1] = medie[1] / numar;
cout << "Media la Limba moderna 1 este " << medie[1] << endl << endl; nota = 11; numar = 0; numarmg++; medie[1] = round(medie[1]);
cout << "Note la Limba moderna 2: " << endl;
while (nota != 0)
{
cin >> nota;
if (nota != 0)
numar++;
medie[2] += nota;
}
medie[2] = medie[2] / numar;
cout << "Media la Limba moderna 2 este " << medie[2] << endl << endl; nota = 11; numar = 0; numarmg++; medie[2] = round(medie[2]);
cout << "Note la Matematica: " << endl;
while (nota != 0)
{
cin >> nota;
if (nota != 0)
numar++;
medie[3] += nota;
}
medie[3] = medie[3] / numar;
cout << "Teza la Matematica: "; cin >> teza;
medie[3] = ((medie[3] * 3) + teza) / 4;
cout << "Media la Matematica este " << medie[3] << endl << endl; nota = 11; numar = 0; numarmg++; medie[3] = round(medie[3]);
cout << "Note la Fizica: " << endl;
while (nota != 0)
{
cin >> nota;
if (nota != 0)
numar++;
medie[4] += nota;
}
medie[4] = medie[4] / numar;
if (teza4 == FALSE)
{
cout << "Teza la Fizica? (da/nu) ";
cin >> raspuns[0];
if (raspuns[0] == "da" || raspuns[0] == "Da" || raspuns[0] == "d" || raspuns[0] == "D")
{
teza4 = TRUE;
cout << "Teza la Fizica: "; cin >> teza;
medie[4] = ((medie[4] * 3) + teza) / 4;
}
}
cout << "Media la Fizica este " << medie[4] << endl << endl; nota = 11; numar = 0; numarmg++; medie[4] = round(medie[4]);
cout << "Note la Chimie: " << endl;
while (nota != 0)
{
cin >> nota;
if (nota != 0)
numar++;
medie[5] += nota;
}
medie[5] = medie[5] / numar;
if (teza4 == FALSE)
{
cout << "Teza la Chimie? (da/nu)"; cin >> raspuns[1];
if (raspuns[1] == "da" || raspuns[1] == "d" || raspuns[1] == "Da" || raspuns[1] == "D")
{
teza4 = TRUE;
cout << "Teza la Chimie: "; cin >> teza;
medie[5] = ((medie[5] * 3) + teza) / 4;
}
}
cout << "Media la Chimie este " << medie[5] << endl << endl; nota = 11; numar = 0; numarmg++; medie[5] = round(medie[5]);
cout << "Note la Biologie: " << endl;
while (nota != 0)
{
cin >> nota;
if (nota != 0)
numar++;
medie[6] += nota;
}
medie[6] = medie[6] / numar;
if (teza4 == FALSE)
{
cout << "Teza la Biologie? (da/nu)"; cin >> raspuns[2];
if (raspuns[2] == "da" || raspuns[2] == "d" || raspuns[2] == "Da" || raspuns[2] == "D")
{
teza4 = TRUE;
cout << "Teza la Biologie: "; cin >> teza;
medie[6] = ((medie[6] * 3) + teza) / 4;
}
}
cout << "Media la Biologie este " << medie[6] << endl << endl; nota = 11; numar = 0; numarmg++; medie[6] = round(medie[6]);
cout << "Note la Informatica: " << endl;
while (nota != 0)
{
cin >> nota;
if (nota != 0)
numar++;
medie[7] += nota;
}
medie[7] = medie[7] / numar;
cout << "Teza la Informatica? (da/nu)"; cin >> raspuns[3];
if (raspuns[3] == "da" || raspuns[3] == "d" || raspuns[3] == "Da" || raspuns[3] == "D")
{
cout << "Teza la Informatica: "; cin >> teza;
medie[7] = ((medie[7] * 3) + teza) / 4;
}
medie[7] = ((medie[7] * 3) + teza) / 4;
cout << "Media la Informatica este " << medie[7] << endl << endl; nota = 11; numar = 0; numarmg++; medie[7] = round(medie[7]);
cout << "Note la Istorie: " << endl;
while (nota != 0)
{
cin >> nota;
if (nota != 0)
numar++;
medie[8] += nota;
}
medie[8] = medie[8] / numar;
cout << "Media la Istorie este " << medie[8] << endl << endl; nota = 11; numar = 0; numarmg++; medie[8] = round(medie[8]);
cout << "Note la Geografie: " << endl;
while (nota != 0)
{
cin >> nota;
if (nota != 0)
numar++;
medie[9] += nota;
}
medie[9] = medie[9] / numar;
cout << "Media la Geografie este " << medie[9] << endl << endl; nota = 11; numar = 0;numarmg++; medie[9] = round(medie[9]);
cout << "Note la Religie/Istoria Religiilor: " << endl;
while (nota != 0)
{
cin >> nota;
if (nota != 0)
numar++;
medie[10] += nota;
}
medie[10] = medie[10] / numar;
cout << "Media la Religie este " << medie[10] << endl << endl; nota = 11; numar = 0;numarmg++; medie[10] = round(medie[10]);
cout << "Note la Educatie muzicala: " << endl;
while (nota != 0)
{
cin >> nota;
if (nota != 0)
numar++;
medie[11] += nota;
}
medie[11] = medie[11] / numar;
cout << "Media la Educatie muzicala este " << medie[11] << endl << endl; nota = 11; numar = 0;numarmg++; medie[11] = round(medie[11]);
cout << "Note la Educatie plastica: " << endl;
while (nota != 0)
{
cin >> nota;
if (nota != 0)
numar++;
medie[12] += nota;
}
medie[12] = medie[12] / numar;
cout << "Media la Educatie plastica este " << medie[12] << endl << endl; nota = 11; numar = 0;numarmg++; medie[12] = round(medie[12]);
cout << "Note la Educatie fizica: " << endl;
while (nota != 0)
{
cin >> nota;
if (nota != 0)
numar++;
medie[13] += nota;
}
medie[13] = medie[13] / numar;
cout << "Media la Educatie fizica este " << medie[13] << endl << endl; nota = 11; numar = 0;numarmg++; medie[13] = round(medie[13]);
cout << "Note la Stiinte socio-umane(Logica,Filozofie,Economie,Psihologie): " << endl;
while (nota != 0)
{
cin >> nota;
if (nota != 0)
numar++;
medie[14] += nota;
}
medie[14] = medie[14] / numar;
cout << "Media la Stiinte socio-umane este " << medie[14] << endl << endl; nota = 11; numar = 0;numarmg++; medie[14] = round(medie[14]);
cout << "Se cere media la Tehnologia Informatiei si Telecomunicatiilor(TIC) ? (da/nu)" << endl; cin >> raspuns[4];
if (raspuns[4] == "Da" || raspuns[4] == "da" || raspuns[4] == "d" || raspuns[4] == "D")
{
cout << "Note la TIC: ";
while (nota != 0)
{
cin >> nota;
if (nota != 0)
numar++;
medie[15] += nota;
}
medie[15] = medie[15] / numar;
cout << "Media la TIC este " << medie[15] << endl << endl; nota = 11; numar = 0;numarmg++; medie[0] = round(medie[15]);
}
else { medie[15] = 0; }
cout << "Media la Purtare:"; cin >> medie[16]; numarmg++;
cout << endl << endl;
float mg = (medie[0] + medie[1] + medie[2] + medie[3] + medie[4] + medie[5] + medie[6] + medie[7] + medie[8] + medie[9] + medie[10] + medie[11] + medie[12] + medie[13] + medie[14] + medie[15] + medie[16]) / numarmg;
cout << "Media generala este: " << mg << endl;
_getch(); //
}
As you can see, I repeat a sequence 17 times except 4 times when I have another algorithm.
Can you help me to make it shorther? I was thinking at some classes, but I don't know.