Witam. Musze zrobic projekt na uczelnie wiec zaczalem sie bawic w c++, jednak nie moge uporac sie z jednym problemem...
system("cls");
cout << "Podaj sciezke pliku wej, sciezke pliku wyj i nr operacji oddzielone spacjami:" << endl;
cin >> sciezwej >> sciezwyj >> nrint;
ifstream plik;
ofstream plik2;
plik.open(sciezwej.data(), std::ios::in);
plik2.open(sciezwyj.data());
while ((sciezwej==sciezwyj) || ((nrint!=1) && (nrint!=2)) || (!plik.is_open()) || (!plik2.is_open()))
{
plik.close(); // jak te 2 sa wlaczone to w ogole przestaje dzialac po bledzie
plik2.close(); // a bez nich nie przeladowuje pliku po zmianie sciezki...
cout << "Sciezki we/wy sa takie same, nr operacji bledny lub nie idzie otworzyc pliku." << endl;
cout << "" << endl;
system("PAUSE");
system("cls");
cout << "Podaj sciezke pliku wej, sciezke pliku wyj i nr operacji oddzielone spacjami:" << endl;
cin >> sciezwej >> sciezwyj >> nrint;
ifstream plik;
ofstream plik2;
plik.open(sciezwej.data(), std::ios::in);
plik2.open(sciezwyj.data());
}
Co jest - wszystko dziala jesli wpisze dobre sciezki ktore nie sa takie same i dobry nr operacji (1 lub 2), jesli wpisze takie same ale dobre sciezki albo zly nr operacji to wywala blad i kaze podac jeszcze raz. Jesli zrobie blad w ktorej ze sciezek to albo program sie zacina albo wywala blad i mimo podania innej sciezki nadal wywala ten sam blad.
Jakies sugestie?