Им
35
ЮРИНСКИЙ Артём Александрович
Забайкальский край, г. Чита
ГОУ «Забайкальский краевой лицей-интернат», 7 класс
Научный руководитель: Иванова Юлия Владимировна, Забайкальский край, г. Чита, ГОУ «ЗабКЛИ», учитель информатики
РАЗРАБОТКА ПРОГРАММЫ «СЕМЕЙНЫЕ ФИНАНСЫ» НА ЯЗЫКЕ C++
Общество чаще всего не замечает, насколько глубоко программирование проникло в сферы обработки информации. Чтобы создать сложное приложение на С++, нужно собрать в одну программу множество файлов исходного кода, написанных программистом.

Чаще всего расписывание денежных доходов и расходов семьи, составляется за месячный срок в виде таблицы Microsoft Excel или записывается в обычную тетрадку. В таблице можно быстро делать различные операции со строками и задать функцию для подсчета суммы. Для введения более профессиональных средствах для планирования семейного бюджета были изучены варианты специальных программ для ведения семейного бюджета, их преимущества и недостатки и было принято решение создать собственную программу.

Для программирования на Windows наиболее популярной средой разработки, если говорить о языке программирования C++, является среда разработки Visual Studio. В данном проекте использовался Visual Studio, который был установлен на компьютер перед проведением проектной деятельности.

Для осуществления настройки проекта был продуман алгоритм работы программы.

Начальным этапом настройки проекта было написание небольшого кода для запуска формы. В нем сначала объявляется соединение с другими формами через #include. Далее создается функция, отвечающая именно за запуск программы. В функции указывается русская локализация и запуск формы через Application::Run(…) функция для запуска программы:
#include "Finance.h"
#include"Finance_2.h"
using namespace System;
using namespace System::Windows::Forms;
[STAThreadAttribute]
int main (cli::array<String^>^ args) {
        setlocale (LC_ALL, "RU");
        Application::SetCompatibleTextRenderingDefault (false);
        Application::EnableVisualStyles ();
        ProgramSchool::Finance Finance;
        Application::Run (% Finance);
}

После этого были добавлены элементы на форму, а именно два текстовых поля для вывода данных, три кнопки: для обновления формы, а также для добавления расходов и доходов.
Ввод логина и пароля осуществляется через TextBox и функцию perform_btn_Click на Finance.h 1 форма.

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

В интерфейсе программы после указания верного логина и пароля открывается окно, разделенное на графы «Доходы» и «Расходы», созданные с помощью RichTextBox и текстовых файлов. В каждую из этих граф можно добавить суммы и категории с помощью соответствующих кнопок. Для добавления расходов и доходов используются другие формы, а именно Finance_3.h и Finance_4.h.

Формы открываются через Функции для открытия других форм:
private: System::Void Income__btn_Click (System::Object^ sender, System::EventArgs^ e) {
        Finance_3^ f3 = gcnew Finance_3();
        f3->Show ();
        //Finance_2::Close();
}
private: System::Void Expenses_btn_Click (System::Object^ sender, System::EventArgs^ e) {
        Finance_4^ f4 = gcnew Finance_4 ();
        f4->Show ();
        //Finance_2::Hide ();
}

С помощью форм происходит запись данных в текстовые файлы, которые потом используются в таблицах. Данные из текстовых файлов в таблицы попадают через функцию LoadFile:
private: System::Void Finance_2_Load (System::Object^ sender, System::EventArgs^ e) {
        rTB_income->LoadFile ("D:\\Income.txt", RichTextBoxStreamType::PlainText);
        rTB_expen->LoadFile ("D:\\Expenses.txt", RichTextBoxStreamType::PlainText);
}

Для обновления таблиц используется функция btn_updateTabl_Click:
private: System::Void perform_btn_Click (System::Object^ sender, System::EventArgs^ e) {
        if (Box_login->Text == "l") {
                  if (Box_password->Text == "p") {
                           Finance_2^ f2 = gcnew Finance_2 ();
                           f2->Show ();
                           Finance::Hide ();
                  }
        }
        if (Box_login->Text != "l" || Box_password->Text != "p") {
                  MessageBox::Show ("Неверный логин или пароль", "Error", MessageBoxButtons::OK, MessageBoxIcon::Error);
                  Box_password->Clear ();
        }
}

В форме администрирования данной программы есть некоторые отличительные черты. Это возможность добавления категорий и подкатегорий для удобства вводимых пользователем данных и возможность обновления таблиц с помощью соответствующей кнопки, для чего также использована Функция обновления таблиц:
private: System::Void btn_updateTabl_Click (System::Object^ sender, System::EventArgs^ e) {
        Finance_2^ f2 = gcnew Finance_2();
        f2->Show ();
        Finance_2::Close ();
}

У программы реализован следующий функционал: создание и подсчет сумм, визуальное представление доходов и расходов.
МГТУ им. Н.Э. Баумана, Учебно-лабораторный корпус, Рубцовская набережная, д. 2/18, холл 3 этажа
МГТУ им. Н.Э. Баумана Учебно-лабораторный корпус
Место проведения выставки:
Расписание работы выставки:
Награждение:
Награждение:
20 октября, вторник
10:00 - 13:00 (Мск) - оформление стендов
14:00 - 17:00 (Мск) - оценка проектов, посещение выставки
21 октября, среда
14:00 - 16:00 (Мск)
Хотите посетить выставку Соревнования "Шаг в будущее, Юниор"?
Все участники Соревнования "Шаг в будущее, Юниор" и их сопровождающие могут посетить выставку без предварительной записи.
Остальным желающим необходимо прислать заявку на почту sitfp@bk.ru, указав список посетителей, их место работы или учебы.