см. задание

Заказать уникальную курсовую работу
Тип работы: Курсовая работа
Предмет: Программирование
  • 83 83 страницы
  • 0 + 0 источников
  • Добавлена 09.12.2010
1 496 руб.
  • Содержание
  • Часть работы
  • Список литературы
  • Вопросы/Ответы
Оглавление
Задание
Введение
Алгоритмы и структуры данных
Описание программы
Тестирование программы
Заключение
Приложение. Листинг программы

Фрагмент для ознакомления

Gos_Number[i];

for(i = 0; i < 8; i++)
list->data1[i] = temp.data1[i];

for(i = 0; i < 8; i++)
list->data2[i] = temp.data2[i];
temp2 = list;
}
else
{
if(list->next == list)
{
list->next = new spisok;
list->next->next = list;
list->next->prev = list;
list->prev = list->next;

for(i = 0; i < 6; i++)
list->next->Number_udost[i] = 0;
list->next->Number_god[0] = 0;
list->next->Number_god[1] = 0;
for(i = 0; i < 6; i++)
list->next->Number_udost[i] = temp.Number_udost[i];
list->next->Number_god[0] = temp.Number_god[0];
list->next->Number_god[1] = temp.Number_god[1];


for(i = 0; i < 9; i++)
list->next->Gos_Number[i] = temp.Gos_Number[i];

for(i = 0; i < 8; i++)
list->next->data1[i] = temp.data1[i];

for(i = 0; i < 8; i++)
list->next->data2[i] = temp.data2[i];
temp2 = list;
}
else
{
temp2 = list->prev;
temp2->next = new spisok;
temp2->next->prev = temp2;
temp2->next->next = list;
temp2 = list->prev = temp2->next;
for(i = 0; i < 6; i++)
temp2->Number_udost[i] = 0;
temp2->Number_god[0] = 0;
temp2->Number_god[1] = 0;
for(i = 0; i < 6; i++)
temp2->Number_udost[i] = temp.Number_udost[i];
temp2->Number_god[0] = temp.Number_god[0];
temp2->Number_god[1] = temp.Number_god[1];


for(i = 0; i < 9; i++)
temp2->Gos_Number[i] = temp.Gos_Number[i];

for(i = 0; i < 8; i++)
temp2->data1[i] = temp.data1[i];

for(i = 0; i < 8; i++)
temp2->data2[i] = temp.data2[i];
}
}
return list;
};
//отправка авто на ремонт
spisok* in_repair(spisok *list, table& T)
{
int i, j, flag;
spisok temp;
string str;
for(i = 0; i < T.N; i++)
{
if(T.data[i].empty == 0)
{
if(T.data[i].flag == 1)
{
cout << "Отправить на ремонт автомобиль с гос.номером:";
for(j = 0; j < 9; j++)
cout << T.data[i].Number[j];
cout << endl;
cout <<"1-Да, 0-Нет"< cin >> j;
if(j == 1)
{
T.data[i].flag = 0;
temp.Number_udost[0] = -1;
for(j = 1; j < 6; j++)
temp.Number_udost[j] = 0;
temp.Number_god[0] = 0;
temp.Number_god[1] = 0;
for(j = 0; j < 9; j++)
temp.Gos_Number[j] = T.data[i].Number[j];
for(flag = 0; flag == 0;)
{
cout << "Введите дату отправки на ремонт (дд:мм:гг)=";
cin >> str;
for(j = 0, flag = 1; j < 8 && flag == 1; j++)
{
if(j == 2 || j == 5)
{
if(str[j] != ':')
{
cout <<"Не верная дата отправки";
flag = 0;
}
else
temp.data1[j] = str[j];
}
else
{
if(str[j] < '0' || str[j] > '9')
{
cout <<"Не верная дата отправки";
flag = 0;
}
else
temp.data1[j] = str[j];
}
}
}
temp.data2[0] = temp.data2[1] = '0';
temp.data2[3] = temp.data2[4] = '0';
temp.data2[6] = temp.data2[7] = '0';
temp.data2[2] = temp.data2[5] = ':';
list = insert(list, temp);
list = sort(list);
}
}
}
}
return list;
};
//принятие авто с ремонта
void of_repair(spisok *list, table& T)
{
int i, j, flag;
spisok* temp;
string str;
if(list != NULL)
{
if(list->Number_udost[0] == -1 && list->data2[0] == '0' && list->data2[1] == '0')
{
i = search_table_gosnumber(T, list->Gos_Number, 1);
cout << "Принять с ремонта автомобиль с гос.номером:";
for(j = 0; j < 9; j++)
cout << T.data[i].Number[j];
cout << endl;
cout <<"1-Да, 0-Нет"< cin >> j;
if(j == 1)
{
for(flag = 0; flag == 0;)
{
cout << "Введите дату принятия с ремонта (дд:мм:гг)=";
cin >> str;
for(j = 0, flag = 1; j < 8 && flag == 1; j++)
{
if(j == 2 || j == 5)
{
if(str[j] != ':')
{
cout <<"Не верная дата";
flag = 0;
}
else
list->data2[j] = str[j];
}
else
{
if(str[j] < '0' || str[j] > '9')
{
cout <<"Не верная дата";
flag = 0;
}
else
list->data2[j] = str[j];
}
}
}
T.data[i].flag = 1;
}
}
for(temp = list->next; temp != list; temp = temp->next)
{
i = search_table_gosnumber(T, temp->Gos_Number, 0);
if(temp->Number_udost[0] == -1 && temp->data2[0] == '0' && temp->data2[1] == '0')
{cout << "Принять с ремонта автомобиль с гос.номером:";
for(j = 0; j < 9; j++)
cout << T.data[i].Number[j];
cout << endl;
cout <<"1-Да, 0-Нет"< cin >> j;
if(j == 1)
{
for(flag = 0; flag == 0;)
{
cout << "Введите дату принятия с ремонта (дд:мм:гг)=";
cin >> str;
for(j = 0, flag = 1; j < 8 && flag == 1; j++)
{
if(j == 2 || j == 5)
{
if(str[j] != ':')
{
cout <<"Не верная дата";
flag = 0;
}
else
temp->data2[j] = str[j];
}
else
{
if(str[j] < '0' || str[j] > '9')
{
cout <<"Не верная дата";
flag = 0;
}
else
temp->data2[j] = str[j];
}
}
}
T.data[i].flag = 1;
}
}
}
}
};
//оформление проката
spisok* on_renting(spisok* list, table &T, derevo *tree)
{
int i, flag, k, j;
string str;
char num_gos[9];
int num_ud[6];
int num_god[2];
spisok temp;
for(flag = 1; flag == 1;)
{
cout <<"Введите номер удостоверения (NNNNNN-NN) водителя"< cin >> str;
char s0 = '0';
for(i = 0, flag = 0; i < 6 && flag == 0; i++)
{
num_ud[i] = str[i] - s0;
if(num_ud[i] < 0 || num_ud[i] > 9)
{
flag = 1;
cout << "Неверный номер удостоверения" << endl;
}
}
for(i = 8; i < 10 && flag == 0; i++)
{
num_god[i - 8] = str[i - 1] - s0;
if(num_god[i - 8] < 0 || num_god[i - 8] > 9)
{
flag = 1;
cout << "Неверный номер удостоверения" << endl;
}
}
if(flag == 0)
{
search_derevo_udost(tree, num_ud, flag, 0);
if(flag == 0)
{
flag = 1;
cout << "Водителя с таким удостоверением нет" << endl;
}
else
flag = 0;
}
}


for(flag = 1; flag == 1;)
{
cout <<"Введите гос.номер автомобиля (AANNNA-NN)"< cin >> str;
str[6] = '-';
for(i = 0, flag = 0; i < 9 && flag == 0; i++)
{
num_gos[i] = str[i];
if(i < 2 || i == 5)
{
if(str[i] != 'A' && str[i] != 'B' && str[i] != 'E' && str[i] != 'K' && str[i] != 'M' && str[i] != 'H' && str[i] != 'O' && str[i] != 'P' && str[i] != 'C' && str[i] != 'T' && str[i] != 'Y' && str[i] != 'X')
{
flag = 1;
cout << "Неверно введен гос.номер"< }
}
if((i > 1 && i < 5) ||i > 6)
{
if(str[i] < '0' || str[i] > '9')
{
flag = 1;
cout << "Неверно введен гос.номер"< }
}
}
if(flag == 0)
{
k = search_table_gosnumber(T, num_gos, 0);
if(k == -1)
{
flag = 1;
cout <<"Такого автомобиля нет"< }
else
{
if(T.data[k].flag == 0)
{
cout << "Автомобиля нет в наличии" << endl;
}
else
{
for(i = 0; i < 9; i++)
temp.Gos_Number[i] = num_gos[i];
for(i = 0; i < 6; i++)
temp.Number_udost[i] = num_ud[i];
temp.Number_god[0] = num_god[0];
temp.Number_god[1] = num_god[1];

for(flag = 0; flag == 0;)
{
cout << "Введите дату оформления проката (дд:мм:гг)=";
cin >> str;
for(j = 0, flag = 1; j < 8 && flag == 1; j++)
{
if(j == 2 || j == 5)
{
if(str[j] != ':')
{
cout <<"Не верная дата";
flag = 0;
}
else
temp.data1[j] = str[j];
}
else
{
if(str[j] < '0'|| str[j] > '9')
{
cout <<"Не верная дата";
flag = 0;
}
else
temp.data1[j] = str[j];
}
}
}

flag = 0;
temp.data2[0] = temp.data2[1] = '0';
temp.data2[3] = temp.data2[4] = '0';
temp.data2[6] = temp.data2[7] = '0';
temp.data2[2] = temp.data2[5] = ':';
T.data[k].flag = 0;
list = insert(list, temp);
list = sort(list);
}
}
}
}
return list;
};
//закрытие проката
void of_renting(spisok* list, table &T)
{
int i, j, flag;
spisok* temp;
string str;
if(list != NULL)
{
if(list->Number_udost[0] >= 0 && list->Number_udost[0] <= 9 && list->data2[0] == '0' && list->data2[1] == '0')
{
i = search_table_gosnumber(T, list->Gos_Number, 0);
cout << "Принять с проката автомобиль с гос.номером:";
for(j = 0; j < 9; j++)
cout << T.data[i].Number[j];
cout << endl;
cout <<"1-Да, 0-Нет"< cin >> j;
if(j == 1)
{
for(flag = 0; flag == 0;)
{
cout << "Введите дату принятия с проката (дд:мм:гг)=";
cin >> str;
for(j = 0, flag = 1; j < 8 && flag == 1; j++)
{
if(j == 2 || j == 5)
{
if(str[j] != ':')
{
cout <<"Не верная дата";
flag = 0;
}
else
list->data2[j] = str[j];
}
else
{
if(str[j] < '0' || str[j] > '9')
{
cout <<"Не верная дата";
flag = 0;
}
else
list->data2[j] = str[j];
}
}
}
T.data[i].flag = 1;
}
}
for(temp = list->next; temp != list; temp = temp->next)
{
i = search_table_gosnumber(T, temp->Gos_Number, 0);
if(temp->Number_udost[0] >= 0 && temp->Number_udost[0] <= 9 && temp->data2[0] == '0' && list->data2[1] == '0')
{cout << "Принять с проката автомобиль с гос.номером:";
for(j = 0; j < 9; j++)
cout << T.data[i].Number[j];
cout << endl;
cout <<"1-Да, 0-Нет"< cin >> j;
if(j == 1)
{
for(flag = 0; flag == 0;)
{
cout << "Введите дату принятия с проката (дд:мм:гг)=";
cin >> str;
for(j = 0, flag = 1; j < 8 && flag == 1; j++)
{
if(j == 2 || j == 5)
{
if(str[j] != ':')
{
cout <<"Не верная дата";
flag = 0;
}
else
temp->data2[j] = str[j];
}
else
{
if(str[j] < '0' || str[j] > '9')
{
cout <<"Не верная дата";
flag = 0;
}
else
temp->data2[j] = str[j];
}
}
}
T.data[i].flag = 1;
}
}
}
}
};
//поиск элемента списка по номеру удостоверения
void search(spisok *list, int *num_ud)
{
spisok *temp;
int i, flag;
if(list != NULL)
{
for(i = 0, flag = 0; i < 6 && flag == 0; i++)
{
if(list->Number_udost[i] != num_ud[i])
flag = 1;
}
if(flag == 0 && (list->data2[0] == '0' && list->data2[1] == '0'))
{
for(i = 0; i < 9; i++)
cout << list->Gos_Number[i];
cout << endl;
}
else
{
for(flag = 1, temp = list->next; temp != list && flag == 1; temp = temp->next)
{
for(i = 0, flag = 0; i < 6 && flag == 0; i++)
{
if(temp->Number_udost[i] != num_ud[i])
flag = 1;
}
if(flag == 0)
{
if(temp->data2[0] == '0' && temp->data2[1] == '0')
{
for(i = 0; i < 9; i++)
cout << temp->Gos_Number[i];
cout << endl;
}
else
flag = 1;
}
}
}
}
};
//поиск элемента по гос. номеру авто
void search(spisok *list, char *gos_num, derevo *tree)
{
spisok *temp;
int i, flag;
if(list != NULL)
{
for(i = 0, flag = 0; i < 9 && flag == 0; i++)
{
if(list->Gos_Number[i] != gos_num[i])
flag = 1;
}
if(flag == 0 && (list->data2[0] == '0' && list->data2[1] == '0'))
{
search_derevo_udost(tree, list->Number_udost, i, 1);
cout << endl;
}
else
{
for(flag = 1, temp = list->next; temp != list && flag == 1; temp = temp->next)
{
for(i = 0, flag = 0; i < 6 && flag == 0; i++)
{
if(temp->Gos_Number[i] != gos_num[i])
flag = 1;
}
if(flag == 0)
{
if(temp->data2[0] == '0' && temp->data2[1] == '0')
{
search_derevo_udost(tree, temp->Number_udost, i, 1);
cout << endl;
}
else
flag = 1;
}
}
}
}
};
//головная программа
void main()
{
derevo *tree = NULL;
derevo temp;

table T;
T.N = 101;
elem data;

spisok *list1 = NULL;
spisok *list2 = NULL;

int ch1, ch2;
string s;
char s0 = '0';
int i, flag, j;
ch1 = 1;
ch2 = 1;
for(i = 0; i < 6; i++)
temp.Number_udost[i] = 0;
temp.Number_god[0] = 0;
temp.Number_god[1] = 0;
for(i = 0; i < 30; i++)
temp.FIO[i] = ' ';
for(i = 0; i < 10; i++)
temp.pasport[i] = ' ';
for(i = 0; i < 55; i++)
temp.adres[i] = ' ';
temp.left = temp.right = NULL;

for(i = 0; i < 9; i++)
data.Number[i] = ' ';
for(i = 0; i < 20; i++)
data.Marka[i] = ' ';
for(i = 0; i < 10; i++)
data.color[i] = ' ';
data.god_vipuska = 0;

list2 = new spisok;
for(i = 0; i < 6; i++)
list2->Number_udost[i] = 0;
list2->Number_god[i] = 0;
for(i = 0; i < 8; i++)
{
list2->data1[i] = list2->data2[i] = ' ';
}
for(i = 0; i < 9; i++)
list2->Gos_Number[i] = ' ';
list2->next = list2->prev = NULL;

list1 = read(list1);
read(T);
tree = read_derevo();
calc_balans(tree);
//выставление кодировки для корректной печати русских символов на экран
setlocale(LC_ALL, "Rus");
while(ch1 != 0)
{
cout <<"Выберите пункт меню" << endl;
cout <<"1: Работа с клиентами" << endl;
cout <<"2: Работа с базой автомобилей" << endl;
cout <<"3: Ремонт и прокат" << endl;
cout <<"4: Сохранить базу" << endl;
cout <<"0: Выход" << endl;
cin >> ch1;
switch(ch1)
{
case 1:
{
while(ch2 != 0)
{
cout <<"Выберите пункт меню" << endl;
cout <<"1: Ввод нового клиента" << endl;
cout <<"2: Удаление клиента из базы" << endl;
cout <<"3: Очистка базы" << endl;
cout <<"4: Поиск клиента по удостоверению" << endl;
cout <<"5: Поиск клиента по фрагменту ФИО или адресу" << endl;
cout <<"6: Просмотреть базу" << endl;
cout <<"0: Выход" << endl;
cin >> ch2;
switch(ch2)
{
case 1:
{
cout <<"Введите номер удостоверения (NNNNNN-NN)" << endl;
cin >> s;
flag = 0;
for(i = 0; i < 6; i++)
{
temp.Number_udost[i] = s[i] - s0;
if(temp.Number_udost[i] < 0 && temp.Number_udost[i] > 9)
flag = 1;
}

if(flag == 0)
{
temp.Number_god[0] = s[7] - s0;
temp.Number_god[1] = s[8] - s0;
cout <<"Введите фамилию имя отчество (через пробелы)" << endl;
cin >> s;
for(i = 0; i < s.length(); i++)
temp.FIO[i] = s[i];
temp.FIO[i] = ' ';
j = i + 1;
cin >> s;
for(i = 0; i < s.length(); i++)
temp.FIO[j + i] = s[i];
temp.FIO[j + i] = ' ';
j =j + i + 1;
cin >> s;
for(i = 0; i < s.length(); i++)
temp.FIO[j + i] = s[i];
cout <<"Введите паспортные данные (NNNNNNNNNN)" << endl;
cin >> s;
for(i = 0; i < 10; i++)
temp.pasport[i] = s[i];
cout <<"Введите город, улицу, номер дома и квартиру (через запятую без пробелов)" << endl;
cin >> s;
for(i = 0; i < s.length(); i++)
temp.adres[i] = s[i];
tree = insert_derevo(tree, temp, i);
for(i = 0; i < 30; i++)
temp.FIO[i] = ' ';
for(i = 0; i < 10; i++)
temp.pasport[i] = ' ';
for(i = 0; i < 55; i++)
temp.adres[i] = ' ';
}
else
{
cout <<"Неправильный номер удостоверения"<< endl;
}
break;
}
case 2:
{
cout <<"Введите номер удостоверения (NNNNNN-NN)" << endl;
cin >> s;
flag = 0;
for(i = 0; i < 6; i++)
{
temp.Number_udost[i] = s[i] - s0;
if(temp.Number_udost[i] < 0 && temp.Number_udost[i] > 9)
flag = 1;
}
if(flag == 0)
{
temp.Number_god[0] = s[7] - s0;
temp.Number_god[1] = s[8] - s0;
tree = delete_derevo(tree, temp.Number_udost, flag);

}
else
{
cout <<"Неправильный номер удостоверения"<< endl;
}
break;
}
case 3:
{
tree = clear_derevo(tree);
break;
}
case 4:
{
cout <<"Введите номер удостоверения (NNNNNN-NN)" << endl;
cin >> s;
flag = 0;
for(i = 0; i < 6; i++)
{
temp.Number_udost[i] = s[i] - s0;
if(temp.Number_udost[i] < 0 && temp.Number_udost[i] > 9)
flag = 1;
}
if(flag == 0)
{
temp.Number_god[0] = s[7] - s0;
temp.Number_god[1] = s[8] - s0;
search_derevo_udost(tree, temp.Number_udost, flag, 0);
search(list1, temp.Number_udost);
}
break;
}
case 5:
{
cout <<"Введите фрагмент (без пробелов)" << endl;
cin >> s;
for(i = 0; i < s.length(); i++)
temp.FIO[i] = s[i];
search_derevo_fio_adres(tree, temp.FIO, i);
for(i = 0; i < 30; i++)
temp.FIO[i] = ' ';
break;
}
case 6:
{
print_all_derevo(tree);
break;
}
}
}
ch2 = 1;
break;
}
case 2:
{
while(ch2 != 0)
{
cout <<"Выберите пункт меню" << endl;
cout <<"1: создание нового автомобиля" << endl;
cout <<"2: удаление автомобиля" << endl;
cout <<"3: очистка базы автомобилей" << endl;
cout <<"4: поиск автомобиля по гос.номеру" << endl;
cout <<"5: поиск автомобиля по марке" << endl;
cout <<"6: Просмотреть базу" << endl;
cout <<"0: Выход" << endl;
cin >> ch2;
switch(ch2)
{
case 1:
{
cout <<"Введите гос.номер автомобиля (AANNNA-NN)"< cin >> s;
s[6] = '-';
for(i = 0, flag = 0; i < 9 && flag == 0; i++)
{
data.Number[i] = s[i];
if(i < 2 || i == 5)
{
if(s[i] != 'A' && s[i] != 'B' && s[i] != 'E' && s[i] != 'K' && s[i] != 'M' && s[i] != 'H' && s[i] != 'O' && s[i] != 'P' && s[i] != 'C' && s[i] != 'T' && s[i] != 'Y' && s[i] != 'X')
{
flag = 1;
cout << "Неверно введен гос.номер"< }
}
if((i > 1 && i < 5) ||i > 6)
{
if(s[i] < '0' || s[i] > '9')
{
flag = 1;
cout << "Неверно введен гос.номер"< }
}
}
if(flag == 0)
{
cout <<"Введите фирму и марку автомобиля через пробел" << endl;
cin >> s;
for(i = 0; i < s.length(); i++)
data.Marka[i] = s[i];
data.Marka[i] = ' ';
j = i + 1;
cin >> s;
for(i = 0; i < s.length(); i++)
data.Marka[j + i] = s[i];
cout <<"Введите год выпуска автомобиля" < cin >> j;
data.god_vipuska = j;
cout <<"Введите цвет автомобиля (без пробелов)" << endl;
cin >> s;
for(i = 0; i < s.length(); i++)
data.color[i] = s[i];
insert(T, data);
for(i = 0; i < 20; i++)
data.Marka[i] = ' ';
for(i = 0; i < 10; i++)
data.color[i] = ' ';
data.god_vipuska = 0;
}
break;
}
case 2:
{
cout <<"Введите гос.номер автомобиля (AANNNA-NN)"< cin >> s;
s[6] = '-';
for(i = 0, flag = 0; i < 9 && flag == 0; i++)
{
data.Number[i] = s[i];
if(i < 2 || i == 5)
{
if(s[i] != 'A' && s[i] != 'B' && s[i] != 'E' && s[i] != 'K' && s[i] != 'M' && s[i] != 'H' && s[i] != 'O' && s[i] != 'P' && s[i] != 'C' && s[i] != 'T' && s[i] != 'Y' && s[i] != 'X')
{
flag = 1;
cout << "Неверно введен гос.номер"< }
}
if((i > 1 && i < 5) ||i > 6)
{
if(s[i] < '0' || s[i] > '9')
{
flag = 1;
cout << "Неверно введен гос.номер"< }
}
}
if(flag == 0)
{
i = search_table_gosnumber(T, data.Number, 1);
delete_avt(T, i);
}
break;
}
case 3:
{
clear(T);
break;
}
case 4:
{
cout <<"Введите гос.номер автомобиля (AANNNA-NN)"< cin >> s;
s[6] = '-';
for(i = 0, flag = 0; i < 9 && flag == 0; i++)
{
data.Number[i] = s[i];
if(i < 2 || i == 5)
{
if(s[i] != 'A' && s[i] != 'B' && s[i] != 'E' && s[i] != 'K' && s[i] != 'M' && s[i] != 'H' && s[i] != 'O' && s[i] != 'P' && s[i] != 'C' && s[i] != 'T' && s[i] != 'Y' && s[i] != 'X')
{
flag = 1;
cout << "Неверно введен гос.номер"< }
}
if((i > 1 && i < 5) ||i > 6)
{
if(s[i] < '0' || s[i] > '9')
{
flag = 1;
cout << "Неверно введен гос.номер"< }
}
}
if(flag == 0)
{
i = search_table_gosnumber(T, data.Number,1);
search(list1, data.Number,tree);
}
break;
}
case 5:
{
cout <<"Введите фирму и марку автомобиля через пробел" << endl;
cin >> s;
for(i = 0; i < s.length(); i++)
data.Marka[i] = s[i];
data.Marka[i] = ' ';
j = i + 1;
cin >> s;
for(i = 0; i < s.length(); i++)
data.Marka[j + i] = s[i];
search_marka(T, data.Marka);
for(i = 0; i < 20; i++)
data.Marka[i] = ' ';
break;
}
case 6:
{
print_all_table(T);
break;
}
}
}
ch2 = 1;
break;
}
case 3:
{
while(ch2 != 0)
{
cout <<"Выберите пункт меню:" << endl;
cout <<"1: Поставить машину на ремонт" << endl;
cout <<"2: Снять машину с ремонта" << endl;
cout <<"3: Оформить прокат" << endl;
cout <<"4: Снять с проката" << endl;
cout <<"0: Выход" << endl;
cin >> ch2;
switch(ch2)
{
case 1:
{
list1 = in_repair(list1, T);
break;
}
case 2:
{
of_repair(list1, T);
break;
}
case 3:
{
list1 = on_renting(list1, T, tree);
break;
}
case 4:
{
of_renting(list1, T);
break;
}
}
}
ch2 = 1;
break;
}
case 4:
{
write(tree);
print(T);
print(list1);
break;
}
}
}
};








