Софтуерно Инженерство
Loading...
+ Нов въпрос
Knightwalker avatar Knightwalker 13 Точки

Programming Basics with PHP - 2D Rectangle Area

Здравейте, 

Може ли някой да окаже съдействие със задача номер 7 - 2D Rectangle Area. Опитах се да реша задачата, но накрая когато принтирам резултат ми дава прекалено много цифри след десетичната запетая, а другия вариант пък ми ги маха всичките понеже ползвам "printf" в примера? Eто това ми е кода:

<?php

$x1 = readline();
$x2 = readline();
$y1 = readline();
$y2 = readline();

$width = abs($x1 - $x2);
$height = abs($y1 - $y2);
$area = $width * $height;
$perimeter = 2 * ($width + $height);

printf("Area = %f\n", $area);
printf("Perimeter = %f\n", $perimeter);

Благодаря предварително!

Тагове:
Kalina.Barzashka avatar Kalina.Barzashka 11 Точки
Best Answer

Здравей,

Използвай echo, тъй като с printf още не сме учили как да truncate-ваме нулите, а с echo то става автоматично. :)

Ето по твоя пример как трябва да стане:

echo "Area = $area\n";
echo "Perimeter = $perimeter";

Успех!

0
Knightwalker avatar Knightwalker 13 Точки

Ооо благодаря много, идея си нямах, че echo-то направо реже нулите :D супер мерси!

0
14/01/2018 18:37:41
ElenaSei avatar ElenaSei 11 Точки

Здравей,

Това, което ми прави впечатление е, че не си преписал примера вярно. Ето как е в pdf-а:

printf("Area = %.2f\n", $area);
printf("Perimeter = %.2f\n", $perimeter);

Обърни внимание, че след % имаш точка + цифрата 2 и чак след това f. Точката означава, че ще има десетична запетая, 2ката означава, че след десетичната запетая ще имаме две цифри. Така можеш да определяш колко числа да имаш след десетичната запетая.

0
Vesela_5 avatar Vesela_5 33 Точки

Точно това е правилния код:

printf("Area = %.2f\n", $area);
printf("Perimeter = %.2f\n", $perimeter);

0