square
В этом уроке мы начнем знакомство с числами. Давайте напишем программу вычисления площади прямоугольника и круга. При вычислениях будем использовать числа с двойной точностью double. Для начала сделаем каркас нашей функции.
func main<main>
{
while 1
{
print("Enter the number of the action:
1. Calculate the area of a rectangle
2. Calculate the area of a circle
3. Exit\n")
switch getch()
{
case '1'
{
print("Specify the width of the rectangle: ")
print("Specify the height of the rectangle: ")
}
case '2'
{
print("Specify the radius of the circle: ")
}
case '3', 27 : break
default : print("You have entered the wrong value!\n\n")
}
}
}
Вы видите здесь два новых оператора: while и switch.
Оператор while осуществляет выполнение тела цикла пока условное выражение не равно 0. В нашем случае указана единица, что означает бесконечный цикл и выход из цикла будет осуществляться с помощью команды break, которую Вы встретите ниже.
Оператор switch вычисляет выражение и ищет данное значение в значениях case. Программа ждет когда пользователь нажмет клавишу и смотрит что делать дальше. Остановимся на строке
case '3', 27 : break
Мы видим, что в case можно перечислять через запятую возможные значения. 27 - это код клавиши Esc. Что же касается ':', то оно означает включение следующей строки в фигурные скобки. То есть данный фрагмент эквивалентен следующему:
case '3', 27 { break }
Дело в том, что Gentee почти везде требудет использование фигурных скобок и использование ':' в простейших случаях помогает избежать лишнего их нагромождения.
Определимся что нам требудется для вычислений: переменная типа строка для получения значений от пользователя и две переменные типа double для хранения величин. Добавим перед циклом
str input
double width height
Переменные одного типа перечисляются через запятую или пробел.
Сейчас займемся получением данных и вычислениями. Вот как будет выглядеть подсчет площади прямоугольника.
print("Specify the width of the rectangle: ")
width = double( conread( input ))
print("Specify the height of the rectangle: ")
height = double( conread( input ))
print("The area of the rectangle: \( width * height )\n\n")
Функция conread считывает данные введенные пользователем. Операция \(...) внутри строки вычисляет выражение в скобках и вставляет результат в строку.
Аналогично делаем для вычисления площади круга
print("Specify the radius of the circle: ")
width = double( conread( input ))
print("The area of the circle: \( 3.1415 * width * width )\n\n")