3

Индивидуально-рассчитывается нагрузки

Список устройств – потребителей электрической и тепловой энергии înapartament:

| № |Устройство потребитель |Мощность, Вт|Вид потребляемой |
| |энергии | |энергии |
|1 |Освещение(общее) |700 |Электро - |
|2 |Телевизор |60 |Электро - |
|3 |Видеомагнитофон |20 |Электро - |
|4 |Железо |1000 |Электро - |
|5 |Пылесос |1500 |Электро - |
|6 |Холодильник |1400 |Электро - |
|7 |Микроволновая печь |1000 |Электро - |
|8 |стиральная машина |1700 |Электро - |
|9 |Отопление |0,04221 лошадь |Тепловой |
|10 |Стулья воды на 1 м2 S |0,02721 лошадь |Тепловой |


Количество членов семьи – 5 человек

место Расположения дома-город

1. Среднее потребление электрической энергии, тепловой энергии и природного газа
| | | |Использование |Использование |
| №. |вид энергии или|Единица |количество |количество |
| |топлива |измерения |всей семьи |члена |
| | | | |семьи |
| | | |Января|Декабря |Января|Июня |
|1 |Тепловая |Гкал|3,2 |0,65 |0,64 |0,13 |
| |энергии| | | | | |
|2 |Электро - |Квт/ч|131 |120 |26,2 |24 |
| |энергии| | | | | |
|3 |Газ |м3|20 |18 |4 |3,6 |

