Niedziałające menu aplikacji

0

Witam,

Napisałem program, który wczytuje z pliku dane do struktury. Poniżej wklejam plik:

 11
Kowalski 3.5 2010-12-16
Nowak 4.0 2010-12-20
Buraczek 2.0 2010-12-20
Nowa 5.0 2011-01-05
Kowalski 2.0 2011-01-05
Buraczek 3.0 2011-01-05
Torunska 4.5 2011-01-06
Latwiec 5.0 2011-01-06
Buraczek 4.0 2011-01-07
Nowak 5.0 2011-01-08
Nowak 2.0 2011-01-09

W pierwszym wierszu widzimy liczbę rekordów, później Nazwisko, ocena oraz data wystawienia. I to, wydaje mi się działa poprawnie. Jednak utworzyłem funkcję, która wyświetla menu i na podstawie wyboru wykonuje:

  1. Oblicza średnią ocen podanego studenta;
  2. Wyświetla wszystkie oceny wystawione w podanym dniu;
  3. Kończy program;

Jednak menu się nie wyświetla, ani żadne działania związane z menu również się nie wykonują. Kod wklejam na Pastebina.

Kliknij tutaj - KOD ŹRÓDŁOWY

Dziękuję za pomoc,
Pozdrawiam!

2
do
    {
        cout << "Wybierz z menu: "; cin >> menu;
    } while ((menu != 1) || (menu != 2) || (menu != 3));

Ta pętla kręci póki wpisujesz poprawne dane i niepoprawne też, Tak mówi warunek.
Pisz w jednym języku. Raz używasz C++, a raz C.
Jeśli ma to być C++ skorzystaj z std::fstream.
Nazwa Ocena raczej nijak się ma do struktury, jaką ma reprezentować (opisuje ucznia).
Używaj angielskich nazw.

0

@carlosmay
Warunek mówi dopóki menu różne od 1, 2 lub 3, nie chcę żeby ktoś podał inną wartość.
Ale tu nie o to chodzi, bo menu się nie wyświetla w ogóle.

Jeśli chodzi o wczytywanie z pliku, to owszem jest to z języka C, lecz dopiero wchodzę w C++. Skończyłem pierwszy semestr pisząc w C a to pierwsze zadanie z C++.
Napisałem to bez wcześniejszego zagłębiania się w C++, stąd wczytywanie pliku w C. Ale okej, dzięki za uwagę. Jednak to nie rozwiązuje mojego problemu.

1

while(menu >= 1 && menu <= 3);

0

Okej widzę błąd, ale i tak nie o to chodziło w pytaniu.
Dzięki. :)

1
Ale tu nie o to chodzi, bo menu się nie wyświetla w ogóle.
Po pierwsze program nie miał szans przejść przez wskazaną pętlę, a po drugie powiedz, gdzie wywołujesz funkcję `menu`? Bo chyba nie tu: `void menu(Ocena* katalog, int rekordy);`?
0

Skopiowałem nagłówek funkcji, byłem pewny, że go zmieniłem - jednak nie - jak pajac :p
Dzięki za pomoc!

Pozdrawiam.

1 użytkowników online, w tym zalogowanych: 0, gości: 1