0 / 0 / 0
Регистрация: 01.11.2015
Сообщений: 62

ООП "Класс калькулятор - дата"

27.03.2016, 14:15. Показов 1795. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день.
Есть такая задачка: Разработать класс калькулятор(с формой) выполняющий операции например:
1) дата1-дата2 = количество дней, недель,месяцев.
2) дата1-месяц=дата2
3) дата1-недель=дата2
и так дале.

Как лучше такие операции организовать на форме?
Сделать для каждого меню и форму или можно как-то проще и компактней?
Спасибо!
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
27.03.2016, 14:15
Ответы с готовыми решениями:

ООП. Определить класс Дата
Определить класс Дата (Date), в котором производится ввод календарной даты, определение соответствующего дате дня недели, прибавление к...

Как преобразовать обычный калькулятор в калькулятор использующий класс стек?
#include <iostream> int main(){ int a = 0; int b = 0; char operation; std::cout << "Enter first number: "; ...

ООП калькулятор
Начал изучать ООП, задание сделать класс с названием Int, в котором будет спрашиваться, хотите ли вы ввести значения для i1, i2, если нет...

5
125 / 117 / 67
Регистрация: 07.11.2014
Сообщений: 788
27.03.2016, 14:51
Viktor10, недавно была такая олимпиадная задача. Не вижу ничего сложного, кроме как немного подумать над алгоритмом с високосными годами. Объемная будет программа, хотя бы попытайтесь, если что исправим
0
0 / 0 / 0
Регистрация: 01.11.2015
Сообщений: 62
27.03.2016, 18:31  [ТС]
Я хотел спросить про то,как организовать все эти операции, которые описал. Под них придется(для каждой операции) делать пункт в меню?
0
125 / 117 / 67
Регистрация: 07.11.2014
Сообщений: 788
28.03.2016, 08:49
Viktor10, в классе должно быть 3 функции: Days(char *date1, char *date2); Date2(char *date1, char *month); Date2m(char *date1, char *week);
Можете еще третью переменную приписать в функцию для вывода результата через эту строку.
Насчет меню, кажется да, будете использовать switch,case. 1 - Days, 2 - Date2, 3 - Date2m и т.д..
Если нужно все сразу вывести - не надо меню.
0
0 / 0 / 0
Регистрация: 01.11.2015
Сообщений: 62
02.04.2016, 13:51  [ТС]
Aymurat, я тут начал описывать класс..и при компиляции возникают ошибки, не понимает тип Date.
file main.cpp
C++
1
2
3
4
5
6
7
8
9
10
11
#include "date.h"
#include "calc.h"
#include <iostream>
#include <string>
using namespace std;
void main()
{
 
cout<<"a:";
system ("pause");
}
file calc.h
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include "date.h"
#include <string>
#include <iostream>
using namespace std;
//описание класса калькул€тор
class Calc
{
    Date op1; // операнд1
    Date op2; // операнд 2
    Date res; // результат
    int znak; // znak operazii
    int form; // forma vivoda rezultata
public:
    Calc();
    void set_op1(Date); // модификатор объекта1
    void set_op2(Date); //  модификатор объекта2
    //Date get_res(); // селектор дл€ получени€ результата
    void set_znak(int); // модификатор знака операции
    void set_form(int); // модикатор дл€ вывода формы
    void execute(); // вычисление результата
};
file date.h
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
using namespace std;
class date
{
char *date_string;// строка дл€ хранени€ даты в виде дд.мм.гггг
int days;// количество дней в дате дл€ расчетов
public:
date();// конструктор
date(const date&);//конструктор копировани€
~date();// деструктор
//инициализаци€ даты : заполн€ем атрибут date_string
//количество дней в дате, затем заполн€ем атрибут days
void init(char*);
// вспомогательна€ функци€, котора€ по колчиеству дней формирует
//строка в виде дд.мм.гггг
void days_to_string();
//вспомогательна€ функци€ дл€ расчета дней в дате
void string_to_days();
//перегруженна€ функци€ дл€ сложение двух дат
date operator+(date&);
//перегруженна€ функци€ дл€ вычитани€ двух дат
date operator-(date&);
//перегруженна€ функци€ дл€ присваив.
date& operator=(const date&);
//глобальные операторы-функции ввода-вывода
//friend istream& operator>>(istream&in,date&d);
//friend ostream& operator<<(ostream&out,const date&d);
};
файлы calc.cpp и date.cpp созданы, по пока пустые.

