Консольное приложение создания управления жилищным коммунальным хозяйством

Разработка консольного приложения на языке C++ в среде разработки Visual Studio. Режимы учета начисления коммунальных платежей. Тестирование программы, атрибуты для хранения различной информации о клиентах и домах. Методы, реализующие функции программы.

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 01.06.2017
Размер файла 369,8 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Введение

Уровень обеспечения населения жилищно-коммунальными услугами (ЖКУ) - один из самых важных показателей качества жизни на территории муниципального образования. Управление жилищно-коммунальным комплексом относится в основном к компетенции поселений. На муниципальные районы возложены межпоселенческие функции: организация электро- и газоснабжения в границах муниципального района, содержание и строительство автомобильных дорог общего пользования между населенными пунктами муниципального района с соответствующими инженерными сооружениями, организация утилизации и переработки бытовых и промышленных отходов, содержание межпоселенческих мест захоронения и оказание ритуальных услуг.

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

На современном этапе развития с учетом потенциала отдельных подотраслей ЖКК, типологии предоставляемых частных и общественных услуг, степени конкурентных отношений, наличия различных форм собственности на имущество, особенностей экономических механизмов функционирования предприятий, следует рассматривать в качестве отдельных сфер жилищное хозяйство и коммунальный комплекс, имеющие различные системы управления и принципы их реформирования.

В состав жилищного хозяйства входят жилые и нежилые здания с сетью эксплуатирующих и обслуживающих их предприятий и организаций. Коммунальный комплекс включает в себя системы инженерного обеспечения поселений (электроэнергия, тепло-, газо-, водоснабжение и водоотведение) и общегородское коммунальное хозяйство (дороги, благоустройство и озеленение территории, вывоз и переработка бытовых отходов и ряд других хозяйств).

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

Однако внедрение эффективных форм и методов управления осложняется специфическими особенностями трансформации собственности, экономических отношений и хозяйственного механизма функционирования предприятий ЖКК, усугубляемыми социально-экономической ситуацией в различных регионах.

Актуальность проблемы

Актуальность рассмотрения темы курсовой работы «ЖКХ» состоит в том, что без преувеличения можно сказать, что жилищно-коммунальное хозяйство является одной из важнейших сфер жизнедеятельности каждого человека. Каждый день, знает об этом человек или нет, его «житие-бытие» регулируется нормами жилищного законодательства. И от того, какие это нормы, каково их наполнение и содержание, в значительной степени зависит его жизнь.

Цели

Разработать на языке C++ в среде разработки Visual Studio консольное приложение создания управления жилищным коммунальным хозяйством, в функции которой будет входить:

· режимы учета начисления коммунальных платежей за текущий месяц, год;

· курирования оплат(учет задолженностей);

· учета выполненных ремонтных жилых домов;

Задачи

1. Найти и изучить литературу по заданной теме.

2. Исследовать и изучить основы языка C++.

3. Разработать приложение создания управления жилищным коммунальным хозяйством.

4. Сделать выводы по курсовой работе.

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

Описание задачи

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

· добавление/удаление новых клиентов;

· начисление коммунальных платежей за месяц;

· начисление коммунальных платежей за год;

· показывает сколько всего денег в системе;

· список должников не оплативших за текущий месяц;

· список должников не оплативших за текущий год;

· список отремонтированных домов;

Финансовая составляющая

В финансовую составляющую данной курсовой работы можно отнести взаимодействие приложения с начислением коммунальных платежей.

Проекты

Инструментарий для выполнения поставленной задачи

В качестве среды разработки программы выбрана Microsoft Visual Studio 2010 Express. Она относительна проста в освоении, и имеется русифицированная версия.

Описание функционала

Запуск программы. Приложение предлагает ввести количество клиентов, которых будем обслуживать

Добавление нового клиента. Если при запуске программы не учли какого либо из клиентов, это можно сделать в процессе работы программы.

Начисление коммунального платежа за месяц/год. Приложение просит вас ввести имя клиента, которому хотите начислить платеж. Если клиент найден в базе, то платеж начисляется, и клиент удаляется из базы должников.

Вывод количества денег в системе. Приложение считает все платежи внесенные за месяц и год, и выводит на экран количество денег в системе..

Обновление базы о отремонтированных домах. Вводите улицу и номер дома, который уже отремонтировали и база обновляется.

Разработка программы

Решение поставленных задач

Найти и изучить литературу по заданной теме. Проведя поиск и анализ литературы на тему жилищного коммунального хозяйства я узнал все составляющие современной системы.

Исследовать и изучить основы языка C++. Для изучения языка я выбрала книгу «Герберт Шилдт | С++ Базовый курс (3-е издание) /C++ from the Ground Up (Third Edition)». По отзывам в интернете эта книга очень популярна в рекомендациях новичкам. Мною прочитаны и изучены следующие разделы: из истории создания C++, обзор элементов языка C++, основные типы данных, массивы и строки, указатели, функции, часть первая: основы, функции, часть вторая: ссылки, перегрузка и использование аргументов по умолчанию

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

