#include <math.h> // Подключение библиотеки с математическими функциями
#include <stdio.h> // Подключение библиотеки ввода и вывода
#include <process.h>
#include <stdlib.h>
void main(void)
{
system("chcp 1251>nul");
char(SWITCH);
MENU:;
system("CLS");
printf("1. 5.3.5.3 Определение минимального значения\n");
printf("2. 5.4.5.4 Использование переключателя для решения уравнения\n");
printf("3. 5.5.5.5 Цикл вычисления значений математических функциипо варианту 1 (оператор if)\n");
printf("4. 5.6.5.6 Цикл вычисления значений функции по варианту 1 оператор for\n");
printf("5. Выход\n");
printf("Выберите пункт меню: ");
SWITCH = getchar();
printf("\n");
switch (SWITCH)
{
case '1':
{
system("cls");
printf("1. Определение минимального значения, п.5.3\n");
int a, b, c;
printf("Введите любые значение для переменных a, b, c\n");
printf("Введите переменную для a= ");
scanf_s("%d", &a);
printf("Введите переменную для b= ");
scanf_s("%d", &b);
printf("Введите переменную для c= ");
scanf_s("%d", &c);
printf("\n");
if (a <= b)
{
if (b <= c)
{
if (a == b)
{
if ((a == b) && (a == c))
printf("a = b = c = %d\n", a);
else
printf("Min a = b = %d\n", a);
}
else
printf("Min a = %d\n", a);
}
else
{
if (a <= c)
{
if (a == c)
printf("Min a = c = %d\n", a);
else
printf("Min a = %d\n", a);
}
else
printf("Min c = %d\n", c);
}
}
else
{
if (b <= c)
{
if (a < c)
{
printf("Min b = %d\n", b);
}
else
{
if (b < c)
printf("Min b = %d\n", b);
else
printf("Min b = c = %d\n", b);
}
}
else
{
if (a == c)
{
printf("Min a = c = %d\n", a);
}
else
{
printf("Min c = %d\n", c);
}
printf("\n");
system("pause");
SWITCH = getchar();
goto MENU;
break;
}
case '2':
{
system("cls");
printf(" 2. Использование переключателя для решения уравнения, п.5.4\n");
double a, b, c, d, x1, x2;
system("chcp 1251>nul"); // Русификация
system("cls");
printf("Программа для вычисления корней\n");
printf("a*x^2+b*x+c=0\n\n");
printf("Введите а= ");
scanf_s("%lf", &a);
printf("Введите b= ");
scanf_s("%lf", &b);
printf("Введите c= ");
scanf_s("%lf", &c);
d = (b * b) - 4 * a * c;
printf("d= %0.2f\n", d);
if (d > 0)
{
x1 = (-b - sqrt(d)) / (2 * a);
x2 = (-b + sqrt(d)) / (2 * a);
printf("Корни уравнения действительные\n");
printf("x1=%f\n", x1);
printf("x2=%f\n", x2);
}
if (d < 0)
{
printf("\n");
printf("Корней нет");
}
if (d == 0)
{
x1 = (-b + sqrt(d)) / (2 * a);
printf("x1=x2=%f\n", x1);
break;
}
}
}
printf("\n");
system("pause");
SWITCH = getchar();
goto MENU;
break;
}
case '3':
{
float a, b, z, x = 0;
bool flag = 0;
system("CLS");
printf("Введите a: ");
scanf_s("%f", &a);
printf("Введите b: ");
scanf_s("%f", &b);
printf("\n");
met:
if (x <= 10)
{
if (x != 0)
{
z = (cos(b * x)) / x;
if (z > a)
{
printf("z = %6.3f при x = %2.1f\n", z, x);
flag = 1;
}
}
x++;
goto met;
}
if (flag == 0)
{
printf("Таких z > a не нашлось \n");
}
printf("\n");
system("pause");
SWITCH = getchar();
goto MENU;
break;
}
case '4':
system("cls");
printf("4. Цикл вычисления значений функции по варианту 1 (оператор for)\n");
int b;
double z;
float x, step;
x = 0;
step = 0.1;
printf("Введите b:\n");
scanf_s("%d", &b);
if (b != 0)
{
for (int i = 0; x <= 10; i++)
{
x = x + step;
z = (cos(b * x)) / x;
printf("(Step %1.1f) z = %1f at x = %1.1f\n", step, z, x);
}
}
else
{
printf("Недопустимое значение b");
}
printf("\n");
system("pause");
SWITCH = getchar();
goto MENU;
break;
}
}
Как должна выглядеть блок-схема?
как-то так:
Автозарисовщик блок-схем
Только прога понимает полноценный код без ошибок.
И для для Си только в формате int main(){…}
P. S.
В реальной жизни все делается наоборот.
Сперва алгоритм, затем пишется код.
Это как раз в теории. На практике все сразу хватаются за код и начинают что то там пилить. Называют это гордо прототипированием.