I dont see whats wrong. Its hard to understand when its in another language. But from what I understand from looking at the picture, you're program is working exactly as its supposed to.
It is a common problem encountered when mixing cin with getline methods. cin leaves a '\n' in the input stream which the following getline interprets as a line.
One solution is to flush out the '\n' after calling cin. Try this to replace lines 57-61 in your code:
1 2 3 4 5
if (x=='y'||x=='Y'){
cin.ignore(256,'\n');// flush that '\n' !
goto gak;
}
EDIT: Another solution is to not mix usage of these input methods.
Why do you declare the variables once in the structure and again once in the main function ? Also, It looks like you're using a very old form of C++ (Borland c++). Why don't you switch to a newer IDE ?