- •Отчет по лабораторным работам
- •Лабораторная работа №2 Тема: Разветвляющиеся алгоритмы
- •Задание 1. Ветвление с двумя альтернативами
- •Задание 2. Вложенные ветвления
- •Задание 3. Оператор множественного выбора
- •Лабораторная работа № 3 Тема: Операторы повторений
- •Лабораторная работа № 4 Тема: Одномерный массив
- •Лабораторная работа № 5 Тема: Двумерные массивы
- •Лабораторная работа № 6 Тема: Итерация
- •Лабораторная работа № 7 Тема: Работа с файлами
- •Самостоятельная работа №1
- •Самостоятельная работа №2
- •Самостоятельная работа №3 Тема: Одномерный массив
Лабораторная работа № 7 Тема: Работа с файлами
Задание. Составить меню, состоящее из выполненных лабораторных и самостоятельных работ.
Решение:
Блок – схема алгоритма
Начало
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(). Особенности программы – модулярность.