Цикл c ++ делает до 1 раза - PullRequest
       2

Цикл c ++ делает до 1 раза

0 голосов
/ 28 ноября 2011
class knygos {
public:
    int nr;
    char pavadinimas[25];
    char autorius[25];
    int egz_sk;

    void go_to(int x, int y) {
        COORD c;
        c.X = x - 1;
        c.Y = y - 1;
        SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), c);
    }

   void knygu_sarasas() {
       ifstream myFile("data.bin", ios::in | ios::binary);
       while (myFile.read ((char *) this, sizeof (knygos))) {
           go_to(2,6);
           cout << nr << endl;
           cout << "Pavadinimas" << pavadinimas << endl;
           cout << "Autorius" << autorius << endl;
           cout << "Egzemploriai "<< egz_sk << endl;
       }
       myFile.close();
    }
};

void main() {
    knygos ob;
    ob.knygu_sarasas();
}

Почему, когда я использую функцию go_to(2,6);, пока цикл работает только 1 раз, когда я не использую эту функцию, цикл работает нормально (6 раз) Я не знаю, в чем проблема, пожалуйста, помогите, ребята;)

Ответы [ 2 ]

0 голосов
/ 28 декабря 2011

Вы можете использовать библиотеку ncurses для типа ввода, такого как клавиатура / мышь, и вывода, такого как экран. Если вы используете функции семейства mvprintw (), вы можете установить X и Y так же, как gotoxy в DOS.Я забыл cout и cin и использую библиотеку ncurses, вы можете узнать ее у здесь.

0 голосов
/ 29 ноября 2011

Понимаете ли вы, что если вы установите курсор IN в петлю в положение (2, 6), все взаимодействия будут в месте ЖЕ , эффективно перезаписывая друг друга, и производит только «один» вывод для всех 6 или многих циклов?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...