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")