Let's have a look at your code.
Your marking (assignment1, assignment2, testscore1, testscore2, total) is stored as an std::string. That data type is used to store text, not numbers. Try int instead to store numbers. You can read them like this:
std::cin >> mark1;
You also have some unexpected lines (garbage?) in your code. Please remove lines
int total = value1 + value2 + value3;
as they do not belong there.
The problem of mixed input methods
Now your code compiles and handles numbers correctly if you applied the above fixes.
However, a new problem arose: sometimes you read input with std::cin >>, other times with getline(). I understand that getline() will read the whole line for you, spaces and all, while std::cin >> only read for the first space and this may be your desired behaviour. However, they handled whitespaces (including newline characters) differently and what std::cin >> leaves behind will be consumed by getline() and it may result in an empty input.
So a simple solution is to leave behind the benefit of getline() and use std::cin >> all the time.
Another solution needs more work: use getline() all the time, but then scan your read line for numbers in it:
std::stringstream(line) >> number;
With the help of the above function, your code would look something like this:
assignment1 = readInt();
I hope this helps.