Скачиваний:
5
Добавлен:
27.11.2024
Размер:
4.1 Кб
Скачать
#include "pch.h"
#include <iostream>
#include <ctime>
#include <windows.h>
void zaderjka()
{
	Sleep(100);
	printf(".");
	Sleep(100);
	printf(".");
	Sleep(100);
	printf(".");
	Sleep(100);
	printf(".");
	Sleep(100);
	printf(".\n");
}
int vkl() {
	int zz;

	setlocale(LC_ALL, "Rus");
	printf("Получить данные от датчика\n");
	std::cout << "0 - нет, 1 - да: ";
	std::cin >> zz;
	return zz;
}
int random(int min, int max, int n) {
	if (n > 0) {
		return min + rand() % (max - min);
	}
	else {
		return NULL;
	}
}
int value1()
{
	printf("СЧИТЫВАНИЕ ДАННЫХ\n");
	printf("\nСчитывание данных с датчика температуры");
	zaderjka();
	return random(280, 340, vkl());

}
int value2()
{
	printf("\nСчитывание данных с оптического датчика прохода поситителей");
	zaderjka();
	return random(15, 60, vkl());

}
int value3()
{
	printf("\nСчитывание данных с датчика ");
	zaderjka();
	return random(12, 19, vkl());
}
int main()
{
	setlocale(0, "rus");
	printf("Магазин у дома\n");
	printf("Ядерный реактор ВВЭР-1300:\n");
	printf("Нормальный температурный режим от 298 до 329 °C\n");
	printf("Нормальный водородный режим от 20 до 50 см3/кг\n");
	printf("Нормальный режим давления не привышающщий 16 МПа\n\n");
	int arr[3] = { value1(), value2(), value3() };
	int arr2[3] = { 0,0,0 };
	_asm
	{
		lea EBX, arr
		lea EDX, arr2
		mov EDI, [EBX]
		cmp EDI, 0d
		jz lab1
		cmp EDI, 329d
		jc lable
		mov[EDX], 3d
		jmp lab1
		lable :
		cmp EDI, 298d
			jc labl
			mov[EDX], 2d
			jmp lab1
			labl :
		mov[EDX], 1d
			lab1 :
		mov EDI, [EBX + 4]
			cmp EDI, 0d
			jz lab2
			cmp EDI, 50d
			jc lable1
			mov[EDX + 4], 3d
			jmp lab2
			lable1 :
		cmp EDI, 20d
			jc labl1
			mov[EDX + 4], 2d
			jmp lab2
			labl1 :
		mov[EDX + 4], 1d
			lab2 :
		mov EDI, [EBX + 8]
			cmp EDI, 0d
			jz end
			cmp EDI, 16d
			jc lable2
			mov[EDX + 8], 2d
			jmp end
			lable2 :
		mov[EDX + 8], 1d
			end :
	}
	printf("\nОБРАБОТКА ДАННЫХ\n");
	printf("\nДатчик температуры: %i°C\n", arr[0]);
	switch (arr2[0])
	{
	case 0: printf("ERROR!\nОшибка получения данных с датчика\n"); break;
	case 1: printf("Показатели ниже среднего \nУвеличьте нагрев энергоблока\n"); break;
	case 2: printf("Показатели в норме\n Оборудование работает в штатном режиме.\n"); break;
	case 3: printf("Показатели выше среднего!\n Запустите систему охлаждения\n"); break;
	default: break;
	}
	printf("\nДатчик газа: %i см3/кг\n", arr[1]);
	switch (arr2[1])
	{
	case 0: printf("ERROR!\nОшибка получения данных с датчика\n"); break;
	case 1: printf("Показатели ниже среднего \nУвеличьте концентрацию водорода\n"); break;
	case 2: printf("Показатели в норме\n Оборудование работает в штатном режиме.\n"); break;
	case 3: printf("Показатели выше среднего!\n Запустите систему удаления водорода\n"); break;
	default: break;
	}
	printf("\nДатчик давления: %i МПа\n", arr[2]);
	switch (arr2[2])
	{
	case 0: printf("ERROR!\nОшибка получения данных с датчика\n"); break;
	case 1: printf("Показатели в норме\n Оборудование работает в штатном режиме.\n"); break;
	case 2: printf("Показатели выше среднего!\n Запустите компенсатор давления\n"); break;
	default: break;
		system("pause");
	}
}
Соседние файлы в папке КР2
  • #
    27.11.2024396 б5pch.cpp
  • #
    27.11.20241.25 Кб5pch.h
  • #
    27.11.20244.1 Кб5КР2.cpp
  • #
    27.11.20241.42 Кб5КР2.sln
  • #
    27.11.20248.4 Кб5КР2.vcxproj
  • #
    27.11.20241.27 Кб5КР2.vcxproj.filters
  • #
    27.11.2024165 б5КР2.vcxproj.user