Создание программы, включающей все программы лабораторных работ

Разработка программы, включающей все программы предыдущих лабораторных работ, информацию об авторе. Группировка программ, используя оператор вывода switch и созданные функции из программ лабораторных работ. Анализ реакции программы на сообщение об ошибке.

Рубрика Программирование, компьютеры и кибернетика
Вид лабораторная работа
Язык русский
Дата добавления 23.11.2014
Размер файла 221,4 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

МІНІСТЕРСТВО ОСВІТИ І НАУКИ, молоді та спорту УКРАЇНИ

Національний аерокосмічний університет ім. М.Є. Жуковського

“Харківський авіаційний інститут”

Кафедра комп'ютерних систем та мереж

Лабораторна робота № 5

з дисципліни “Програмування”

Виконав Момот О.О.

Перевірив Шпак О. С.

2012

Оглавление

Цель работы

Алгоритм программы

Код программы

Вывод

Цель работы

Создать программу, включающую все программы предыдущих лабораторных работ и информации об автора.

Алгоритм программы

Код программы

#include <stdio.h>

#define _USE_MATH_DEFINES

#include <math.h>

#include <limits.h>

#include <float.h>

#include <windows.h>

#include <locale.h>

//Лабораторная работа 4

float L_4(void)

{

printf("Задание 1\n");

int cnt=0;

unsigned char x3,x2,x1,x0;

printf("+-----------------------------------------------+\n");

printf("| N| x3| x2| x1| x0| F1| F2| F3|\n");

for(x0=0;x0<=1;x0++)

for(x1=0;x1<=1;x1++)

for(x2=0;x2<=1;x2++)

for(x3=0;x3<=1;x3++)

{

int F1,F2,F3;

F3=((x2&&x3&&!x1)||(x0&&x3&&!x1)||(x3&&x0&&!x2)||(x3&&x1&&!x2));

F2=((x2&&!x0&&!x3)||(x2&&!x1&&!x3)||(!x3&&x0&&!x1)||(x0&&!x2&&!x3)||(x1&&!x2&&!x3)||(x1&&!x0&&!x3));

F1=((!x1&&!x3)||(x2&&!x3)||(x3&&!x0&&!x2&&!x1));

printf("+-----------------------------------------------+\n");

printf("|%4d |%4d |%4d |%4d |%4d |%4d |%4d |%4d |\n",cnt ,x3 ,x2 ,x1 ,x0 ,F1, F2, F3);

cnt++;

}

printf("+-----------------------------------------------+\n");

int menu41;

int main();

printf("Чтобы вернутся на начало программы введите - 1\nЧтобы выйти из программы введите - 2\nЧтобы вернутся на начало лаб. работы 4 введите - 3\nПоле ввода: \n");

scanf("%d", &menu41);

system("cls");

switch(menu41)

{

case 1:

main();

break;

case 2:

return 0;

break;

case 3:

L_4();

break;

default:

printf("n");

system("pause");

system("cls");

return L_4();

}

return 0;

}

//Лабораторная работа 3

float L_3(void)

