ЛР2_Дроби (1079098)
Текст из файла
Лабораторная работа 2
Задание. Создать класс для работы с обыкновенными дробями. Все операции, которые должны выполняться с дробями, включены в программу в приложении 1.
Числитель и знаменатель дроби имеют тип int.
Дроби вводятся как строка, имеющая вид:
- для дробей с целой частью: знак, целая часть, пробел, числитель, слэш (‘/’), знаменатель,. например: -2 6/18, 5 9/3, 2 4/1.
- для дробей без целой части: знак, числитель, слэш (‘/’), знаменатель,
например: 3/4, -9/3, -8/6 (знаменатель всегда положительный).
Значения представленных выше дробей на экране при выводе должны иметь вид:
-2 1/3, 8, 6.
3/4, -3, -1 1/3.
При выводе и после выполнения арифметических операций дроби сокращаются, то есть числитель и знаменатель не должны иметь общих множителей.
Перегрузить операции '+', '+=' для сложения дроби и целого в любых сочетаниях (дробь+целое, целое+дробь, дробь+дробь).
Перегрузить операции '+', '+=' для сложения дроби и double в любых сочетаниях (дробь+double, double+дробь). Преобразование double-дробь должно выполняться с точностью до N_DEC десятичных знаков после запятой, где N_DEC – целочисленная константа, задаваемая пользователем. Задайте значение по умолчанию N_DEC=4.
Для инициализации объектов разрабатываемого класса обыкновенных дробей предусмотреть соответствующие конструкторы (с одним аргументом типа char*, с одним аргументом типа double и с двумя аргументами типа int, которые имеют значения по умолчанию).
При перегрузке операций использовать функции - члены класса, а где это невозможно, то функции - друзья класса.
Для обеспечения более удобного контроля результатов выполнения программы вставьте в конструкторы и перегруженные операции операторы вывода, идентифицирующие выполняемую функцию.
Требования к отчету. Отчет должен содержать следующие разделы:
-
«Постановка задачи», в котором на основании задания уточняются задачи, для решения которых предполагается использовать разрабатываемый класс.
-
«Разработка интерфейса класса», в котором описываются и обосновываются состав полей и методов класса, прототипы методов. Интерфейс класса должен обеспечить выполнение функции main() из Приложения 1
-
«Разработка алгоритма», в котором должны быть приведены блок-схемы алгоритма вывода дробей и алгоритма сокращения дробей.
-
«Текст программы», в котором приведены исходные тексты разработанной программы. При защите лабораторной работы студент должен уметь объяснить назначение каждого оператора разработанной им программы.
-
«Анализ результатов», в котором приводятся, распечатка результатов выполнения программы main() и анализ результатов.
Приложение 1.
//Лаб.2 Класс для работы с обыкновенными дробями.
// Разработать класс обыкновенных дробей fraction
//(описание класса - файл fraction.h и реализацию методов класса - файл //fraction.cpp) для выполнения приведенной ниже функции main(), в которой //проверяются все предполагаемые варианты использования класса.
#include <iostream>
#include "fraction.h"
#include "fraction.cpp"
using namespace std;
void main()
{
setlocale(0,"russian");
//ввод дроби с клавиатуры
cout<<"Введите дробь: \n";
fraction z;
cin>>z;
cout<<"z="<<z<<endl;
cout<<”Проверка конструкторов”<<endl;
fraction fr1(10,14),fr2;
cout<<"fr2="<<fr2<<endl;
cout<<"fr1="<<fr1<<endl;
fraction fr="-1 4/8";
cout<<"fr="<<fr<<endl;
fraction x(z),y;
cout<<"x="<<x<<endl;
double dbl=-1.25;
fraction f=dbl;
cout<<"f="<<f<<endl;
cout<<”Проверка перегруженных операций ‘+’”<<endl;
y=x+z;
cout<<"y="<<y<<endl;
y+=x;
f+=dbl/2;
cout<<"f="<<f<<endl;
y=x+dbl;
cout<<"y="<<y<<endl;
y=dbl+y;
cout<<"y="<<y<<endl;
y+=dbl;
cout<<"y="<<y<<endl;
int i=5;
y+=i;
cout<<"y="<<y<<endl;
y=i+x;
cout<<"y="<<y<<endl;
y=x+i;
cout<<"y="<<y<<endl;
y+=dbl+i+x;
cout<<"y="<<y<<endl;
}
Характеристики
Тип файла документ
Документы такого типа открываются такими программами, как Microsoft Office Word на компьютерах Windows, Apple Pages на компьютерах Mac, Open Office - бесплатная альтернатива на различных платформах, в том числе Linux. Наиболее простым и современным решением будут Google документы, так как открываются онлайн без скачивания прямо в браузере на любой платформе. Существуют российские качественные аналоги, например от Яндекса.
Будьте внимательны на мобильных устройствах, так как там используются упрощённый функционал даже в официальном приложении от Microsoft, поэтому для просмотра скачивайте PDF-версию. А если нужно редактировать файл, то используйте оригинальный файл.
Файлы такого типа обычно разбиты на страницы, а текст может быть форматированным (жирный, курсив, выбор шрифта, таблицы и т.п.), а также в него можно добавлять изображения. Формат идеально подходит для рефератов, докладов и РПЗ курсовых проектов, которые необходимо распечатать. Кстати перед печатью также сохраняйте файл в PDF, так как принтер может начудить со шрифтами.