a.u.b hulp bij een probleem waar ik niet uit kom
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
Betreft dit een schoolopdracht? Wat heb je zelf al geprobeerd en waar loop je vast?
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.
"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)
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.
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)
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
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>
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