Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
отчеты 1 семестр 3 вариант 4 факультет.docx
Скачиваний:
15
Добавлен:
12.05.2018
Размер:
705.38 Кб
Скачать

Лабораторная работа № 7 Тема: Работа с файлами

Задание. Составить меню, состоящее из выполненных лабораторных и самостоятельных работ.

Решение:

  1. Блок – схема алгоритма

Начало

fmenu()

Конец

1.2. Блок – схема алгоритма

1.3. Блок – схема алгоритма функции flab()

flab0()

flab6()

“0,1,2,…,6, 777”

m

m=0

Нет

m=6

Да

Нет

m=7773

Нет

Да

“error”

Да

1.4. Блок – схема алгоритма fsam() аналогична блок – схеме алгоритма flab().

n

n=false

fmenu ()

flab()

n=true

Нет

Да

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

#include "stdafx.h"

#include <iostream>

#include <math.h>

#include <locale>

#include <cstdlib>

#include <iomanip>

#include <locale.h>

using namespace std;

void lab0()

{}

void lab1()

{}

void lab21()

{}

void lab22()

{}

void lab23()

{}

void lab2()

{}

void lab31()

{}

void lab32()

{}

void lab33()

{}

void lab3()

{}

void lab4()

{}

void lab5()

{}

void lab6()

{}

void flab()

{

system("cls");

bool n = true;

while (n)

{

cout << "\t" << "Лабораторные работы:" << endl;

cout << "0 - лабораторная работа - Вывод текста на экран" << endl;

cout << "1 - лабораторная работа - Арифметическое выражение" << endl;

cout << "2 - лабораторная работа - Разветвляющиеся алгоритмы" << endl;

cout << "3 - лабораторная работа - Операторы повторений" << endl;

cout << "4 - лабораторная работа - Одномерный массив" << endl;

cout << "5 - лабораторная работа - Двумерные массивы " << endl;

cout << "6 - лабораторная работа - Итерация" << endl;

cout << "777 - выход" << endl;

int m;

cin >> m;

switch (m)

{

case 0:lab0(); break;

case 1:lab1(); break;

case 2:lab2(); break;

case 21:lab21(); break;

case 22:lab22(); break;

case 23:lab23(); break;

case 3:lab3(); break;

case 4:lab4(); break;

case 31:lab31(); break;

case 32:lab32(); break;

case 33:lab33(); break;

case 5:lab5(); break;

case 6:lab6(); break;

case 777:n = false; break;

default: cout << "error" << endl;

}

}

}

void sam1()

{}

void sam2()

{}

void sam3()

{}

void fsam()

{

system("cls");

bool n = true;

while (n)

{

cout << "\t" << "Самостоятельные работы:" << endl;

cout << "1 - программа для вычисления корней квадратного уравнения" << endl;

cout << "2 - вычисление факториала через циклы: while, do…while, for" << endl;

cout << "3 - Одномерный массив" << endl;

cout << "777 - выход" << endl;

int m;

cin >> m;

switch (m)

{

case 1:sam1(); break;

case 2:sam2(); break;

case 3:sam3(); break;

case 777: n = false; break;

default: cout << "error" << endl;

}

}

}

void fmenu()

{

bool n = true;

while (n)

{

system("cls");

int i;

cout << "\t" << "Отчёт по лабораторным и самостоятельным работам курса ''Информатика''" << endl;

cout << "\t" << "\t" << "студент Давлетов С. К. Группа 1122" << endl;

cout << "\t" << "\t" << "\t" << "1 - Лабораторные работы" << "\n";

cout << "\t" << "\t" << "\t" << "2 - Самостоятельные работы" << "\n";

cout << "\t" << "\t" << "\t" << "777.Выход" << endl;

cout << "\t" << "\t" << "\t" << "Выберите раздел "; cin >> i;

switch (i)

{

case 1: flab(); break;

case 2: fsam(); break;

case 777: n = false; break;

default:

n = false;

cout << "Раздела с таким номером нет"; break;

}

}

}

int _tmain(int argc, _TCHAR* argv[])

{

system("color 0C");

setlocale(0, "");

fmenu();

return 0;

}

3. Результат

4. Описание работы.

В начале пользователь обращается к функции fmenu(). Она в свою очередь с помощью цикла while с bool-левской переменной i и оператора switch, где в case содержатся номера наших работ, мы выбирает 1,2, 777-выход. Если вы выбираете 1, функция fmenu отправляет к функции flab(), где с помощью цикла while с bool-левской переменной m и оператора switch, где в case содержатся номера наших работ, мы выбирает 0,1, ...,6, если вы желаете покинуть данный раздел, то вы нажимаете 777, вас отправляет назад с помощью оператора break, когда ваше число принимает принимает значение false. Принц работы с функцией fsam() аналогичны функции flab(). Особенности программы – модулярность.