a.u.b hulp bij een probleem waar ik niet uit kom

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

B Barkie

B Barkie

18/01/2022 13:23:23
Quote Anchor link
Hallo,
Ik ben al best een tijd aan het uitzoeken op wat voor manier ik een php opdracht goed doe en op welke manier.
Ik kom er echt niet uit en hoop dat de php pro's op het forum mij eventueel zouden willen helpen om me naar de goede kant op te drukken. Ik heb qua opmaak de opdracht al klaar alleen de theorie lukt me gewoon niet..
Ik heb namelijk 1 textbox waar gegevens ingevoerd kan worden, Daar worden cijfers ingevoerd in een reeks en bij elkaar opgeteld ( array ). en uiteindelijk worden de cijfers die bijelkaar zijn opgeteld gedeeld door het aantal cijfers die zijn ingevoerd. Er mogen alleen cijfers tussen de 1,0 en 10. Ik hoop dat jullie me kunnen helpen want ik krijg het maar niet voor elkaar..

Groetjes,
Barkie
 
PHP hulp

PHP hulp

27/05/2022 21:16:31
 
Ozzie PHP

Ozzie PHP

18/01/2022 13:41:22
Quote Anchor link
Zou je de titel "a.u.b hulp bij een probleem waar ik niet uit kom" willen aanpassen in een zinnige titel? De meeste mensen hebben hier een probleem waar ze niet uitkomen.

Betreft dit een schoolopdracht? Wat heb je zelf al geprobeerd en waar loop je vast?
 
- Ariën -
Beheerder

- Ariën -

18/01/2022 14:45:58
Quote Anchor link
Dag Barkie,
Kan je de titel van je topic aanpassen en laten zien wat je als relevante code hebt?
Dan horen we graag waar je op vastloopt.
 
Ivo P

Ivo P

18/01/2022 19:07:01
Quote Anchor link
Cijfers zijn 3, 5, 9 en 0 bijvoorbeeld.

"10" is een getal. Dat voldoet dus niet aan jouw
"Er mogen alleen cijfers tussen de 1,0 en 10."

daarbij is "1,0" ook geen "cijfer". Dus het is handig om je goed te kijken wat er gevraagd wordt en welk jargon gebruikt wordt.

Als je sec de vraag leest: cijfers in een tekstveld en dan optellen en delen door aantal

Dan zou ik dat vertalen in:
De mogelijke invoer "123" zou leiden tot 1+2+3=6
en dat delen door 3, aangezien er 3 cijfers zijn ingevoerd:


Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
$array
= str_split(filter_input(INPUT_POST, 'jouwTextbox'));

$som = array_sum($array);
$gemiddelde = $som / count($array);
?>


Maar ik heb een vermoeden dat het om scores voor toetsen of iets dergelijks gaat en dan een "cijfer" ook tienden, of misschien wel hondersten kan bevatten.
En er is in dat geval ook nog nodig om te weten wat dan de scheiding tussen de "cijfers" is.

Vooral als niet zeker is of er precies 0 of 1 decimalen aanwezig zijn.
 
Adoptive Solution

Adoptive Solution

18/01/2022 19:57:03
Quote Anchor link
Komt dit in de buurt?
Kieper tekst in het veld en als er een cijfer/getal van 1 tot 10 in voorkomt wordt dat eruit gehaald.
Wel met een spatie ervoor en erachter.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
<?php
if ( $_POST['submit'] )
{

    $getallen = explode(' ', $_POST['getallen'] );
    $numbers = $getallen;

    foreach ( $numbers as $key => $value )
    {

        $value = (float)$value;
        if ( $value <= 0 || $value > 10 )
        {

            unset( $numbers[$key] );
        }
else {
            $numbers[$key] = $value;
        }
    }


    sort( $numbers );
    echo '<pre>' . print_r( $getallen, TRUE ) . '</pre>' . PHP_EOL;
    echo '<pre>' . print_r( $numbers , TRUE ) . '</pre>' . PHP_EOL;
    echo '<p>Som = ' . array_sum( $numbers ) . '</p>' . PHP_EOL;
    if ( count( $numbers ) )
    {

        echo '<p>Gemiddelde = ' . floatval( array_sum( $numbers ) / count( $numbers ) ) . '</p>' . PHP_EOL;
    }
}

?>


<form method="post" action="">

<p><textarea cols="50" rows="5" name="getallen" value="" autofocus ></textarea></p>

<p><input type="submit" name="submit" value="submit" /></p>

</form>
Gewijzigd op 18/01/2022 19:57:54 door Adoptive Solution
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.