Фрагменты кода

Объявление атрибутов класса Ggkh:

public:

int all_money;

int PAY_FOR_MONTH;

int PAY_FOR_YEAR;

string peoples[99];

int pay_array_month[99];

int pay_array_year[99];

int count_people;

int count_home;

string homes[99];

string repair_home[99];

Конструктор класса Ggkh:

Ggkh(){

all_money = 0;

PAY_FOR_MONTH = 1500;

PAY_FOR_YEAR = 10000;

cout<<"Введите количество клиентов:"<<endl;

cin>>count_people;

for(int i = 0; i < count_people; i++){

cout<<"Введите имя "<<(i+1)<<" клиента:"<<endl;

cin>>peoples[i];

}

cout<<"Введите количество домов, которые нужно отремонтировать:"<<endl;

cin>>count_home;

for(int i = 0; i < count_home; i++){

cout<<"Введите улицу и номер дома:"<<endl;

cin>>homes[i];

}

}

Создание экзмпляра класса в методе main:

int main() {

setlocale(0,"rus");

Ggkh obj;

obj.addPeople();

obj.addPayforMonth();

obj.addPayforYear();

obj.showAllMoney();

obj.showDebt();

obj.repairHome();

obj.showListRepairHome();

system("PAUSE");

return EXIT_SUCCESS;

}

Скриншоты реализации

После запуска программы в консоли, нас просят ввести количество клиентов, которых будем обслуживать (рис. 1).

Рис. 1 - Ввод количества клиентов

Далее программа попросит ввести имена клиентов (рис. 2)

Рис. 2 - Ввод имен клиентов

Далее вводим количество домов, которые будем обслуживать, и сразу же их имена (рис. 3).

Рис. 3 - Добавление информации о домах

консольный приложение коммунальный платеж

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

Основная логика программы содержится в классе Ggkh, все атрибуты и методы, реализующие функции программы. Наследование не использовалось. Структура класса представлена на рис. 4.

Рис. 4 - Структура класса Ggkh

Тестирование разработанной программы

Чтобы провести тестирование программы следует найти уязвимые места программы. Такими местами являются просьбы ввести количество клиентов, количество домов и прочее. Программа не проверяет введённые значения, поэтому если ввести вместо цифры строку, то программа ведет себя не предсказуем. Например, при просьбе программы ввести количество клиентов введем не число, а любое строковое значение (рис. 5).

Рис. 5 - Тестирование программы

После ввода такого значения программа «зависает» (рис. 6)

Рис. 6 - «Не правильное» поведение программы

Таким образом я провел тестирование программы. Чтобы избежать в дальнейшем таких ошибок нужно проверять значения на «число».

Заключение

В данной курсовой работе я изучил систему жилищного коммунального хозяйства российской федерации. Изучил основы языка C++, создав консольное приложение эмуляции работы жилищного коммунального хозяйства. Провел тестирование программного обеспечения и выявил изъяны в по. Приведены комментарии по устранению данных изъянов.

Приложение

#include <iostream>

#include <string>

using namespace std;

