Разработка классов C , программно реализующих функциональность терминала оплаты услуг связи / телевидения / интернет/ЖКХ - Курсовая работа

бесплатно 0
4.5 222
Построение абстрактной модели. Структура базового класса System_Term: формальное описание класса, структура данных и функций, инструкция программиста и пользователя. Структура базовых классов mobile, Home, TV, Internet, их составные части и функционал.


Аннотация к работе
программист пользователь модель абстрактный Основополагающей идеей одного из современных подходов к программированию - объектно-ориентированному - является объединение данных и обрабатывающих их процедур в единое целое - объекты. Объектно-ориентированное программирование - это методология программирования, которая основана на представлении программы в виде совокупности объектов, каждый из которых является реализацией определенного класса (типа особого вида), а классы образуют иерархию, основанную на принципах наследуемости. Несмотря на то что в различных источниках делается акцент на те или иные особенности внедрения и применения ООП, три основных (базовых) понятия ООП остаются неизменными. Наследование позволяет использовать разработанные ранее классы, что обеспечивает существенное сокращение процесса разработки программных модулей. В отличие от него объектно-ориентированный подход оставляет за объектом право решать, как отреагировать и что сделать в ответ на поступивший вызов. С - расширение С - был разработан Бьерном Страуструпом в начале 80-х годов в Bell Laboratories. C обеспечивает ряд свойств, которые «приводят в порядок» язык С, но, что более важно, он обеспечивает возможность объектно-ориентированного программирования. В данном курсовом проекте мною был реализован терминал оплаты услуг связи, интернета, телевидения и ЖКХ. Далее перечислены основные функции, которые будет реализовывать построенная модель: - приём купюр; - проверка соответствия номеров лицевого счета, номеров телефона или квитанции; - регистрация новых лицевых счетов; - пополнение и изменение баланса; - вывод баланса на экран; - эмулятор чека; - сохранение и обновление информации в базе после каждой операции; - функции безопасности: Функцию сохраняемости я обеспечила, путем создания простейшей базы данных. В программе реализованы следующие классы: - класс формы; - класс «Система» (содержит основные функции терминала, является абстрактным, имеет одну чистую виртуальную функцию, свойственную всем дочерним классам); - класс «Интернет» (отнаследован от класса «Система», содержит в себе определённую виртуальную функцию); - класс «Связь» (отнаследован от класса «Система», содержит в себе определённую виртуальную функцию); - класс «Телевидение» (отнаследован от класса «Система», содержит в себе определённую виртуальную функцию). #include #pragma once using namespace std; class System_Term { public: System_Term(void); // конструктор класса virtual ~System_Term(); // виртуальный деструктор string getname(); // вернуть значение поля имя void setname (string newname); // получить значение поля имя int getamount(); // вернуть значение поля баланс void setamount (int value); // получить значение поля баланс int getid(); // вернуть значение поля номер void setid (int value); // получить значение поля номер unsigned int setdata (char *filename, int newid); // зарегистрировать новую учетную запись void check_balance (char *filename, int id_check); // проверка баланса unsigned int change_balance (char *filename, int id_check, int new_balance); // изменение баланса virtual unsigned int pay (char *filename, int id_pay, int balance_pay, string name_pay) = 0; // функция оплаты protected: int balance; int id; string name; }; Ниже представлена реализация методов класса System_Term из файла System_T.cpp #include «stdafx.h» #include «System.h» #include «Form1.h» #include #include #include using namespace std; using namespace Kurs; // конструктор класса System_Term: System_Term(void) { balance = 0; id = 0; }; // деструктор класса System_Term:~System_Term(void) { }; // функция возврата значения поля имя string System_Term:getname() { return name; }; // функция возврата получения поля имя void System_Term:setname (string newname) { name = newname; }; // функция возврата значения поля баланс int System_Term:getamount() { return balance; }; // функция получения значения поля баланс void System_Term:setamount (int value) { balance = value; }; // функция возврата значения поля номер int System_Term:getid() { return id; }; // функция получения значения поля номер void System_Term:setid (int id_value) { id = id_value; }; // функция изменения баланса unsigned int System_Term: change_balance (char *filename, int id_check, int new_balance) { unsigned int flag = 0; int temp = 0; string str=»»; int id1 = 0; int balance1 = 0; int id2 =-1; std:ifstream file (filename, std:ios:in); while((! file.eof()) && (temp!= 1)) { file >> id; file >> balance; if (id == id_check) { temp = 1; setid(id); setamount(balance); balance = balance new_balance; file.close(); std:ifstream file2 (filename, std:ios:in); while (! file2.eof()) { file2 >> id1; if (id1 == id_check) { file2 >> balance1; balance1 = balance; } else file2 >> balance1; if (id1!= id2) str=str std:to_string(id1) » « std:to_string(balance1) »»; id2 = id1; } file2.close(); std:ofstream in (filename, ios:out | ios:trunc); in.close(); std:ofstream fileout2 (filename, std:ios:out); file
Заказать написание новой работы



Дисциплины научных работ



Хотите, перезвоним вам?