Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Średnia ocen ucznia
Forum PHP.pl > Forum > Gotowe rozwiązania > Szukam
przeemek
Witam

Szukam skryptu który obliczy średnia ocen jakie zostaną wprowadzone przez użytkownika strony

Pola tekstowe do wpisania ocen przygotuje sam chodzi mi jedynie o funkcje która to wszystko obliczy

Bardzo proszę o pomoc
mike
O Boże! Ile masz lat?
Albo inaczej: dlaczego nie chodzisz do szkoły na lekcję matematyki? Za wagarowanie możesz nie zdać.

Średnia arytmetyczna
przeemek
Jak oblicza się średnia to ja wiem tylko szukam informacji jak zrobić to za pomocą PHP
mike
Cytat(przeemek @ 6.06.2008, 13:37:53 ) *
Jak oblicza się średnia to ja wiem tylko szukam informacji jak zrobić to za pomocą PHP
Aaaaaaaa, no to faktycznie różnica.

Normalnie robisz to tak:
Musisz dodać wszystkie składowe a później podzielić przez ich ilość.

A w PHP robisz to tak:
Musisz dodać wszystkie składowe a później podzielić przez ich ilość.
przeemek
Kolego "mike" jak nie chcesz mi pomóc to nie, udzielanie się we wszystkich tematach nie jest obowiązkowe i nie nabijaj sobie liczby napisanych postów, nie każdy musi umieć PHP . Jeśli potrafisz to napisz mi taki skrypt a ja będę Ci za to wdzięczny i napiszę DZIĘKUJĘ
kopix
  1. <?php
  2.  
  3. $liczby = $_GET['liczby'];
  4. if($_GET['liczby']){
  5.  
  6. $liczby = explode(',', $liczby);
  7. $wynik = 0;
  8. $ilosc = count($liczby);
  9. foreach($liczby as $liczba){
  10. if(is_numeric($liczba)){
  11. $wynik += $liczba;
  12. } else{
  13. $blad = true;
  14. }
  15. }
  16.  
  17. if($blad == true){
  18. echo "Błąd w wpisywanych danych";
  19. } else{
  20. $srednia = $wynik/$ilosc;
  21. echo 'Srednia: '.$srednia;
  22. }
  23.  
  24. } else{
  25. ?>
  26. <form method="GET">
  27. Podaj liczby po przecinku
  28. <input type="text" name="liczby">
  29. <br>
  30. <input type="submit" value="oblicz">
  31. </form>
  32.  
  33. <?php
  34. }
  35. ?>


Pisane z palca powinno działać ale nie jestem na 100% pewny
Babcia@Stefa
Nie lepiej poszukać? Znaleźć dobre rozwiązanie?

http://forum.php.pl/index.php?s=&showt...st&p=466379

Naucz się używać funkcji "Szukaj".

