Создание программы, включающей все программы лабораторных работ
МІНІСТЕРСТВО
ОСВІТИ І НАУКИ, молоді та спорту
УКРАЇНИ
Національний
аерокосмічний університет ім. М.Є. Жуковського
“Харківський
авіаційний інститут”
Кафедра
комп’ютерних систем та мереж
Лабораторна
робота № 5
з дисципліни “Програмування”
Виконав Момот О.О.
Перевірив Шпак О. С.
Оглавление
Цель работы
Алгоритм
программы
Код программы
Вывод
Цель работы
Создать программу, включающую все программы предыдущих лабораторных работ
и информации об автора.
Алгоритм программы
Код программы
#include <stdio.h>
#define _USE_MATH_DEFINES
#include <math.h>
#include <limits.h>
#include <windows.h>
#include <locale.h>
//Лабораторная работа 4L_4(void)
{("Задание 1\n");cnt=0;char
x3,x2,x1,x0;("+-----------------------------------------------+\n");("|
N| x3| x2| x1| x0| F1| F2|
F3|\n");(x0=0;x0<=1;x0++)(x1=0;x1<=1;x1++)(x2=0;x2<=1;x2++)(x3=0;x3<=1;x3++)
{F1,F2,F3;=((x2&&x3&&!x1)||(x0&&x3&&!x1)||(x3&&x0&&!x2)||(x3&&x1&&!x2));=((x2&&!x0&&!x3)||(x2&&!x1&&!x3)||(!x3&&x0&&!x1)||(x0&&!x2&&!x3)||(x1&&!x2&&!x3)||(x1&&!x0&&!x3));=((!x1&&!x3)||(x2&&!x3)||(x3&&!x0&&!x2&&!x1));("+-----------------------------------------------+\n");("|%4d
|%4d |%4d |%4d |%4d |%4d |%4d |%4d |\n",cnt ,x3 ,x2 ,x1 ,x0 ,F1, F2,
F3);++;
}("+-----------------------------------------------+\n");menu41;main();("Чтобы
вернутся на начало программы введите - 1\nЧтобы выйти из программы введите -
2\nЧтобы вернутся на начало лаб. работы 4 введите - 3\nПоле ввода: \n");("%d",
&menu41);("cls");(menu41)
{1:();;2:0;;3:_4();;:("n");("pause");("cls");L_4();
}0;
}
//Лабораторная работа 3L_3(void)
{main();lab3;(LC_CTYPE, "rus");("Пожалуста введите номер
задания от 1-3.\nЧтобы вернутся на начало программы введите - 4\nЧтобы выйти из
программы введите - 5\nПоле ввода: \n");("%d",
&lab3);("cls");(lab3)
{1:("Задание 1\n");a, b, a1, b1;(LC_CTYPE,
"rus");("Введите значение переменных А и В:
");("%d", &a);("%d", &b);(a == b)
{= 0;= 0;("A = %d, B = %d\n", a1, b1);
}
{= a + b;= a + b;("A = %d, B = %d\n", a1, b1);
}menu31;main();("Чтобы вернутся на начало программы введите -
1\nЧтобы выйти из программы введите - 2\nЧтобы вернутся на начало лаб. работы 3
введите - 3\nПоле ввода: \n");("%d",
&menu31);("cls");(menu31)
{1:();;2:0;;3:_3();;:("Ошибка! Введите пожалуста корректный номер
для выбора
команды!\n");("pause");("cls");(stdin);L_3();
};2:("Задание 2\n");m, n, x;(LC_CTYPE,
"rus");("Введите значение переменных А и В:
");("%lg", &m);("%lg", &n);(m > n)
{= (2 + n) / m;("X = %lg\n", x);
}(m == n)
}(m < n)
{= (m - 5) / n;("X = %lg\n", x);
}menu32;main();("Чтобы вернутся на начало программы введите -
1\nЧтобы выйти из программы введите - 2\nЧтобы вернутся на начало лаб. работы 3
введите - 3\nПоле ввода: \n");("%d", &menu32);("cls");(menu32)
{1:();;2:0;;3:_3();;:("Ошибка! Введите пожалуста корректный номер
для выбора
команды!\n");("pause");("cls");(stdin);L_3();
};3:("Задание 3\n");s, y;(LC_CTYPE,
"rus");("Введите координаты точки: ");("%lg",
&s);("%lg", &y);((-6 <= s) & (s <= 6) & (-6
<= y) & (y <= 4))("Точка входит в фигуру\n");
{((0 == s) & (y <= 7))("Точка входит в фигуру\n");
{((-2 <= s) & (s <= 2) & (y <= 6))("Точка входит в
фигуру\n");
{((-3 <= s) & (s <= 3) & (y <= 5))("Точка входит в
фигуру\n");
{("Точка не входит в фигуру\n");
}int menu33;main();("Чтобы вернутся на начало программы введите -
1\nЧтобы выйти из программы введите - 2\nЧтобы вернутся на начало лаб. работы 3
введите - 3\nПоле ввода: \n");("%d",
&menu33);("cls");(menu33)
{1:();;2:0;;3:_3();;:("Ошибка! Введите пожалуста корректный номер
для выбора
команды!\n");("pause");("cls");(stdin);L_3();
};4:();;5:0;;:("Ошибка! Введите пожалуста корректный номер
задания!");("pause");("cls");(stdin);L_3();
}0;
}
//Лабораторная работа 2L_2(void)
{main();lab2;(LC_CTYPE, "rus");("Пожалуста введите номер
задания от 1-3.\nЧтобы вернутся на начало программы введите - 4\nЧтобы выйти из
программы введите - 5\nПоле ввода: \n");("%d",
&lab2);("cls");(lab2)
{1:("Задание 1\n");a, x;("M_PI = %.16lf\n",
M_PI);(LC_CTYPE, "rus");("Введите угол в градусах:
");("%f", &a);= a * M_PI / 180;("%f\n",
x);menu21;main();("Чтобы вернутся на начало программы введите - 1\nЧтобы
выйти из программы введите - 2\nЧтобы вернутся на начало лаб. работы 2 введите
- 3\nПоле ввода: \n");("%d", &menu21);("cls");(menu21)
{1:();;2:0;;3:_2();;:("Ошибка! Введите пожалуста корректный номер
для выбора
команды!\n");("pause");("cls");(stdin);L_2();
};2:("Задание 2\n");(LC_CTYPE, "rus");("Таблица
для целочисленных типов
данных\n");("+--------------+-----+-----------+---------+-----------+-----------+\n");("|Type
|Bytes| Min DEC | Min HEX | Max DEC | Max HEX
|\n");("+--------------+-----+-----------+---------+-----------+-----------+\n");("|short");("
|%d |%d |%x |%d |%x |\n", sizeof(short), SHRT_MIN, SHRT_MIN, SHRT_MAX, SHRT_MAX);("+--------------+-----+-----------+---------+-----------+-----------+\n");("|unsigned
short");("|%d | | |%u |%x |\n", sizeof(unsigned short),
USHRT_MAX, USHRT_MAX);("+--------------+-----+-----------+---------+-----------+-----------+\n");("|int");("
|%d |%d|%x |%d |%x |\n", sizeof(int), INT_MIN, INT_MIN, INT_MAX,
INT_MAX);("+--------------+-----+-----------+---------+-----------+-----------+\n");("Таблица
для вещественных типов данных\n");("+---------+-----+-------------------+------------------------+\n");("|Type
|Bytes| Min Value | Max Value
|\n");("+---------+-----+-------------------+------------------------+\n");("|double");("
|%d |%e |%e |\n", sizeof(double), DBL_MIN, DBL_MAX);("+---------+-----+-------------------+------------------------+\n");menu22;main();("Чтобы
вернутся на начало программы введите - 1\nЧтобы выйти из программы введите -
2\nЧтобы вернутся на начало лаб. работы 2 введите - 3\nПоле ввода:
\n");("%d",
&menu22);("cls");(menu22)1:();;2:0;;3:_2();;:("Ошибка!
Введите пожалуста корректный номер для выбора
команды!\n");("pause");("cls");(stdin);L_2();;3:("Задание
3\n");r;p;z, w;(LC_CTYPE, "rus");("M_PI = %.16lf\n",
M_PI);("Введите угол в градусах: ");("%d", &r);= r *
M_PI / 180;("sin(%lg) = %lg\n", r, sin(p) );("cos(%lg) =
%lg\n", r, cos(x) );("tg (%lg) = %lg\n", r, tan(x)
);("ctg(%lg) = %lg\n", r, 1.0/tan(p) );= (1 - 2 * (sin(p)*sin(p))) /
(1 + sin(2*(p)));= (1 - tan(p)) / (1 + tan(p));("Z1 = %lg\n",
z);("Z2 = %lg\n", w);menu23;main();("Чтобы вернутся на начало
программы введите - 1\nЧтобы выйти из программы введите - 2\nЧтобы вернутся на
начало лаб. работы 2 введите - 3\nПоле ввода: \n");("%d",
&menu23);("cls");(menu23)
{1:();;2:0;;3:_2();;:("Ошибка! Введите пожалуста корректный номер
для выбора команды!\n");("pause");("cls");(stdin);L_2();
}0;
}
//Автор лабораторной работыF_N_G(void)
{menuFNG;main();(LC_CTYPE, "rus");("Автор\nИмя -
Олег\nФамилия - Момот\nНомер группы - 516\nЧтобы вернутся на начало программы
введите - 1\nЧтобы выйти из программы введите - 2\nПоле ввода:
\n");("%d", &menuFNG);("cls");(menuFNG)
{1:();;2:0;;:("Ошибка! Введите пожалуста корректный номер для выбора
команды!\n");("pause");("cls");(stdin);F_N_G();
}
}
//Менюmain()
{menu;(LC_CTYPE, "rus");("Здраствуйте!\nВы запустили
лабораторную работу №5 по предмету ОТ и программирования.\nЧтобы узнать автора
программы введите - 1\nЧтобы посмотреть лаб. работу введите её номер от
2-4\nЧтобы выйти из программы введите - 5\nПоле
ввода:\n");("%d", &menu);("cls");(menu)
{1:_N_G();2:_2();;3:_3();;4:_4();;5:0;:("Ошибка! Введите пожалуста
корректный номер лаб.
работы!\n");("pause");("cls");(stdin);main();
}
}
группировка
программа лабораторный оператор
Вывод
Я научился группировать программы, используя при этом оператор вывода
switch и созданные функции из программ предыдущих лабораторных работ, что
позволило создать программу которая состоит из разных подпрограмм, так же при
не корректном вводе значений программа выдаст сообщение об ошибке и после этого
вернется на предыдущий пункт меню в котором случился сбой, а не просто
«вылетит».