Witam, siedzę od dwóch dni nad tym projektem, jednak nie potrafie wymyśleć funkcji usuwającej studentów z bazy oraz funckji liczącej średnią z ocen. Możecie mi pomóc? Już nie mam siły się z tym męczyć.
Tutaj kod:
http://wklej.to/GjPkc
Niestety nie mam tyle czasu, by Ci napisać kod, bo sam w tej chwili się do egzaminu uczę, ale jeśli chodzi o usuwanie studenta, to najszybszą i najprostszą drogą będzie przestawienie rekordów.
Czyli.
1. Marcin
2. Marek
3. Michał
4. Maciek
Chcesz usunąć Marka, więc podajesz numer rekordu - 2. W pętli za rekord 2 podajesz zawartość rekordu 3. Za wartość 3 podajesz wartość rekordu 4 itd. A na koniec usuwasz ostatni rekord, zmniejszając liczbę całkowitą rekordów o 1.
Ok, sprobuje sobie poradzic a powiesz mi co mam nie tak ze srednia?
Bo liczy my jakas ujemna...
http://wklej.to/EXyRK
1. na moj gust blad lezy w tej zadeklarowanej na sztywno dziesiatce w petli do obliczania sredniej, jak w bazie masz 5 studentow to mozliwe ze pod wskStudent[5,6,7,8,9].ocena kryja sie jakies krzaki. Ja bym dodal inta reprezentujacego ilosc osob w bazie i wtedy w petli bylo by tak:
for(int i=0;i<liczba_osob;i++)
suma+=wskStudent[I].ocena ;
srednia1 = suma/liczba_osob;
przerobilem troche zadan operujacych na plikach tekstowych i w 99% z nich w pierwszej linii takiego pliku byla wlasnie liczba pozycji ktore on zawieral i bardzo pomagala ona w ogarnieciu calosci
2. srednia jako int to chyba niezbyt dobry pomysl, bo raczej bedziesz mial tam wartosci z przecinkiem
Ok dzięki poradziłem sobie i działa, nie ogarnałem jeszcze funkcji usuwającej rekordy z bazy... ale jestem w trakcie:)