Keresés

Új hozzászólás Aktív témák

  • amargo

    addikt

    válasz mobal #2568 üzenetére

    szerk: kicsit elmagyarázva, csinálsz egy do-while ciklust, miben annyiszór hívod meg, amíg a vissza kapott érték nem ture, azaz, nem volt sikeres a file megnyítása. Ezt akár az openFile-on belül is megcsinálhatod és akkor maradhat void típusú, igazából ez rajtad múlik, hogy mennyire akarod 1 függvénybe lekezelni az egész dolgot, ha túl sok minden van a main-edben akkor én az openFile ba tenném az egész megoldást, igaz így nehezebben is derül ki elsőnek, ha hiba van benne. Bár ez már máskérdés.

    int main()
    {
    (...)
    do
    {
    bool valid = openFile(f);
    }while(!(valid == true));
    (...)
    }

    bool openFile(ifstream &f)
    {
    string fileName;
    cin >> fileName;
    f.open(fileName.c_str());
    //bool valid = false;
    if (f.fail())
    {
    cout << ''File megnyitasa nem sikerult!\n'';
    return false;
    }
    else
    {
    cout << ''File megnyitasa sikerult! '' << fileName << endl;
    return true;
    //valid = true;
    }
    //vagy(a kommentezet rész alapján) itt belül is egy boolba beleteszed az értéket, és itt //térsz vissza returne-al azzal.. stb, mert erre a megoldásra azt fogja mondani a fordító, //hogy nem tettszik neki. tehát azt is csinálhatod, hogy csak a valid változót adod vissza.. szeritnem az a jobb is.
    //return valid;
    }


    [Szerkesztve]

    [Szerkesztve]

    “The workdays are long and the weekend is short? Make a turn! Bike every day, bike to work too!”

Új hozzászólás Aktív témák