Во-первых в начале НЕ сin << sys, а сin >> s;
Во-вторых ты объявил/а все переменные в первом ифе, а значит в других функциях они уже не видны, поэтому стоит их объявить глобально
В-третьих переменная g не используется, поэтому можно ее и не объявлять
Вот код:
#include <iostream>
#include <cmath>
using namespace std;
int main() {
int sys;
float a, b, c, d, e, sum, mid, pi=3.14, r;
cout << "if you would midle write-1, if place of circle-2" << endl;
cin >> sys;
if(sys == 1) {
cout << "input first midle" << endl;
cin >> a;
cout << "inpur second midle" << endl;
cin >> b;
cout << "input third midle" << endl;
cin >> c;
cout << "input thord midle" << endl;
cin >> d;
cout << "input fived midle" << endl;
cin >> e;
sum = a + b + c + d + e;
mid = sum / 5;
cout << "your midle: ";
cout << mid;
}
else{
if(sys == 2) {
cout << "this is the circle area formula S=pi*r^2" << endl;
cout << "input radius(r)" << endl;
cin >> r;
cout << pi * r * r;
}
}
return 0;
}
У мові програмування Object Pascal є кілька команд, які можуть реалізувати цикл. Одна з них - команда циклу з лічильником. Її доцільно використовувати в тих випадках, коли кількість повторень команд тіла циклу відома ще до початку виконання команди циклу. Загальний вигляд цієї команди такий:
for <ім’я змінної> := <вираз1> to <вираз2> do begin <команди тіла циклу> end;
Рядок for <ім’я змінної> := <вираз1> to <вираз2> do (англ. for - для, to - до, do - робити, виконувати) називають рядком заголовка команди циклу з лічильником. Змінну в рядку заголовка команди циклу з лічильником, що стоїть перед знаком присвоювання, називають лічильником циклу. Лічильник циклу, виразі і вираз2 мають набувати тільки цілих значень. Якщо тіло циклу складається лише з однієї команди, операторні дужки begin і end можна не ставити.
Виконується команда циклу з лічильником так:
1) Надати лічильнику циклу і значення виразі.
2) Обчислити значення логічного виразу і J вираз2.
3) Якщо значення логічного виразу true, то виконати команди тіла циклу і перейти до виконання команди 4, якщо false - перейти до виконання команди, наступної за командою циклу.
4) Збільшити значення лічильника циклу на 1.
5) Перейти до виконання команди 2.
Для ілюстрації виконання команди циклу з лічильником розглянемо фрагмент проекту, в якому обчислюється сума 12 + 22 + 32 + 42.
var s, і: integer; begin s := 0;
for і := 1 to 4 do begin
s := s + i*i; end;
Labell.Caption := IntToStr (s); end;
Виконаємо цей фрагмент програми.
Команда Результат виконання
s := 0 s = 0
i := 1 i = 1
i <= 4 (1 <= 4) = true
s := s + i*i s = 0 + 1*1 = 1
i := i + 1 i = 2
i <= 4 (2 <= 4) = true
s := s + i*i s = 1 + 2*2 = 5
i := i + 1 i = 3
i <= 4 (3 <= 4) = true
s := s + i*i s = 5 + 3*3 = 14
i := i + 1 i = 4
i <= 4 (4 <= 4) = true
s := s + i*i s = 14 + 4*4 = 30
i := i + 1 i = 5
i <= 4 (5 <= 4) = false
Labell.Caption := IntToStr (s) Labell.Caption = 30
Звертаємо вашу увагу, що після закінчення виконання команди циклу з лічильником значення лічильника циклу (змінної і) на 1 більше, ніж значення вираз2, і це значення, за потреби, можна використовувати в наступних командах.
Існує різновид команди циклу з лічильником, у якому лічильник не збільшується на 1, а зменшується на 1:
For <ім’я змінної> := <вираз1> downto <вираз2> do begin
<команди тіла циклу> end; (англ. down to - униз до).
Цей цикл продовжує виконуватися, якщо значення лічильника циклу більше або дорівнює (не менше) значенню вираз2.
Загальний вигляд команди циклу з лічильником такий:
for <ім’я змінної> := <вираз1> to <вираз2> do begin
<команди тіла циклу> end;
Рядок for <ім’я змінної> := <вираз1> to <вираз2> do називають рядком заголовка команди циклу з лічильником. Змінну в рядку заголовка команди циклу з лічильником, що стоїть перед знаком присвоювання, називають лічильником циклу. Лічильник циклу, виразі і вираз2 мають набувати тільки цілих значень.