#include <iostream>
#include <string>
#include<windows.h>
void textDelay(std::string message,int delay) {
for (int i = 0; i < message.length(); i++) {
Sleep(delay);
std::cout << message[i];
}
std::cout << "\n";
}
int main() {
const int n_sub = 4;
const int n_com = 3;
const int max_marks = 100;
int allMarks[n_sub][max_marks] = { };
std::string menu = "Menu: ";
std::string holla_bro = "Choose your subject: ";
const std::string subjects[n_sub] = {
"Russia",
"Math",
"Physics",
"PE"
};
const std::string commands[n_com] = {
"Add marks",
"Show average mark",
"Exit"
};
//textDelay(holla_bro, 27);
////ask sub
//menu + commads
textDelay(menu, 45);
for (int i_com = 1; i_com <= n_com; i_com++) {
std::cout << i_com << ") ";
textDelay(commands[i_com - 1], 40);
}
std::string a;
do {
std::getline(std::cin, a);
if (a == "Add marks" || a == "1" || a == "add marks") {
int marks_sub = -1;
do {
textDelay("Enter you subject", 35);
for (int i_sub = 1; i_sub <= n_sub; i_sub++) {
std::cout << i_sub << ") ";
textDelay(subjects[i_sub - 1], 40);
}
std::string subject;
std::getline(std::cin, subject);
if (subject == "Russia" || subject == "russia" || subject == "1") {
marks_sub = 0;
}
else if (subject == "Math" || subject == "math" || subject == "2") {
marks_sub = 1;
}
else if (subject == "Physics" || subject == "physics" || subject == "3") {
marks_sub = 2;
}
else if (subject == "PE" || subject == "pe" || subject == "4") {
marks_sub = 3;
}
else {
textDelay("Brovskiy, i dont know this subject(, select another", 30);
}
} while (marks_sub == -1);
std::string marks;
std::string marks_copy;
int len_marks;
int buffer = 0;
do {
textDelay("Enter your marks", 35);
std::string marks;
std::cin >>marks;
marks_copy = marks;
len_marks = marks.length();
for (int i = 0; i < len_marks; i++) {
switch (marks[i]) {
case '2': {
buffer += 2;
break;
}case '3': {
buffer += 3;
break;
}case '4': {
buffer += 4;
break;
}case '5': {
buffer += 5;
break;
}default:
textDelay("Something is wrong, try again", 30);
break;
}
}
std::cout << marks << "\n";
} while (buffer == 0);
std::cout << marks << "\n";
allMarks[marks_sub][0] += buffer;
std::cout << marks << "4354"<< "\n";
allMarks[marks_sub][1] += len_marks;
std::cout << marks << "\n";
for (int i = 0; i < len_marks; i++) {
switch (marks_copy[i]) {
case '2': {
allMarks[marks_sub][i + 2] += 2;
break;
}case '3': {
allMarks[marks_sub][i + 2] += 3;
break;
}case '4': {
allMarks[marks_sub][i + 2] += 4;
break;
}case '5': {
allMarks[marks_sub][i + 2] += 5;
break;
}
}
}textDelay("Okey, I remembered", 60);
}
if (a == "Show average mark" || a == "2" || a == "show average mark") {
int marks_sub = -1;
do {
textDelay("Enter you subject", 35);
for (int i_sub = 1; i_sub <= n_sub; i_sub++) {
std::cout << i_sub << ") ";
textDelay(subjects[i_sub - 1], 40);
}
std::string subject;
std::getline(std::cin, subject);
if (subject == "Russia" || subject == "russia" || subject == "1") {
marks_sub = 0;
}
else if (subject == "Math" || subject == "math" || subject == "2") {
marks_sub = 1;
}
else if (subject == "Physics" || subject == "physics" || subject == "3") {
marks_sub = 2;
}
else if (subject == "PE" || subject == "pe" || subject == "4") {
marks_sub = 3;
}
else {
textDelay("Brovskiy, i dont know this subject(, select another", 30);
}
} while (marks_sub == -1);
if (allMarks[marks_sub][0] == 0) {
textDelay("Sorry, you dont have any marks",35);
}
else {
for (int i = 0; i < 100; i++) {
std::cout << allMarks[marks_sub][i];
}
for (int i = 2; i <= allMarks[marks_sub][1] + 2; i++) {
std::cout << allMarks[marks_sub][i];
}
std::cout << "\n";
}
}
textDelay(menu, 45);
for (int i_com = 1; i_com <= n_com; i_com++) {
std::cout << i_com << ") ";
textDelay(commands[i_com - 1], 40);
}
} while (a != "Exit" || a != "exit" || a != "3");
}