Essays.club - Получите бесплатные рефераты, курсовые работы и научные статьи
Поиск

Имитационное моделирование средствами языка С++

Автор:   •  Апрель 12, 2022  •  Лабораторная работа  •  507 Слов (3 Страниц)  •  228 Просмотры

Страница 1 из 3

ОТЧЕТ

ПО ЛАБОРАТОРНОЙ РАБОТЕ №2

«Имитационное моделирование средствами языка С++»

по курсу «Объектно-ориентированное программирование»

Вариант 5

Выполнил: студент группы ПИ-20б

______________Боднарчук А.

(подпись) «___» _______2021г.

Принял: ассистент

________________Грищенко Д.А.

(подпись) «___» _______2021г.

2021 г.

Условие

Автомат Калашникова.

Автомат имеет спусковой механизм (курок) и рычаг переключения «одиночный выстрел» «автоматическая стрельба». При нажатии на курок в зависимости от рычага переключения автомат выстреливает:

1 пулю при «одиночный выстрел»;

5 пуль при «автоматическая стрельба».

Если обойма пуста, то стрельба производится не может и необходимо сменить обойму. Ёмкость обоймы 30 патронов. Если в обойме осталось менее 5 патронов, то при «автоматической стрельбе» выстреливаются все остающиеся. Две обоймы заправлять одновременно нельзя. Начальное состояние: обойма полна т.е. 30 патронов и рычаг переключен в состояние «одиночный выстрел».

На языке СИ

/*Файл automat.h*/

enum lever { one_b, auto_b };

enum clip{full, empty};

enum fuse { on, off };

class automaton

{

lever curr_lever;

clip curr_clip;

fuse curr_fuse;

int cartridges;

int time;

void change_lever();

void push_trigger();

void recharge();

void recharge_ready();

void change_fuse();

public:

automaton();

void Run();

};

/*Файл method.cpp*/

#include <stdio.h>

#include <conio.h>

#include <windows.h>

#include <iostream>

#include "automat.h"

using namespace std;

automaton::automaton()

{

curr_clip = full;

cartridges = 30;

curr_lever = one_b;

time = -1;

curr_fuse = on;

}

void menu()

{

cout << "\n1-Сменить положение предохранителя(На предохранители/Снять с предохранителя).";

cout << "\n2-Сменить положение рычага переключения(Одиночный выстрел/Автоматическая стрельба).";

cout << "\n3-Нажать на спусковой курок.";

cout << "\n4-Перезарядить автомат.";

cout << "\nESC-Выход из программы.";

cout << "\nВаш выбор:";

}

void automaton::Run()

{

int key;

do

{

while (time > 0)

{

cout << "\nДо конца перезарядки осталось: " << time << " секунд!";

time--;

Sleep(100);

}

if (time == 0)

recharge_ready();

menu();

key = getch();

switch (key)

{

case '1':

cout << " Сменить положение предохранителя!";

change_fuse();

break;

case '2':

...

Скачать:   txt (6.3 Kb)   pdf (57.9 Kb)   docx (11.8 Kb)  
Продолжить читать еще 2 страниц(ы) »
Доступно только на Essays.club