Автор: Пользователь скрыл имя, 18 Декабря 2011 в 13:44, курсовая работа
Программа обеспечивает возможность создания файла и хранения в нем информации о вызываемом городе, заказываемом номере телефона, ФИО заказчика, номере телефона заказчика и длительности оплаченного разговора а также выполнение требуемых функций по работе с этими данными. Курсовая содержит руководство пользователя, описание разработанных функций, листинг и тестирование программы, блок-схемы алгоритмов всех используемых функций и тестирование программы.
Введение………………………………………………………………….…… 3
Глава 1. Выбор метода реализации……………………...………………... 5
1.1 Обоснование выбора языка программирования………………………... 5
Техническое описание языка программирования……………………… 6
1.3 Технические требования к компьютеру для решения задачи …………. 7
Глава 2. Теоретические основы……………………...…………………… 8
2.1Динамические массивы …………………………………………………... 8
2.2Динамическое распределение памяти …………………………………… 9
2.3 Классы …………………………………………………………………….. 9
2.4 Структуры ……………………...…………………………………………. 10
Глава 3. Руководство программиста……………………...……………… 12
Глава 4. Руководство пользователя ……………………...………………. 15
Глава 5. Математическое и программное обеспечение ………………. 16
5.1.Математическое обеспечение……………………...………………………................................. 16
5.2.Спецификация функций ……………………...………………………….. 19
Глава 6. Тестирование программы ……………………...……………….. 25
Заключение…………………………………………………...………………. 31
Список литературы………………………
cout <<"\n-------------------------
while (tmp) {
cout << tmp->index + 1 <<" ("<< ++i << setw(3) <<")"<< setw(15) << tmp->name << setw(15) << tmp->city << setw(15) << tmp->tel << setw(15) << tmp->teleph << setw(7) << tmp->time <<"сек.\n";
tmp = findCity(city, ++id);
}
cout <<"---------------------------
}
};
MAIN.CPP
// Создать автоматизированное рабочее место (АРМ) диспетчера междугородней
// телефонной
станции (МТС). Диспетчер МТС работает
с ЭВМ в режиме меню.
#include"list.h"
#include<conio.h>
#include<Windows.h>
#include<clocale>
// отрисовка меню
// передаваемый параметр - уровень вложенности (0 - главное меню)
void drawMenu(unsignedint level) {
unsignedint i = 1;
system("cls"); // очищаемконсольоттекста
cout <<"#--------------------------
cout <<"| Система междугородней телефонной станции |\n";
cout <<"#--------------------------
// формируемменю
switch (level) {
case 0:
cout << i++ <<". Управление списком\n";
cout << i++ <<". О программе\n";
cout <<"\n0. Выйти из программы\n";
break;
case 1:
cout << i++ <<". Добавитьзаказ\n";
cout << i++ <<". Добавить срочный заказ в очередь\n";
cout << i++ <<". Удалить заказ\n";
cout << i++ <<". Сформировать общий список заказов\n";
cout << i++ <<". Сформировать список заказов в указанный город\n";
cout <<
i++ <<".
Сортировка списка по времени заказанного
разговора\n";
cout <<"\n0. назад\n";
break;
case 2:
cout
<<"\n
Автоматизированное рабочее место диспетчера
междугородней телефонной станции.\n Хорошая
программа для хорошего диспетчера =)\n";
cout <<"\n0. назад\n";
break;
}
}
int main() {
list
ls; // список
elem
tmp;
char
city [50],
key;
unsignedint
i = 0;
setlocale(LC_ALL, "Russian");
drawMenu(0);
while (true) {
switch ((key = getch())) {
case'1':
drawMenu(1);
while ((key = getch()) != '0') {
switch (key) {
case'1':
cout <<"\nВведитеФИОзаказчика: ";
cin >> tmp.name;
cout <<"\nВведите название вызываемого города: ";
cin >> tmp.city;
cout <<"\nВведите номер телефона заказчика: ";
cin >> tmp.tel;
cout <<"\nВведите вызываемый номер телефона: ";
cin >> tmp.teleph;
cout <<"\nВведите длительность оплаченного разговора: ";
cin >> tmp.time;
ls.add(tmp.teleph, tmp.tel, tmp.name, tmp.city, tmp.time, 0);
cout <<"\nЗаказдобавлен!";
break;
case'2':
cout <<"\nВведитеФИОзаказчика: ";
cin >> tmp.name;
cout <<"\nВведите название вызываемого города: ";
cin >> tmp.city;
cout <<"\nВведите номер телефона заказчика: ";
cin >> tmp.tel;
cout <<"\nВведите вызываемый номер телефона: ";
cin >> tmp.teleph;
cout <<"\nВведите длительность оплаченного разговора: ";
cin >> tmp.time;
cout <<"\nВведите порядковый номер очереди: ";
cin >> tmp.index;
ls.add(tmp.teleph, tmp.tel, tmp.name, tmp.city, tmp.time, --tmp.index);
cout <<"\nЗаказ добавлен!";
break;
case'3':
cout <<"\nВведите порядковый номер очереди для удаления заказа: ";
cin >> i;
if (i>0)
{ls.remove(i);
cout <<"\nУдаление произошло успешно!\n";
}
else cout <<"\nОшибка
удаления!\n";
break;
case'4':
cout << ls;
break;
case'5':
cout <<"\nВведите название города: ";
cin >> city;
ls.printCallsToCity(city);
break;
case'6':
ls.sortTime();
cout << ls;
break;
}
cout <<"\
flushall();
getch();
drawMenu(1);
}
break;
case'2':
drawMenu(2);
while ((key = getch()) != '0');
break;
case'0':
cout <<"\n\tДлявыходанажмите [enter], дляотмены [esc]";
while ((key = getch()) != 27) {
if (key == 13)
return 0;
}
break;
}
flushall();
drawMenu(0);
}
return 0;
};