{

int main();

int lab3;

setlocale(LC_CTYPE, "rus");

printf("Пожалуста введите номер задания от 1-3.\nЧтобы вернутся на начало программы введите - 4\nЧтобы выйти из программы введите - 5\nПоле ввода: \n");

scanf("%d", &lab3);

system("cls");

switch(lab3)

{

case 1:

printf("Задание 1\n");

int a, b, a1, b1;

setlocale(LC_CTYPE, "rus");

printf("Введите значение переменных А и В: ");

scanf("%d", &a);

scanf("%d", &b);

if (a == b)

{

a1 = 0;

b1 = 0;

printf("A = %d, B = %d\n", a1, b1);

}

else

{

a1 = a + b;

b1 = a + b;

printf("A = %d, B = %d\n", a1, b1);

}

int menu31;

int main();

printf("Чтобы вернутся на начало программы введите - 1\nЧтобы выйти из программы введите - 2\nЧтобы вернутся на начало лаб. работы 3 введите - 3\nПоле ввода: \n");

scanf("%d", &menu31);

system("cls");

switch(menu31)

{

case 1:

main();

break;

case 2:

return 0;

break;

case 3:

L_3();

break;

default:

printf("Ошибка! Введите пожалуста корректный номер для выбора команды!\n");

system("pause");

system("cls");

fflush(stdin);

return L_3();

}

break;

case 2:

printf("Задание 2\n");

double m, n, x;

setlocale(LC_CTYPE, "rus");

printf("Введите значение переменных А и В: ");

scanf("%lg", &m);

scanf("%lg", &n);

if (m > n)

{

x = (2 + n) / m;

printf("X = %lg\n", x);

}

else

if (m == n)

{

x = -2;

printf("X = %lg\n", x);

}

else

if (m < n)

{

x = (m - 5) / n;

printf("X = %lg\n", x);

}

int menu32;

int main();

printf("Чтобы вернутся на начало программы введите - 1\nЧтобы выйти из программы введите - 2\nЧтобы вернутся на начало лаб. работы 3 введите - 3\nПоле ввода: \n");

scanf("%d", &menu32);

system("cls");

switch(menu32)

{

case 1:

main();

break;

case 2:

return 0;

break;

case 3:

L_3();

break;

default:

printf("Ошибка! Введите пожалуста корректный номер для выбора команды!\n");

system("pause");

system("cls");

fflush(stdin);

return L_3();

}

break;

case 3:

printf("Задание 3\n");

double s, y;

setlocale(LC_CTYPE, "rus");

printf("Введите координаты точки: ");

scanf("%lg", &s);

scanf("%lg", &y);

if ((-6 <= s) & (s <= 6) & (-6 <= y) & (y <= 4))

printf("Точка входит в фигуру\n");

else

{

if ((0 == s) & (y <= 7))

printf("Точка входит в фигуру\n");

else

{

if ((-2 <= s) & (s <= 2) & (y <= 6))

printf("Точка входит в фигуру\n");

else

{

if ((-3 <= s) & (s <= 3) & (y <= 5))

printf("Точка входит в фигуру\n");

else

{

printf("Точка не входит в фигуру\n");

}int menu33;

int main();

printf("Чтобы вернутся на начало программы введите - 1\nЧтобы выйти из программы введите - 2\nЧтобы вернутся на начало лаб. работы 3 введите - 3\nПоле ввода: \n");

scanf("%d", &menu33);

system("cls");

switch(menu33)

{

case 1:

main();

break;

case 2:

return 0;

break;

case 3:

L_3();

break;

default:

printf("Ошибка! Введите пожалуста корректный номер для выбора команды!\n");

system("pause");

system("cls");

fflush(stdin);

return L_3();

}

break;

case 4:

main();

break;

case 5:

return 0;

break;

default:

printf("Ошибка! Введите пожалуста корректный номер задания!");

system("pause");

system("cls");

fflush(stdin);

return L_3();

}

return 0;

}

//Лабораторная работа 2

float L_2(void)

{

int main();

int lab2;

setlocale(LC_CTYPE, "rus");

printf("Пожалуста введите номер задания от 1-3.\nЧтобы вернутся на начало программы введите - 4\nЧтобы выйти из программы введите - 5\nПоле ввода: \n");

scanf("%d", &lab2);

system("cls");

switch(lab2)

{

case 1:

printf("Задание 1\n");

float a, x;

printf("M_PI = %.16lf\n", M_PI);

setlocale(LC_CTYPE, "rus");

printf("Введите угол в градусах: ");

scanf("%f", &a);

x = a * M_PI / 180;

printf("%f\n", x);

int menu21;

int main();

printf("Чтобы вернутся на начало программы введите - 1\nЧтобы выйти из программы введите - 2\nЧтобы вернутся на начало лаб. работы 2 введите - 3\nПоле ввода: \n");

scanf("%d", &menu21);

system("cls");

switch(menu21)

{

case 1:

main();

break;

case 2:

return 0;

break;

case 3:

L_2();

break;

default:

printf("Ошибка! Введите пожалуста корректный номер для выбора команды!\n");

system("pause");

system("cls");

fflush(stdin);

return L_2();

}

break;

case 2:

printf("Задание 2\n");

setlocale(LC_CTYPE, "rus");

printf("Таблица для целочисленных типов данных\n");

printf("+--------------+-----+-----------+---------+-----------+-----------+\n");

printf("|Type |Bytes| Min DEC | Min HEX | Max DEC | Max HEX |\n");

printf("+--------------+-----+-----------+---------+-----------+-----------+\n");

printf("|short");

printf(" |%d |%d |%x |%d |%x |\n", sizeof(short), SHRT_MIN, SHRT_MIN, SHRT_MAX, SHRT_MAX);

printf("+--------------+-----+-----------+---------+-----------+-----------+\n");

printf("|unsigned short");

printf("|%d | | |%u |%x |\n", sizeof(unsigned short), USHRT_MAX, USHRT_MAX);

printf("+--------------+-----+-----------+---------+-----------+-----------+\n");

printf("|int");

printf(" |%d |%d|%x |%d |%x |\n", sizeof(int), INT_MIN, INT_MIN, INT_MAX, INT_MAX);

printf("+--------------+-----+-----------+---------+-----------+-----------+\n");

printf("Таблица для вещественных типов данных\n");

printf("+---------+-----+-------------------+------------------------+\n");

printf("|Type |Bytes| Min Value | Max Value |\n");

printf("+---------+-----+-------------------+------------------------+\n");

printf("|double");

printf(" |%d |%e |%e |\n", sizeof(double), DBL_MIN, DBL_MAX);

printf("+---------+-----+-------------------+------------------------+\n");

int menu22;

int main();

printf("Чтобы вернутся на начало программы введите - 1\nЧтобы выйти из программы введите - 2\nЧтобы вернутся на начало лаб. работы 2 введите - 3\nПоле ввода: \n");

scanf("%d", &menu22);

system("cls");

switch(menu22)

case 1:

main();

break;

case 2:

return 0;

break;

case 3:

L_2();

break;

default:

printf("Ошибка! Введите пожалуста корректный номер для выбора команды!\n");

system("pause");

system("cls");

fflush(stdin);

return L_2();

break;

case 3:

printf("Задание 3\n");

double r;

double p;

double z, w;

setlocale (LC_CTYPE, "rus");

printf ("M_PI = %.16lf\n", M_PI);

printf ("Введите угол в градусах: ");

scanf ("%d", &r);

p = r * M_PI / 180;

printf ("sin(%lg) = %lg\n", r, sin(p) );

printf ("cos(%lg) = %lg\n", r, cos(x) );

printf ("tg (%lg) = %lg\n", r, tan(x) );

printf ("ctg(%lg) = %lg\n", r, 1.0/tan(p) );

z = (1 - 2 * (sin(p)*sin(p))) / (1 + sin(2*(p)));

w = (1 - tan(p)) / (1 + tan(p));

printf ("Z1 = %lg\n", z);

printf ("Z2 = %lg\n", w);

int menu23;

int main();

printf("Чтобы вернутся на начало программы введите - 1\nЧтобы выйти из программы введите - 2\nЧтобы вернутся на начало лаб. работы 2 введите - 3\nПоле ввода: \n");

scanf("%d", &menu23);

system("cls");

switch(menu23)

{

case 1:

main();

break;

case 2:

return 0;

break;

case 3:

L_2();

break;

default:

printf("Ошибка! Введите пожалуста корректный номер для выбора команды!\n");

system("pause");

system("cls");

fflush(stdin);

return L_2();

}

break;

case 4:

main();

break;

case 5:

return 0;

break;

default:

printf("Ошибка! Введите пожалуста корректный номер задания!");

system("pause");

system("cls");

fflush(stdin);

return L_2();

}

return 0;

}

//Автор лабораторной работы

float F_N_G(void)

{

int menuFNG;

int main();

setlocale(LC_CTYPE, "rus");

printf("Автор\nИмя - Олег\nФамилия - Момот\nНомер группы - 516\nЧтобы вернутся на начало программы введите - 1\nЧтобы выйти из программы введите - 2\nПоле ввода: \n");

scanf("%d", &menuFNG);

system("cls");

switch(menuFNG)

{

case 1:

main();

break;

case 2:

return 0;

break;

default:

printf("Ошибка! Введите пожалуста корректный номер для выбора команды!\n");

system("pause");

system("cls");

fflush(stdin);

return F_N_G();

}

}

//Меню

int main()

{

int menu;

setlocale(LC_CTYPE, "rus");

printf("Здраствуйте!\nВы запустили лабораторную работу №5 по предмету ОТ и программирования.\nЧтобы узнать автора программы введите - 1\nЧтобы посмотреть лаб. работу введите её номер от 2-4\nЧтобы выйти из программы введите - 5\nПоле ввода:\n");

scanf("%d", &menu);

system("cls");

switch(menu)

{

case 1:

F_N_G();

case 2:

L_2();

break;

case 3:

L_3();

break;

case 4:

L_4();

break;

case 5:

return 0;

default:

printf("Ошибка! Введите пожалуста корректный номер лаб. работы!\n");

system("pause");

system("cls");

fflush(stdin);

return main();

}

}

группировка программа лабораторный оператор

Вывод

Я научился группировать программы, используя при этом оператор вывода switch и созданные функции из программ предыдущих лабораторных работ, что позволило создать программу которая состоит из разных подпрограмм, так же при не корректном вводе значений программа выдаст сообщение об ошибке и после этого вернется на предыдущий пункт меню в котором случился сбой, а не просто «вылетит».

Размещено на Allbest.ru


Подобные документы

  • Анализ и математическая постановка задачи. Описание алгоритма действий, структурной организации программы и ее программной реализации. Текст основной программы, модулей вывода текстовых файлов на экран, извлечения ехе-файлов и подсчёта лабораторных работ.

    курсовая работа [28,1 K], добавлен 28.02.2011

  • Разработка программ с использованием оператора выбора Switch. Программирование компьютерной игры в карты. Составление программы, которая по введенным значениям и номеру действия выполняет действия над числами. Тестирование работоспособности программы.

    лабораторная работа [1,2 M], добавлен 23.11.2014

  • Конструкции языка программирования С++, составление простых программ, использyющих оператор if, оператор if else и оператор switch. Работа оператора switch. Создание программы, которая по дате определяет день недели , на который эта дата приходится.

    лабораторная работа [3,1 M], добавлен 03.02.2008

  • Обоснование необходимости разработки данных лабораторных работ. Основные средства измерения затухания методами светопропускания. Методы измерения оптической мощности. Разработка оболочки пакета программ. Оценка эффективности разработанных интерфейсов.

    дипломная работа [3,8 M], добавлен 20.10.2013

  • Написание программы для вычисления функции f(x), изображенной на графике, используя оператор if. Построение графика функции. Составление программы, вычисляющей сумму 101 из последовательно расположенных нечетных чисел. Нахождение корней системы уравнений.

    контрольная работа [694,4 K], добавлен 07.08.2013

  • Антивирусные программы и требования, предъявляемые к ним. Характеристики антивирусных программ. Универсальные детекторы. Программы-доктора (фаги). Программы-ревизоры. Вакцины. Краткий обзор антивирусных программ и их сравнительная характеристика.

    реферат [20,2 K], добавлен 08.10.2008

  • Антивирусные программы и требования, предъявляемые к ним. Характеристики антивирусных программ. Универсальные детекторы. Программы-доктора (фаги). Программы-ревизоры. Вакцины. Краткий обзор антивирусных программ и их сравнительная характеристика.

    презентация [3,0 M], добавлен 08.10.2008

  • Требования к тестовому контролю. Разработка электронной контролирующей программы по спецдисциплинам, направленной на упрощение проведения проверочных работ. Инструкция пользователю и программисту. Определение затрат на создание тестирующей программы.

    курсовая работа [4,9 M], добавлен 15.10.2013

  • Программный комплекс для разработки программы транслирующей программу с языка Pascal на язык С++. Построение логической и арифметической модели решения. Разработка компилятора для программы. Методы отладки программы и создание для нее документации.

    курсовая работа [742,6 K], добавлен 03.07.2011

  • Фаза "избавления" программы от ошибок. Задача обработки ошибок в коде программы. Ошибки с невозможностью автоматического восстановления, оператор отключения. Прекращение выполнения программы. Возврат недопустимого значения. Директивы РНР контроля ошибок.

    учебное пособие [62,3 K], добавлен 27.04.2009

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.