16.04
This commit is contained in:
62
Zadania/Z115 - konwersja typów/index.php
Normal file
62
Zadania/Z115 - konwersja typów/index.php
Normal file
@@ -0,0 +1,62 @@
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport"
|
||||
content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
|
||||
<meta http-equiv="X-UA-Compatible" content="ie=edge">
|
||||
<title>Z115 - konwersja typów</title>
|
||||
<link rel="stylesheet" href="style.css">
|
||||
</head>
|
||||
<body>
|
||||
<header>
|
||||
<h1>Zadanie 115</h1>
|
||||
<h2>Autor: Jakub Grzegorczyk</h2>
|
||||
</header>
|
||||
<div class="block">
|
||||
<p>Napisz program, który sprawdza, czy podana wartość z formularza da się przekonwertować na liczbę, i określa, czy jest to liczba całkowita, rzeczywista czy wartość szesnastkowa. Program powinien obsługiwać przecinek jako separator dziesiętny oraz ujemne liczby szesnastkowe (np. -0xff). Wynik ma być wyświetlony w czytelny sposób, pokazując zarówno wprowadzoną wartość, jak i rezultat jej analizy.</p>
|
||||
<h3>Wskazówki dla ucznia:</h3>
|
||||
<ul>
|
||||
<li>Użyj funkcji is_numeric(), aby sprawdzić, czy wartość jest numeryczna.</li>
|
||||
<li>Zamień przecinek na kropkę za pomocą str_replace(), ponieważ PHP rozpoznaje liczby zmiennoprzecinkowe z kropką (np. 0.34).</li>
|
||||
<li>Do konwersji liczb szesnastkowych (np. 0xff lub -0xff) możesz użyć intval() z podstawą 16, ale zwróć uwagę na znak minusa.</li>
|
||||
<li>Sprawdź typ liczby po konwersji za pomocą is_int() i is_float().</li>
|
||||
<li>Zabezpiecz dane wejściowe używając htmlspecialchars(), aby uniknąć problemów z XSS.</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="block">
|
||||
<form action="index.php" method="post">
|
||||
<label for="number">Podaj wartość: </label><br>
|
||||
<input type="text" name="number" id="number"><br><br>
|
||||
<button type="submit">Sprawdź</button>
|
||||
<br>
|
||||
</form>
|
||||
</div>
|
||||
<div class="block">
|
||||
<?php
|
||||
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
|
||||
$input = htmlspecialchars($_POST['number']);
|
||||
$input = str_replace(',', '.', $input);
|
||||
|
||||
$result = "Wartość: $input<br>";
|
||||
|
||||
if (is_numeric($input)) {
|
||||
if (is_int(0 + $input)) {
|
||||
$result .= "Jest to liczba całkowita.<br>";
|
||||
} elseif (is_float(0 + $input)) {
|
||||
$result .= "Jest to liczba rzeczywista.<br>";
|
||||
}
|
||||
|
||||
} elseif (str_starts_with($input, "0x") || str_starts_with($input, "-0x")) {
|
||||
$hexValue = hexdec($input);
|
||||
$result .= "Jest to liczba szesnastkowa. Wartość dziesiętna: $hexValue<br>";
|
||||
} else {
|
||||
$result .= "Nie można przekonwertować na liczbę.<br>";
|
||||
}
|
||||
|
||||
echo $result;
|
||||
}
|
||||
?>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
51
Zadania/Z115 - konwersja typów/style.css
Normal file
51
Zadania/Z115 - konwersja typów/style.css
Normal file
@@ -0,0 +1,51 @@
|
||||
* {
|
||||
box-sizing: border-box;
|
||||
}
|
||||
body {
|
||||
font-family: Verdana, serif;
|
||||
background: #ffffff;
|
||||
margin: 30px;
|
||||
}
|
||||
header {
|
||||
border: 2px solid black;
|
||||
border-radius: 1em;
|
||||
padding: 20px;
|
||||
box-shadow: rgba(0, 0, 0, 0.2) 3px 3px 5px;
|
||||
background: #f0f0f0;
|
||||
}
|
||||
div {
|
||||
border: 2px solid black;
|
||||
padding: 20px;
|
||||
border-radius: 1em;
|
||||
margin: 10px 0 10px 0;
|
||||
box-shadow: rgba(0, 0, 0, 0.2) 3px 3px 5px;
|
||||
}
|
||||
input {
|
||||
margin-top: 10px;
|
||||
width: 30%;
|
||||
border: black 2px solid;
|
||||
border-radius: 0.5em;
|
||||
height: 2em;
|
||||
}
|
||||
|
||||
button {
|
||||
padding: 5px;
|
||||
width: 30%;
|
||||
border: black 2px solid;
|
||||
border-radius: 0.5em;
|
||||
font-weight: bold;
|
||||
}
|
||||
pre {
|
||||
font-family: Verdana, serif;
|
||||
}
|
||||
|
||||
.box p {
|
||||
padding: 10px 15px 20px;
|
||||
display: none;
|
||||
}
|
||||
|
||||
.box h3 {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user