Консольное приложение создания управления жилищным коммунальным хозяйством
Разработка консольного приложения на языке 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
...Подобные документы
Общие сведения о работе программы в среде программирования Microsoft Visual Studio 2008, на языке программирования C++. Ее функциональное назначение. Инсталляция и выполнение программы. Разработанные меню и интерфейсы. Алгоритм программного обеспечения.
курсовая работа [585,5 K], добавлен 24.03.2009Объектно-ориентированная технология создания программ. Среда разработки Visual Studio.NET. Особенности среды Microsoft Visual Studio 2010. Приложения C# для расчетов по формулам, консольный ввод-вывод. Форматирование значений данных. Программы с циклами.
методичка [2,1 M], добавлен 11.09.2014Разработка программного продукта, предназначенного для тестирования знаний пользователя по теме "Тепловые двигатели" нa языкe C++ в среде Micrоsоft Visual Studio с использовaниeм библиотeки MFC. Функциональное назначение созданного Windows-приложения.
курсовая работа [954,4 K], добавлен 25.06.2011Исследование теоретических аспектов разработки программы посредством использования Visual Basic. Анализ достоинств и недостатков данного языка программирования. Изучение особенностей создания интерфейса приложения. Основные этапы реализации программы.
практическая работа [460,6 K], добавлен 22.01.2013Изучение особенностей проектирования прикладных программ с помощь средств Visual Studio 2010 на языке C#. Расчет конического соединения, конусного градиента, усилия для разрыва соединения и требуемой силы сжатия. Реализация и тестирование программы.
курсовая работа [1,7 M], добавлен 19.02.2013Создание приложения Windows Forms в среде Microsoft Visual Studio 2008. Разработка программы "Курсовой" для организации работы по учёту курсовых работ в учебных заведениях с возможностью добавления, удаления, редактирования и поиска информации.
курсовая работа [2,2 M], добавлен 28.06.2011Разработка и освоение в современном производстве информационной подсистемы. Создание базы данных в среде MS SQL Server 2008 и приложения в среде MS Visual Studio 2012. Процесс ввода при выборе пунктов меню. Заполнение формы с критериями на фильтрацию.
отчет по практике [834,4 K], добавлен 27.11.2013Создание программы, реализующей игру "Линии". Среда разработки программы, описание ее общего вида. Основные алгоритмы программы. Реализация программы в среде разработки Microsoft Visual Studio 2008 на языке объектно-ориентированного программирования С++.
курсовая работа [639,0 K], добавлен 16.03.2012Разработка в среде Delphi приложения "Записная книжка" для ввода и корректировки информации, поиска данных. Выбор состава технических и программных средств. Текст программы, ее описание и тестирование. Основные условия программы, требования к компьютеру.
курсовая работа [565,7 K], добавлен 08.12.2011Обзор существующего программного обеспечения. Структура и отличительные особенности формата MP3. Сокеты TCP/IP, клиент-сервер. Язык программирования Visual Basic.net в среде разработки Visual Studio 2008. Разработка приложения "MP3_Catalogizator".
дипломная работа [2,1 M], добавлен 09.02.2015Теоретические основы разработки Windows-приложений с использованием библиотеки MFC. Создание приложения с помощью Visual C++. Описание логической структуры приложения. Установка и запуск программы. Входные и выходные данные. Преимущество MFC библиотек.
курсовая работа [563,2 K], добавлен 21.06.2011Технология создания многопоточных приложений в современных системах программирования с использованием языка C# в Visual Studio.NET. Разработка алгоритма и структуры программы. Описание и особенности тестирования приложения с разным количеством потоков.
курсовая работа [773,0 K], добавлен 14.03.2013Визуальное проектирование и событийное программирование. Повышение производительности программиста при использовании RAD-систем. Составление алгоритмов, разработка приложения для решения прикладных задач на примере консольных приложений C++ Builder 6.
курсовая работа [258,7 K], добавлен 30.10.2013Создание приложения на языке программирования Visual C++ с использованием библиотеки MFC на тему "Тестирование по разделу "Законы механики Ньютона". Описание логической структуры программы, тестовых прогонов. Требования к техническому обеспечению.
курсовая работа [2,2 M], добавлен 29.06.2011Технология разработки и тестирования программного обеспечения в среде Visual Studio на примере создания программы моделирования систем массового обслуживания. Аналитические и имитационные методы моделирования с разными дисциплинами обслуживания заявок.
дипломная работа [1,1 M], добавлен 09.09.2012Требования к MS Office 2007. Набор средств разработки Visual Studio Tools for Office как альтернатива VBA. Разработка СУБД на базе MS Access. Разработка надстройки "Электронные компоненты" для PowerPoint на языке C# в среде MS Visual Studio 2010.
дипломная работа [5,2 M], добавлен 03.05.2013Изучение методов разработки приложений в среде визуального программирования Visual Studio. Создание программы, реализующей заказ железнодорожных билетов. Язык SQL-запросов в системе управления базами данных MS Access. Тестирование созданной программы.
курсовая работа [1,0 M], добавлен 03.07.2016Создание тестовой программы на определение доминирующего полушария мозга у человека с применением наиболее распространенного языка Visual Basic for Applications. Выбор технических и программных средств. Интерфейс программы, ее тестирование и листинг.
курсовая работа [222,5 K], добавлен 08.01.2015Средства интегрированной среды Microsoft Visual Studio, предоставляемые программисту для реализации программ на языке С++. Особенности стиля написания программ. Типовые приемы и методы создания и отладки программ. Листинги программ и их тестирование.
лабораторная работа [814,3 K], добавлен 26.05.2013Разработка алгоритма и программы "Расчет стыкового паяного соединения" в среде Microsoft Visual Studio для облегчения расчётов сварных швов. Создание главной формы приложения и его кодирование для расчёта углового шва. Тестирование программы на ошибки.
курсовая работа [1,5 M], добавлен 06.02.2013