Na pewno nie zamykasz pliku po zapisie, co skutkuje próbą otwracia już otwartego pliku i ustawia flage błędu.
http://www.cplusplus.com/reference/fstream/fstream/open/
If the stream is already associated with a file (i.e., it is already open), calling this function fails.
If the function fails to open a file, the failbit state flag is set for the stream (which may throw ios_base::failure if that state flag was registered using member exceptions).
i chce żeby po zakończeniu na 4 case sie usuwało wszystko z notatnika czyli plik clear(); wystarczy co nie?
Pojęcia nie mam jaki związek ma notatnik z całą resztą, ale moge ci na pewno powiedzieć, ze źle myślisz. Druga sprawa: clear() nie czyści pliku tylko flagi błędów.
http://www.cplusplus.com/reference/ios/ios/clear/
Sets a new value for the stream's internal error state flags.
A nawet jeśli by to robił, to chyba nie w tej kolejności wołasz funkcje, hm? :P
plik.close() ;
plik.clear() ;
Pokazałem ci twoje błędy. Gotowego rozwiązania raczej nie dostaniesz, bo takie mamy zasady na tym forum, no trudno :P