Oceny Semestralne


(Sumek) #1

Mam napisać program który będzie zapamiętywał oceny semestralne z przedmiotów. Zrobiłem jako rekord imię, nazwisko i klasę. Teraz moje pytanie jak zrobić by nazwy przedmiotów były za każdym razem wyświetlane do każdej osoby ale oceny inne. By nie podawać za każdym razem "Matematyka: 3", "Polski: 4" tylko słowo Matematyka, Polski itd były automatycznie wyświetlane a użytkownik podaje tylko ocenę. Proszę o jakąś koncepcję.


(Fiołek) #2

Powiedz czy to aplikacja konsolowa czy okienkowa.

Jeśli konsola to:

Wyświetlamy np. “Matematyka :” i prosimy o podanie ocen.

Okienko:

Label np. “Matematyka” i EditBox dla ocen.

Przechowywałbym to w jakiejś tablicy(bo znam liczbę przedmiotów).

Jeśli nie o to chodziło, to napisz jeszcze raz o co Ci chodzi, bo nie bardzo zrozumiałem.


(Sumek) #3

Konsolowa piszę to w Free Pascal. Chodzi o to, że powinno się wyswietlać by podać

Imie: podajemy

Nazwisko: podajemy

Klasa: podajemy

i w tym momencie powinny zacząć sie wyswietlac pokolei przedmioty np:

Matematyka: podajemy

polski: podajemy

.

.

.

i gdy podamy wszytskie oceny semestralne przechodizmy do kolejnej osoby.


(Fiołek) #4

No i w czym problem? Pętla się kłania(repeat-until na przykład) :stuck_out_tongue:


(Sumek) #5

Ale nie mogę zrozumieć… Jak zrobić by on pamiętał to.

zrobić przedmioty jako rekord, i potem wywoływać dla pierwszego ucznia

Polski.t

Matematyka.t

dla drugiego

polski.t[i+1]

matematyka[i+1]

i dla dalszych zwiększać wszytskie i o 1?


(Sumek) #6

Chyba już wiem, muszę raz wywoływać rekord przedmioty a raz oceny zrobić to na trzech pętlach jeden do osób a dwie do przedmiotów i ocen.


(Sumek) #7

Chyba już wiem, muszę raz wywoływać rekord przedmioty a raz oceny zrobić to na trzech pętlach jeden do osób a dwie do przedmiotów i ocen.


(Fiołek) #8

Zrób sobie tablicę tych rekordów o rozmiarze takim jakim ma być ilość uczniów i przy każdym kolejnym przebiegu pętli przypisuj do kolejnego elementu tablicy(zrób sobie jakąś zmienną typu całkowitoliczbowego i inkrementuj przy każdym przebiegu, ona będzie wskazywać aktualny indeks, inaczej mówiąc “i” ;P).

Edit:To jaki masz ten rekord? Tylko imię i nazwisko? Nie lepiej wszystko(dane osobowe i oceny) upakować w jeden?


(Sumek) #9

mam tak że w deklaracji typow.

type

oceny = ‘1’…‘6’;

przedmioty record

end;

uczniowie = record

end;


(Fiołek) #10

Takiego kodu mi nie pokazuj bo za bardzo to ja nie rozumiem(nie znam Pascala). Połącz przedmioty i uczniowie w jeden rekord, będzie Ci łatwiej.

Czyli to będzie jakoś tak:

Rekord uczeń:

imie

nazwisko

polski

(…)

matematyka

I dla każdego pola przypisz wartość odpowiadającą mu(imię, nazwisko - ciągi znaków, polski, matematyka - oceny). Ja bym to tak widział.


(Sumek) #11

Że na to nie wpadłem. dzięki;d będzie dużo prościej i dużo mniej kodu zamiast trzech pętelek będzie jedna;) tylko na wywołanie uczniów;d