есть сам проект,во влож.
Вложения
Тип файла: zip class_calc.zip (2.23 Мб, 7 просмотров)
0
 Аватар для Stitch Igorek
47 / 47 / 31
Регистрация: 02.04.2016
Сообщений: 312
02.04.2016, 13:56
ну если Date op1 - это экземпляр твоего класса - то ошибки в регистре(Date и date - это разные названия)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
02.04.2016, 13:56
Помогаю со студенческими работами здесь

Создать базовый класс Car (машина) и производный класс Lorry (грузовик): ООП ошибки
Создать базовый класс Car (машина), характеризуемый торговой маркой (строка), числом цилиндров, мощностью. Определить методы переназначения...

Переделать строчный калькулятор через ООП
Друзья, имею отличный строчный калькулятор, сделанный через процедурное программирование. #define _CRT_SECURE_NO_WARNINGS ...

Класс Дата
С++ Помогите, пожалуйста. Нужно Создать класс с полями, указанными в индивидуальном задании. Реализовать в классе методы: -...

класс Дата
Здравствуйте, помогите решить задачу : Создайте класс с именем Date, приватные переменные: год, месяц, день типа int и открытые функции...

Класс Дата
Создать класс с полями, указанными в индивидуальном задании. Реализовать в классе методы: - конструктор по умолчанию; - конструктор...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

Новые блоги и статьи
Blazor и контроллер сервопривода IoT Meadow Maple
Wired 11.07.2025
Я решил разобраться, как можно соединить современные веб-технологии с миром "железа". Интересная комбинация получилась из Blazor в качестве веб-интерфейса и микроконтроллера Meadow с его веб-сервером. . .
Генерация OpenQASM из кода Q#
EggHead 10.07.2025
Летом 2024-го я начал эксперименты с библиотекой Q# Bridge, и знаете что? Она оказалась просто находкой для тех, кто работает на стыке разных квантовых экосистем. Основная фишка этой библиотеки -. . .
Изучаем новый шаблон ИИ-чата .NET AI Chat Web App
stackOverflow 10.07.2025
В . NET появилось интересное обновление - новый шаблон ИИ-чата под названием . NET AI Chat Web App. Когда я впервые наткнулся на анонс этого шаблона, то сразу понял, что Microsoft наконец-то. . .
Результаты исследования от команды ARP (июль 2025 г.)
Programma_Boinc 10.07.2025
Результаты исследования от команды ARP (июль 2025 г. ) Африканский проект по дождям (ARP) World Community Grid снова запущен! Мы рады поделиться обновленной информацией о нашем прогрессе с осени. . .
Angular vs Svelte - что лучше?
Reangularity 09.07.2025
Сегодня рынок разделился на несколько четких категорий: тяжеловесы корпоративного уровня (Angular), гибкие универсалы (React), прогрессивные решения (Vue) и новая волна компилируемых фреймворков. . .
Code First и Database First в Entity Framework
UnmanagedCoder 09.07.2025
Entity Framework дает нам свободу выбора, предлагая как Code First, так и Database First подходы. Но эта свобода порождает вечный вопрос — какой подход выбрать? Entity Framework — это. . .
Как использовать Bluetooth-модуль HC-05 с Arduino
Wired 08.07.2025
Bluetooth - это технология, созданная чтобы заменить кабельные соединения. Обычно ее используют для связи небольших устройств: мобильных телефонов, ноутбуков, наушников и т. д. Работает она на частоте. . .
Руководство по структурам данных Python
AI_Generated 08.07.2025
Я отчетливо помню свои первые серьезные проекты на Python - я писал код, он работал, заказчики были относительно довольны. Но однажды мой наставник, взглянув на мою реализацию поиска по огромному. . .
Тестирование энергоэффективности и скорости вычислений видеокарт в BOINC проектах
Programma_Boinc 08.07.2025
Тестирование энергоэффективности и скорости вычислений видеокарт в BOINC проектах Опубликовано: 07. 07. 2025 Рубрика: Uncategorized Автор: AlexA Статья размещается на сайте с разрешения. . .
Раскрываем внутренние механики Android с помощью контекста и манифеста
mobDevWorks 07.07.2025
Каждый Android-разработчик сталкивается с Context и манифестом буквально в первый день работы. Но много ли мы задумываемся о том, что скрывается за этими обыденными элементами? Я, честно говоря,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru