Trochę "pogubiłeś się" z tymi break-ami w case 1 
Przykład jak to poprawić
switch (op1)
{
case 1:
{
if (Zapis.good() == false)
{
cout << "Zapis nie istneje";
Sleep(2500);
}
else if (Zapis.good() == true)
{
Zapis.open("Daneapk.txt", ios::in);
cout << "Wczytuje grę";
int nr_linii=0;
while (getline(Zapis, linia))
{
switch (++nr_linii)
{
case 1: nick = atoi(linia.c_str()); break;
case 2: Exp = atoi(linia.c_str()); break;
case 3: kasa = atoi(linia.c_str()); break;
case 4: day = atoi(linia.c_str()); break;
}
Sleep(500);
}
}
break;
}
case 2:
{
Zapis.open("Daneapk.txt", ios::out);
cout << "Nie używaj spacji !" << endl;
cout << "Podaj nickname :"; cin >> nick;
Zapis << nick;
Zapis.close();
break;
}
P.S. nick to chyba string, więc czemu masz taki zapis, co chciałeś osiągnąć?
case 1: nick = atoi(linia.c_str()); break;