2. Расчет затрат семьи и государства с учетом существующих тарифов и государственных дотаций на электрическую тепловую энергию и газ за месяц и в определенные периоды года.
| |Вид |Тариф, рублей |Использование |Сумма затрат |Сумма затрат |
| №. |энергии | |номер |для семьи |для |
| |или | | |трения |государственной |
| |топлива| | | | |
| | |Января|Декабря |Января|Декабря |Января|Декабря |Января|Июня |
|1 |Тепловой| |3672,|3,02 |0,65 |7468,8|2387,|15087 |4822 |
| |энергии|2473,1|5 | | | |1 | | |
|2 |Электрич| | | | | | | | |
| |еская|14,5 |17,5 |131 |120 |1899,5|2100 |930,8 |1030 |
| |энергии| | | | | | | | |
|3 |Газ|154,4 |180,9|20 |18 |3088 |3256,|3434,5|4827 |
| | | | | | | |2 | | |


Список мер по экономии тепла, электроэнергии înapartament:
Способ |Мероприятие |Результат | |
| |Изоляции дверей и |Потери тепла снижаются |
|Снижение тепловых|оконные проемы толстой кишки |на 20-25% |
|потери по |бумаги, клейкой ленты,| |
|окна и двери|желательно, установка | |
|голы |стеклопакетов, | |
| |застеклить балкон | |
| |Дисциплины |Экономия электроэнергии |
| |отключения |на 15-35% |
| |светильников,| |
| |применить | |