Dziękuję, Babcia@Stefa
przeemek
Skrypt jest super działa w 100% poprawnie Bardzo dziękuje za pomoc. Temat można zamknąć
Szunaj85
Fajny skrypcik. Liczy średnią - ok, ale widzę jeden problem. Mianowicie jeśli to ma być średnia z ocen to powinien akceptować tylko cyfry od 1 do 6. A on przelicza średnią z każdej liczby, nawet ujemnej. Jak napisać regułę żeby akceptował tylko liczby od 1 do 6. A gdy w zbiorze liczb wpisanych przez użytkownika pojawi się mniejsza lub większa niż ten zakres wyskakiwałby poprzez echo tekst o pomyłce. Coś tam sam próbowałem z funkcjami ale nie do końca mi wyszło dry.gif
l0ud
zamień:

  1. <?php
  2. if(is_numeric($liczba)){
  3. ?>


na

  1. <?php
  2. if(is_numeric($liczba) && $liczba > 0 && $liczba < 7){
  3. ?>
Szunaj85
Dzięki l0ud - działa. Jednak idąc za ciosem można by poprawić jeszcze jedną rzecz. Mianowicie skrypt jest gotowy do liczenia średniej powiedzmy z ocen końcowych. Jednak co zrobić jak ktoś chce sobie policzyć średnią z jednego przedmiotu? Mam tu na myśli plusy i minusy, czyli ocena+ oraz ocena-. Ja bym to zrobił tak:
Definicja:
ocena+ = pełna ocena + 0.25 (0.5 to wedłóg mnie za dużo jak na plus lub minus)
ocena- =
pełna ocena - 0.25
Przykład:
4+ = 4.25
4- = 3.75
3+ = 3.25
3- = 2.75 (oczywiście pozostałe oceny według tego przykładu)
Teraz pytanie. Jak "wstrzyknąć" odpowiedni kod do powyższego skryptu tak żeby jak użytkownik wpisze ocenę/oceny była ona porównywana do konkretnej liczby (patrz przykład), no a później przeliczana.Trzeba też zwrócić uwagę, że PHP "+" i "-" interpretuje jako dodaj, odejmuj.
mike
Kod
idziemy po wszystkich elementach (ocenach) tablicy

    jeśli element ma +
        usuń + z oceny i potraktuj go jako liczbę dodając 0.25

    jeśli element ma -
        usuń - z oceny i potraktuj go jako liczbę odejmując 0.25
Shili
  1. <?php
  2. if(wynik === 4.25)
  3. echo "4+";
  4. ?>


O coś takiego chodzi?
Można to sobie zrobić widełkami, można usprawnić tak, że pobierana jest tylko liczba po przecinku, jeśli jest równa 0,75 to zmienna znak przyjmuje wartość "-", a całkowita wartość jest zwiększana o 1, jeśli jest 0,25 to znak przyjmuje wartość "-" a całkowita wartość jest zostawiana tak jak jest. W innych przypadkach zmienna znak jest pusta.
A wypisanie wygląda w ten sposób:
  1. <?php
  2. echo $wartosc_calkowita_obliczonej_zmiennej.$znak;
  3. ?>


@edit
Przepraszam, zrozumiałam opacznie, w drugą stronę. Mój błąd tongue.gif
Szunaj85
Mike szczerze mówiąc liczyłem na jakiegoś gotowca tongue.gif typu ten kawałek kodu zamień na taki... Teoria mało mi mówi. Shili dobrze, że się połapałeś. Trzeba czytać ze zrozumieniem. sleepysmiley03.gif
mike
~Szunaj85 użytkownik ~Shili to dziewczyna. Trzeba czytać ze zrozumieniem. Końcówek nie widzisz tongue.gif

A co do gotowca, to proszę bardzo. Zaraz moderator przeniesie wątek na Giełdę Ofert, ktoś Ci poda cenę i dostaniesz gotowca.

Po co mamy pomagać bezmyślnym leniom, którzy nawet nie spróbowali samemu? Na co komuś takie forum do hodowli nieuków?
Tu gotowca nie dostaniesz ale pomoc w nauce owszem. Spróbowałeś zrobić to samemu czy od razu liczyłeś na gotowe?

Przecież tek kod to ok. 10 linii. Echhh, ręce opadają.
Szunaj85
Cytat(mike @ 13.06.2008, 13:20:46 ) *
Po co mamy pomagać bezmyślnym leniom, którzy nawet nie spróbowali samemu? Na co komuś takie forum do hodowli nieuków?
Tu gotowca nie dostaniesz ale pomoc w nauce owszem. Spróbowałeś zrobić to samemu czy od razu liczyłeś na gotowe?

Nie obrażaj mnie. Leniem to ja nie jestem. Zazwyczaj sam próbuję rozwiązać problem. Dopiero gdy sobie nie radzę proszę o pomoc. Myślałem, że dział "Gotowe rozwiązania" to dobre miejsce na tego typu pytanie. Może się pomyliłem. Ale to nie powód żebyś takie rzeczy wypisywał. dry.gif
Cytat(mike @ 13.06.2008, 13:20:46 ) *
Przecież tek kod to ok. 10 linii. Echhh, ręce opadają.
A napisałbyć 10 linijek po chińsku?
Nie zamierzam kłócić się na forum tylko rozwiązać problem.
mike
Sam się obrażasz swoim podejściem do tematu.

Gdybyś próbował to napisałbyś: "Słuchajcie, próbowałem tak i nie wyszło. Pomóżcie, gdzie robię błąd?".
A Ty napisałeś tak: "Dajcie gotowe".

Jeśli Cię uraziłem to mogę przeprosić:
Przykro mi, przepraszam, że jesteś leniem.
webdice
Dobra Panowie, koniec dyskusji, nie o tym był wątek. Przypominam że dział Gotowe rozwiązania nie powstał po to aby rozwiązywać w nim problemy.
mike
To ja tylko nawiążę do umiejętności czytania ze zrozumieniem (wytkniętych to przez (nie) lenia). W opisie działu jest:
Wyszukiwanie, instalacja i konfiguracja a także przydatne opinie na temat gotowych skryptów i bibliotek PHP.

Widać ktoś nie zrozumiał. Po co takie przypominanie?
Jeszcze trochę i będziecie przypominać o oczywistych rzeczach. Co pięty post będzie: Przypominam wszystkim piszącym w tym dziale, że są zalogowani.
webdice
~mike, autor szuka skryptu, powinien dostać nazwę i po sprawie (a jak się komuś nie podoba że co poniektórzy nie umieją tego zrobić, to niech sie nie wypowiada), a wszelkie post czy ktoś jest leniem itp, są tu niepotrzebne (włącznie z moim).
Szunaj85
Faktycznie! Te kilka ostatnich postów nie wniosło nic do tematu. Prosiłbym żeby admnistrator lub moderator po prostu je usunął, ponieważ nie chcę, aby inni użytkownicy czytali tego typu treści na mój temat. Są według mnie dość obraźliwe, a co za tym idzie inni użytkownicy źle mogą o mnie myśleć. sadsmiley02.gif
Mike
widząc ile postów napisałeś i od kiedy tu jesteś stwierdzam, że forum znasz na wylot. Ja dopiero je poznaje. Bądź wyrozumiały. co_jest.gif
kszychu
Generalnie, zamykam. Nie chce mi się pisać powodów. Jak kogoś to interesuje to zapraszam na gg.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2024 Invision Power Services, Inc.