Witam. Mam problem z warunkiem if/else. Funkcja tak jakby nie widzi warunku if i przechodzi do elsa.
show_vehicle();
char choice;
int rid;
int max_id = ((Administrator*)adm) -> max_id_vehicle();
int Id = user ->return_id();
do
{
cout <<"Enter id vehicle you want to return: ";
cin.clear();
cin.sync();
cin >> rid;
if(cin.fail())
cout <<"Enter good id" << endl;
}while(cin.fail());
int uID, vID;
time_t return_time;
if(rid < 1 || rid > max_id)
{
cout <<"ID does not exists" << endl;
cout <<"[1]. Confirm" << endl;
choice = getch();
return false;
}
ifstream hirelist("Hirelist.txt");
if(!hirelist.good())
cout << "Error" << endl;
ofstream hirelist2("Hirelist2.txt", ios_base::app);
if(!hirelist2.good())
cout << "Error" << endl;
while(hirelist >> uID >> vID >> return_time)
{
if(Id == uID)
{
if(rid == vID)
{
continue;
}
else
{
cout << "You did not hire this vehicle" << endl;
return false;
}
}
hirelist2 << uID << " " << vID << " " << return_time << endl;
}
hirelist.close();
hirelist2.close();
if(remove ("Hirelist.txt"))
{
cout << "Error 1" << endl;
cout <<"Confirm" << endl;
choice = getch();
exit(0);
}
if(rename("Hirelist2.txt", "Hirelist.txt"))
{
cout << "Error 2" << endl;
cout <<"Confirm" << endl;
choice = getch();
exit(0);
}
Jak wspominałem mimo podania poprawnego "rid" program wyrzuca mi zawartość elsa. Bardzo proszę o pomoc. Z góry dziękuje :D