class Ggkh {

public:

//Объявление переменных

//Переменная содержит в себе количество денег в системе

int all_money;

//Месячная норма коммунального платежа

int PAY_FOR_MONTH;

//Годовалая норма коммунального платежа

int PAY_FOR_YEAR;

//Массив клиентов

string peoples[99];

//Массив платежей за месяц

int pay_array_month[99];

//Массив платежей за год

int pay_array_year[99];

//Количество клиентов

int count_people;

//Количество домов

int count_home;

//Массив домов

string homes[99];

//Массив отремантированных омов

string repair_home[99];

//Конструктор

Ggkh(){

//Инициализация переменных

all_money = 0;

PAY_FOR_MONTH = 1500;

PAY_FOR_YEAR = 10000;

cout<<"Введите количество клиентов:"<<endl;

cin>>count_people;

for(int i = 0; i < count_people; i++){

cout<<"Введите имя "<<(i+1)<<" клиента:"<<endl;

cin>>peoples[i];

}

cout<<"Введите количество домов, которые нужно отремонтировать:"<<endl;

cin>>count_home;

for(int i = 0; i < count_home; i++){

cout<<"Введите улицу и номер дома:"<<endl;

cin>>homes[i];

}

}

//Метод добавления клиента

void addPeople(){

cout<<"Добавить нового клиента. Введите имя"<<endl;

cin>>peoples[count_people++];

}

//Метод осуществления коммунального платежа за месяц

void addPayforMonth(){

cout<<"Введите имя клиента, которому начислить комунальный платеж за месяц:"<<endl;

string temp_name;

cin>>temp_name;

for(int i = 0; i < count_people; i++){

if(temp_name == peoples[i]){

pay_array_month[i] = PAY_FOR_MONTH;

//pay_array_year[i] = PAY_FOR_YEAR;

all_money += PAY_FOR_MONTH;

cout<<"Коммунальный платеж зачислен клиенту = "<<peoples[i]<<" !"<<endl;

return;

}

}

cout<<"Клиент с фамилией "<<temp_name<<" не найден"<<endl;

}

//Метод осуществления коммунального платежа за год

void addPayforYear(){

cout<<"Введите имя клиента, которому начислить комунальный платеж за год:"<<endl;

string temp_name;

cin>>temp_name;

for(int i = 0; i < count_people; i++){

if(temp_name == peoples[i]){

pay_array_year[i] = PAY_FOR_YEAR;

pay_array_month[i] = PAY_FOR_MONTH;

all_money += PAY_FOR_YEAR;

cout<<"Коммунальный платеж зачислен клиенту = "<<peoples[i]<<" !"<<endl;

return;

}

}

cout<<"Клиент с фамилией "<<temp_name<<" не найден"<<endl;

}

//Метод вывоит общее количество денег в системе

void showAllMoney(){

cout<<"Всего денег в системе = "<<all_money<<endl;

}

//Методы выводит список должников за месяц и год

void showDebt(){

cout<<"Список должников, те кто не заплатили в данном месяце:"<<endl;

for(int i = 0; i < count_people; i++){

if(pay_array_month[i] != 1500){

cout<<peoples[i]<<" не заплатил за месяц"<<endl;

}

}

cout<<"Список должников, те кто не заплатили за текущий год:"<<endl;

for(int i = 0; i < count_people; i++){

if(pay_array_year[i] != 10000){

cout<<peoples[i]<<" не заплатил за год"<<endl;

}

}

}

//Метод добавленя отремонтированных домов

void repairHome(){

cout<<"Введите улицу и номер дома, который уже отремонтировали:"<<endl;

string temp_home;

cin>>temp_home;

for(int i = 0; i < count_home; i++){

if(temp_home == homes[i]) {

repair_home[i] = homes[i];

cout<<"Дом добавлен в базу отремонтированных"<<endl;

return;

}

}

cout<<"Ошибка. Дом не найден в списке"<<endl;

}

//Метод выводит список отремонтированных домов

void showListRepairHome(){

cout<<"Список домов, которые уже отремонтированы:"<<endl;

for(int i = 0; i < count_home; i++){

if(repair_home[i] != ""){

cout<<repair_home[i]<<endl;

}

}

}

};

int main() {

setlocale(0,"rus");

//Создаем объект класса Ggkh

Ggkh obj;

//Вызов функций

obj.addPeople();

obj.addPayforMonth();

obj.addPayforYear();

obj.showAllMoney();

obj.showDebt();

obj.repairHome();

obj.showListRepairHome();

system("PAUSE");

return EXIT_SUCCESS;

}

Список используемых источников

1. М. Эллис, Б. Строуструп. Справочное руководство по языку C++ с комментариями: Пер. с англ. - Москва: Мир, 1992. 445с.

2. Стенли Б. Липпман. C++ для начинающих: Пер. с англ. 2тт. - Москва: Унитех; Рязань: Гэлион, 1992, 304-345сс.

3. Бруно Бабэ. Просто и ясно о Borland C++: Пер. с англ. - Москва: БИНОМ, 1994. 400с.

4. В.В. Подбельский. Язык C++: Учебное пособие. - Москва: Финансы и статистика, 1995. 560с.

5. Ирэ Пол. Объектно-ориентированное программирование с использованием C++: Пер. с англ. - Киев: НИИПФ ДиаСофт Лтд, 1995. 480с.

6. Т. Фейсон. Объектно-ориентированное программирование на Borland C++ 4.5: Пер. с англ. - Киев: Диалектика, 1996. 544с.

7. Т. Сван. Освоение Borland C++ 4.5: Пер. с англ. - Киев: Диалектика, 1996. 544с.

8. Г. Шилдт. Самоучитель C++: Пер. с англ. - Санкт-Петербург: BHV-Санкт-Петербург, 1998. 620с.

9. У. Сэвитч. C++ в примерах: Пер. с англ. - Москва: ЭКОМ, 1997. 736с.

10. К. Джамса. Учимся программировать на языке C++: Пер. с англ. - Москва: Мир, 1997. 320с.

11. В.А. Скляров. Язык C++ и объектно-ориентированное программирование: Справочное издание. - Минск: Вышэйшая школа, 1997. 480с.

12. Х. Дейтел, П. Дейтел. Как программировать на C++: Пер. с англ. - Москва: ЗАО "Издательство БИНОМ", 1998. 1024с.

Размещено на Allbest.ru

...

Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.