Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Программирование на C / C++ / Курсовая работа - Калькулятор.doc
Скачиваний:
145
Добавлен:
02.05.2014
Размер:
108.54 Кб
Скачать

МИНИСТЕРСТВО ОБРАЗОВАНИЯ РФ

ПЕРМСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ

Кафедра Информационных технологий и автоматизированных систем

Курсовая работа

по предмету: объектно-ориентированное программирование

Вариант №10

Выполнил: ст.гр АСУз-05-1у

Мартемьянов С.Н.

Пермь 2007г.

Содержание

Содержание

Содержание 2

1.Постановка задачи 3

2.Диаграмма классов 3

3.Описание классов 3

4.Реализация компонентых функций 4

5.Реализация диалогов с пользователем 4

6.Реализация основной программы 5

7.Пример результатов работы программы 5

8.Программная документация 5

9.Список используемой литературы 6

10.Листинг программы 6

1.Постановка задачи

Разработать класс «калькулятор», выполняющий указанные в варианте операции. Программа должна выполнять ввод данных, проверку правильности введенных данных, выдачу сообщений в случае ошибок.

Протокол работы калькулятора записать в файл. Предусмотреть возможность просмотра файла из программы.

Создать калькулятор логарифмов при различном основании, с возможностью сложения, вычитания, умножения, деления, возведения в степень и перехода к другому основанию.

2.Диаграмма классов

3.Описание классов

Класс logarithm

class logarithm

{

float osn; //основание логарифма

float number; //число логарифма

float rez; //результат логарифма

float Calculate(); //функция вычисления логарифма, вызывается при любом изменении его параметров

public:

logarithm(); //конструктор без параметров

logarithm(float OSN, float NUMBER); //конструктор с параметрами

logarithm(const logarithm &op1); //конструктор копирования

void SetOsn(float OSN); //функция установки основания

void SetNumber(float NUMBER); //функция установки числа

float GetRezult(); //функция получения результата

float GetOsn(); //функция получения основания

float GetNumber(); //функция получения числа

void Print(); //вывод на экран логарифма в виде строки с результатом

float operator +(logarithm&); //перегруженные операции над логарифмами

float operator -(logarithm&);

float operator *(logarithm&);

float operator /(logarithm&);

float operator ^(float st); //возведение в степень

};

Класс calc

class calc

{

char* acop; //список допустимых операций

char operation; //знак операции

float rezult; //результат расчета операций над логарфмами

float st; //показатель степени логарифма для оператора 1

public:

logarithm op1; //первый оператор

logarithm op2; //второй оператор

calc(); //конструктор без параметров

calc(logarithm OP1,logarithm OP2,char OPERATION);//конструктор с параметрами

void Calculate(); //процедура расчета операций над логарифмами

void InputLog(int i); //диалог ввода операторов

float GetSt(); //получить показатель степени

float GetRezult(); //получить результат операции

char GetOperation(); //получить знак операции

bool SetOperation(char OPERATION); //установить знак операции

void ChangeOsn(float OSN); //процедура перехода логарифма к другому основанию

void Print(); //вывод на экран операторов и результата операции

};

Класс dialog

class dialog

{

calc c; //переменная типа калькулятор

void WriteLog(int i); //процедура записи в лог-файл

void ReadLog(); //процедура чтения из лог-файла

public:

bool menu(); //процедура вывода меню для диалога с пользователем

};