Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.08.2018, 22:24   #1
usa-1450
Пользователь
 
Регистрация: 07.01.2015
Сообщений: 70
По умолчанию Перевод Цельсий в Фаренгейта и наоборот

Программа правильно переводит температуру цельсий в фаренгейт если ввести в первое поле Фаренгейт какое-нибудь число, но если ввести во 2-ое поле Цельсия какое-то число,а первое поле оставить пустым, при нажатии на кнопку "Перевести" происходит пустота, почему так?
Нужно чтобы при вводе во второе поле Цельсия происходил вывод, его нет почему то, просто пусто на экране.

Вот код программы:

Код:
<?php
$f = $c = '';
if(isset($_POST['f'])) $f = $_POST['f'];
if(isset($_POST['c'])) $c = $_POST['с'];

if($f!='')
{
	$c = ($f-32)*(5/9);
	$out = "Температура фаренгейта $f ° равна $c ° Цельсия";
}
else if($c != ""){
	$f = ($c+32)*(9/5);
    $out = "Температура $c ° цельсия равна $f ° Фаренгейта";
}
else $out = "";

echo <<<_END
<html>
 <head> 
		<title> Перевод температуры</title>
 </head>
 <body>
 <pre>
 Введите значение температуры в одной из полей формы:
  <b>$out</b>
   <form method="post" action = "index.php">
 		Температура по Фаренгейту <input type="text" name="f" size="7"><br><br>
		  Температура по Цельсию <input type="text" name="с" size="7">
		<input type="submit" value="Перевести">
  </form>
  </pre>	
 </body>
 </html>
_END;
?>
usa-1450 вне форума Ответить с цитированием
Старый 25.08.2018, 23:00   #2
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

Цитата:
Сообщение от usa-1450 Посмотреть сообщение
Код:
if(isset($_POST['c'])) $c = $_POST['с'];
При написании имен переменных желательно таки использовать латиницу.
Разницу вроде даже визуально заметно:

Andkorol вне форума Ответить с цитированием
Старый 25.08.2018, 23:20   #3
usa-1450
Пользователь
 
Регистрация: 07.01.2015
Сообщений: 70
По умолчанию

Приложил код программы в текстовой файл, вроде как латиница но не хочет работать
Вложения
Тип файла: txt 1.txt (782 байт, 133 просмотров)
usa-1450 вне форума Ответить с цитированием
Старый 25.08.2018, 23:26   #4
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

Не хочет работать – потому, что не всю кириллицу из кода выпилил.
Как только с этим справишься – всё заработает.
Andkorol вне форума Ответить с цитированием
Старый 25.08.2018, 23:30   #5
usa-1450
Пользователь
 
Регистрация: 07.01.2015
Сообщений: 70
По умолчанию

Спасибо, в инпуте в форме оказалась кириллица. Так подумать, из-за такой чепухи не срабатывало. Спасибо Andkorol
usa-1450 вне форума Ответить с цитированием
Старый 25.08.2018, 23:35   #6
usa-1450
Пользователь
 
Регистрация: 07.01.2015
Сообщений: 70
По умолчанию

Цельсий что-то неправильно считает, хотя формула правильная.
Если в первое поле ничего не вводить, а ввести во второе поле Цельсия 5 градусов, получим результат фаренгейта 66,6 градусов, хотя должны получить 41
Изображения
Тип файла: png Снимок.PNG (11.3 Кб, 94 просмотров)
usa-1450 вне форума Ответить с цитированием
Старый 25.08.2018, 23:40   #7
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

Это ж уже математика – а не программирование.
Нужно просто нагуглить корректную формулу пересчета.
https://www.icsgroup.ru/library/info...il.php?ID=9586
Andkorol вне форума Ответить с цитированием
Старый 25.08.2018, 23:54   #8
usa-1450
Пользователь
 
Регистрация: 07.01.2015
Сообщений: 70
По умолчанию

Вот так сработало
Код:
$f = $c*(9/5)+32;
спс
usa-1450 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Перевод цифр в буквы и наоборот Paul_Cooper Общие вопросы C/C++ 5 02.09.2017 18:33
Перевод программы с Pascal в C++ и наоборот Бахтияр Оралов Помощь студентам 4 03.04.2015 20:24
ошибка в программе С++(консольный режим) перевод градусов Фаренгейта в градусы по Цельсию программирование Помощь студентам 9 24.01.2014 00:52
перевод из char в int и наоборот. yali Общие вопросы C/C++ 6 12.12.2010 13:01