Создание информационной системы "Знаки зодиака" - Программирование, компьютеры и кибернетика курсовая работа

Главная
Программирование, компьютеры и кибернетика
Создание информационной системы "Знаки зодиака"
Разработка информационной системы для предметной области с использованием заданных структур данных. Создание и проверка базы данных, которая позволяет вводить информацию, хранить её в файле, осуществлять поиск, модификацию, сортировку и удаление данных.
посмотреть текст работы
скачать работу можно здесь
полная информация о работе
весь список подобных работ
Нужна помощь с учёбой? Наши эксперты готовы помочь!
Нажимая на кнопку, вы соглашаетесь с
политикой обработки персональных данных
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Задачей курсового проекта является разработка информационной системы для заданной предметной области с использованием заданных структур данных.
Создать базу данных, которая позволяет вводить информацию, хранить её в файле, осуществлять поиск, модификацию, сортировку и удаление данных. информационный база данные зодиак
Тип хранимой информации и задание на поиск определяются в соответствии с номером варианта
Описать структуру с именем ZNAK, содержащую следующие поля:
дата рождения (массив из трёх чисел).
Задание на поиск: найти информацию о людях, чей знак зодиака введен с клавиатуры.
ElementOfList *next; //указатель на следующий элемент списка
База данных хранится на диске в виде тестового файла.
Для работы с БД в процессе выполнения программы используется список.
Описание алгоритмов работы программы и описание функций
При запуске программы выводится на экран консоли меню с нумерованными пунктами. Пользователь должен ввести цифру, соответствующую номеру пункта. При этом, если вводится некорректное значение (несуществующий номер пункта или символ), то выведется сообщение «Повторите ввод».
При выборе пункта добавления анкеты, создается новая анкета при помощи вызываемой функции
AddInfo. Пользователь поэтапно вводит имя, фамилию, дату рождения (через пробел, формат указан в скобках). Затем в пункте идет цикл whileс вызовом функции проверки на идентичность анкеты. Пока пользователь не введет уникальные данные и флаг не вернет значение false, программа будет выводить сообщение «Такой человек уже есть. Повторите ввод.» После этого, вызывается функция AddNew и анкета добавляется в список.
При выборе пункта вывода анкет на экран вызывается функция Print.
При выводе функции на экран в отсортированном видесначала происходит проверка на пустоту списка при помощи if. Если список действительно оказывается пустым, выводится сообщение «Данные отсутствуют». Иначе вызывается функция Sort. А затем функция Print.
При выборе пункта редактирования анкеты сначала происходит проверка на пустоту списка при помощи if. Если список действительно оказывается пустым, выводится сообщение «Данные отсутствуют». Иначе вызывается функция BaseSearch.
Если возвращаемое значение «0», это значит, что пользователь отменил ввод, и выполнение пункта прекращается. Иначе BaseSearchнаходит нужную анкету и при помощи вспомогательной функции Search передает её вызываемой функции Edit.
Как работают функции BaseSearchи Editсм. в их описании.
При выборе пункта удаления анкеты сначала происходит проверка на пустоту списка при помощи if. Если список действительно оказывается пустым, выводится сообщение «Данные отсутствуют». Иначе вызывается функция BaseSearch.
Если возвращаемое значение «0», это значит, что пользователь отменил ввод, и выполнение пункта прекращается. Иначе BaseSearchнаходит нужную анкету передает ее вызываемой функции Delete.
Как работает функция Deleteсм. в её описании.
При выборе поиска анкеты сначала происходит проверка на пустоту списка при помощи if. Если список действительно оказывается пустым, выводится сообщение «Данные отсутствуют». Иначе вызывается функция BaseSearch. Найденная анкета выводится в самом пункте.
Как работает функция BaseSearchсм. в её описании.
При выборе поиска по знаку зодиака анкеты сначала происходит проверка на пустоту списка при помощи if. Если список действительно оказывается пустым, выводится сообщение «Данные отсутствуют». Иначе вызывается функция ZodiacSearch.
Как работает функция ZodiacSearchсм. в её описании.
При выборе пункта сохранения в файл сначала происходит проверка на пустоту списка при помощи if. Если список действительно оказывается пустым, выводится сообщение «Данные отсутствуют». Иначе вызывается функция Save. После вызова в этом пункте флагу check присваивается значение true. Это необходимо для того, чтобы перед выходом из программы не напоминать лишний раз пользователю о сохранении.
При выборе пункта загрузки базы данных из файла вызывается функция Download.
При выборе пункта выхода из программы происходит проверка значения check. Если его значение false(база данных еще не сохранялась), на экран консоли выведется нумерованное меню с предложением сохранить базу данных в файл. Пользователь выбирает пункт (1- да; 2 - нет), если «да», то вызывается функция Save, и программа закрывается.
Иначе (база данных уже сохранялась) программа закроется сразу.
Перед закрытием программы выполняется функция Free, очищающая оставшиеся анкеты (если такие имеются).
Функция сохраняет данные, введенные пользователем, для проверки и сохранения в список. Производится проверка корректности введенной даты рождения. Разрешается ввод от 1900 года по 2015. При вводе некорректных значений, программа просит заново ввести дату.
bool СheckForDuplicates(ElementOfList *begin, ElementOfList a)
Функция сравнивает введенную пользователем анкету с анкетами, уже имеющимися в списке. Если обнаруживается полное совпадение, то функция возвращает значение trueи записианкеты не происходит. На экран консоли выводится соответствующее сообщение «Такой человек уже есть, повторите ввод:». Если совпадения нет, то новая анкета добавляется в список. Функция вызывается в mainв пунктах добавления новой анкеты и редактирования анкеты.
void AddNew(DynList **begin, DynList **end, DynList a)
Функция принимает информацию от функции AddInfo, и создает новый элемент списка. Перед добавлением в mainвызывается функция проверки на одинаковые анкеты СheckForDuplicates.
Функция для автоматического определения знака зодиака
Функция получает дату рождения пользователя и определяет его знак зодиака. Учитываются високосные года.
Функция выводит все элементы списка на экран консоли в порядке их дополнения.
Проводится проверка на пустоту списка. Если список не заполнен, появится сообщение «Анкеты отсутствуют».
ElementOfListBaseSearch(ElementOfList *begin)
Функция для поиска определенной анкеты. Для поиска пользователь постепенно вводит фамилию, затем, если есть однофамильцы, то имя, а если есть полные тезки, то дату рождения.
В функции предусмотрена возможность отмены ввода (пользователь нажимает 0).
Если пользователь пытается найти несуществующую анкету, выводится сообщение «Данная анкета отсутствует».
Проводится проверка на пустоту списка(Перед вызовом функции в main).Если список не заполнен, появится сообщение “Данные отсутствуют”.
Функция используется как и для отдельного пункта в main, так и в качестве вспомогательной в функциях Deleteи Edit.
Функция для поиска анкет по знаку зодиака
void ZodiacSearch(ElementOfList *begin)
Функция ищет анкеты по знаку зодиака, введенным пользователем и выводит их на экран консоли.
Если анкеты с искомым знаком зодиака отсутствуют, выводится сообщение «Нет совпадений».
В функции предусмотрена возможность отмены ввода (пользователь нажимает 0).
Проводится проверка на пустоту списка(Перед вызовом функции в main). Если список не заполнен, появится сообщение “Данные отсутствуют”.
void Delete(ElementOfList **begin, ElementOfList a)
Функция удаляет искомую анкету. Проводится проверка на пустоту списка(Перед вызовом функции в main). Если операция прошла успешно, выводится сообщении «Анкета удалена».
В качестве вспомогательной функции для поиска нужной анкеты используется BaseSearch(вызывается в mainперед удалением).
В функции предусмотрена возможность отмены ввода (пользователь нажимает 0).
Проводится проверка на пустоту списка(Перед вызовом функции в main).Если список не заполнен, появится сообщение “Данные отсутствуют”.
void Edit(ElementOfList *begin, ElementOfList *f)
Функция редактирует искомую анкету. При редактировании на экран консоли выводится меню, в котором пользователь может выбрать, какой пункт необходимо отредактировать.
При редактировании даты рождения проводится проверка на корректность введенных данных. При вводе некорректных данных появляется сообщение "Некорректные данные. Повторите ввод:".Учитываются високосные года.
При редактировании происходит проверка на одинаковые анкеты при помощи функции CheckForDuplicates. Таким образов исключается появление в списке анкет с одинаковой информацией. На консоль выводится запись «Идентичная анкета есть в базе данных, введите другую дату рождения».
В качестве вспомогательной функции для поиска нужной анкеты используется BaseSearch(вызывается в mainперед редактированием).
В функции предусмотрена возможность отмены ввода и выхода из меню (пользователь нажимает 0).
Проводится проверка на пустоту списка(в самой функции).Если список не заполнен, появится сообщение “Анкеты отсутствуют”.
Функция сортирует имеющиеся в списке анкеты по фамилии. Если есть анкеты с одинаковыми фамилиями, то сортируются по имени.
Проводится проверка на пустоту списка(в main в соответствующем пункте перед вызовом функции).Если список не заполнен, появится сообщение “Анкеты отсутствуют”.
Функция сохранения анкет в тестовый файл
Функция сохраняет весь список в текстовый файл, хранящийся в папке с проектом.
Функция вызывается в соответствующем пункте меню и в пункте выхода, если на протяжении работы с программой список не сохранялся (по согласию пользователя).
Проводится проверка на пустоту списка(в mainв соответствующем пункте перед вызовом функции).Если список не заполнен, появится сообщение “Анкеты отсутствуют”.
Функция загрузки анкет из текстового файла
void Download(ElementOfList **begin, ElementOfList **end)
Функция загружает базу данных из тестового файла в список программы.
Производится проверка, если файл поврежден, отсутствует или пуст.
Функция удаляет оставшиеся анкеты из памяти перед выходом из программы. Вызывается автоматически. Это позволяет избежать утечек памяти.
В главной функции main() реализовано меню пользователя, в которой каждому действию соответствует определенная цифра. Реализованы следующие функции работы с базой данных: добавление, редактирование, удаление, сортировка, поиск определенной анкеты, поиск анкет по знаку зодиака, вывод на экран, вывод в отсортированном виде, сохранение в файл, загрузка из файла.
Пользователь вводит цифру для выбора необходимого ему пункта. Если такого пункта нет, на экран консоли выведется сообщение «Повторите ввод».
Если на протяжении работы с программой, пользователь не сохранял базу данных в файл, перед выходом выведется меню с предложением сохранить имеющийся список.
Описание пользовательского интерфейса
Пример пользовательского интерфейса
3. Вывод на экран (отсортированный вид)
5. Результаты тестирования программы
Введите дату рождения (гггг мм дд):
Введите дату рождения (гггг мм дд):
Введите дату рождения (гггг мм дд):
Такой человек уже есть, повторите ввод.
С такими именем и фамилией найдено несколько человек. Продолжайте ввод.
В процессе выполнения курсового проекта была реализована база данных позволяющая: вводить информацию, хранить её в файле, осуществлять поиск, модификацию, сортировку и удаление данных. Все поставленные задачи были выполнены. Программа работает корректно, без ошибок и «вылетов».
Реализован удобный и понятный на интуитивном уровне пользователю интерфейс;
Программа полностью русифицирована;
При вводе данных происходят проверки на корректность введенной даты рождения. Учитываются високосные годы;
В функциях, работающих с анкетами, реализованы проверки на пустоту списка;
Автоматически определяется знак зодиака;
Полностью исключена возможность создания полностью идентичных анкет. При этом программа работает с тезками;
В некоторых функциях реализована возможность отмены ввода данных;
Реализовано напоминание о сохранении анкет в текстовой файл перед выходом из программы, если оно не проводилось;
В функции редактирования осуществлена возможность выбора пункта анкеты, который нужно изменить;
Исключена возможность утечки памяти;
В функции добавления анкеты нет возможности отмены ввода;
При добавлении имени и фамилии нет проверки на посторонние символы;
#define new new(_CLIENT_BLOCK, __FILE__, __LINE__)
int year[12] = { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };
if (a.info.bday[2] % 4 == 0 && a.info.bday[2] % 400 == 0)
if ((a.info.bday[0] >= 21 && a.info.bday[1] == 3) || (a.info.bday[0] <= 19 && a.info.bday[1] == 4))
else if ((a.info.bday[0] >= 20 && a.info.bday[1] == 4) || (a.info.bday[0] <= 20 && a.info.bday[1] == 5))
else if ((a.info.bday[0] >= 21 && a.info.bday[1] == 5) || (a.info.bday[0] <= 20 && a.info.bday[1] == 6))
else if ((a.info.bday[0] >= 21 && a.info.bday[1] == 6) || (a.info.bday[0] <= 22 && a.info.bday[1] == 7))
else if ((a.info.bday[0] >= 23 && a.info.bday[1] == 7) || (a.info.bday[0] <= 22 && a.info.bday[1] == 8))
else if ((a.info.bday[0] >= 23 && a.info.bday[1] == 8) || (a.info.bday[0] <= 22 && a.info.bday[1] == 9))
else if ((a.info.bday[0] >= 23 && a.info.bday[1] == 9) || (a.info.bday[0] <= 22 && a.info.bday[1] == 10))
else if ((a.info.bday[0] >= 23 && a.info.bday[1] == 10) || (a.info.bday[0] <= 21 && a.info.bday[1] == 11))
else if ((a.info.bday[0] >= 22 && a.info.bday[1] == 11) || (a.info.bday[0] <= 21 && a.info.bday[1] == 12))
else if ((a.info.bday[0] >= 22 && a.info.bday[1] == 12) || (a.info.bday[0] <= 19 && a.info.bday[1] == 1))
else if ((a.info.bday[0] >= 20 && a.info.bday[1] == 1) || (a.info.bday[0] <= 18 && a.info.bday[1] == 2))
else if ((a.info.bday[0] >= 19 && a.info.bday[1] == 2) || (a.info.bday[0] <= 20 && a.info.bday[1] == 3))
cout << "Анкеты отсутствуют.\n" << endl;
cout << a->info.secondname << " " << a->info.name << " " << a->info.bday[0] << "." << a->info.bday[1] << "." << a->info.bday[2] << " " << a->info.zodiac << endl;
void AddNew(ElementOfList **begin, ElementOfList **end, ElementOfList a)
void Delete(ElementOfList **begin, ElementOfList a)
cout << "Анкеты отсутствуют.\n" << endl;
if (temp->info.name == a.info.name && temp->info.secondname == a.info.secondname && temp->info.bday[0] == a.info.bday[0] && temp->info.bday[1] == a.info.bday[1] && temp->info.bday[2] == a.info.bday[2])
if (t1->info.name == a.info.name && t1->info.secondname == a.info.secondname && t1->info.bday[0] == a.info.bday[0] && t1->info.bday[1] == a.info.bday[1] && t1->info.bday[2] == a.info.bday[2])
cout << "Данная анкета отсутствует\n" << endl;
//добавление информации о пользователе
ElementOfList AddInfo(ElementOfList *begin)
int year[12] = { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };
if (temp[2] % 4 == 0 && temp[2] % 400 == 0)
cout << "Введите дату рождения (гггг мм дд):\t ";
while ((!(cin >> temp[2] && temp[2] >= 1900 && temp[2] <= 2014)) || (!(cin >> temp[1] && temp[1] >= 1 && temp[1] <= 12)) || (!(cin >> temp[0] && temp[0] >= 1 && temp[0] <= year[temp[1] - 1])))
cout << "Вы ввели некорректные данные\n ";
cout << "Введите дату рождения (гггг мм дд):\t ";
ElementOfList BaseSearch(ElementOfList *begin)
cout<< "Дляотменывводанажмите 0.\n";
for (int i = 0; i < LastEl(begin); i++)
if (a.info.secondname == temp->info.secondname)
cout<< "Нет совпадений. Повторите ввод:\n " << endl;
for (int i = 0; i < LastEl(begin); i++)
if (a.info.secondname == temp->info.secondname)
a.info.bday[0] = temp->info.bday[0];
a.info.bday[1] = temp->info.bday[1];
a.info.bday[2] = temp->info.bday[2];
cout << "С такой фамилией найдено несколько человек. Продолжайте ввод:\t" << endl;
for (int i = 0; i < LastEl(begin); i++)
if (a.info.secondname == temp->info.secondname)
cout << temp->info.secondname << " " << temp->info.name << " " << temp->info.bday[0] << " " << temp->info.bday[1] << " " << temp->info.bday[2] << " " << temp->info.zodiac << endl;
cout << "\nДля отмены ввода нажмите 0.\n";
for (int i = 0; i < LastEl(begin); i++)
if (a.info.name == temp->info.name && a.info.secondname == temp->info.secondname)
cout << "Нетсовпадений. Повторитеввод\t: " << endl;
for (int i = 0; i < LastEl(begin); i++)
if (a.info.name == temp->info.name && a.info.secondname == temp->info.secondname)
a.info.bday[0] = temp->info.bday[0];
a.info.bday[1] = temp->info.bday[1];
a.info.bday[2] = temp->info.bday[2];
cout << "\nС таким именем и фамилией найдено несколько человек. Продолжайтеввод:\t" << endl;
for (int i = 0; i < LastEl(begin); i++)
if (a.info.name == temp->info.name && a.info.secondname == temp->info.secondname)
cout << temp->info.name << " " << temp->info.name << " " << temp->info.bday[0] << " " << temp->info.bday[1] << " " << temp->info.bday[2] << temp->info.zodiac << endl;
cout << "Введите дату рождения (год):\t ";
while (!(cin >> date[2] && date[2] >= 1900 && date[2] <= 2014))
cout << "Некорректные данные. Повторите ввод:\t ";
cout << "Введите дату рождения (месяц): ";
while (!(cin >> date[1] && date[1] >= 1 && date[1] <= 12))
cout << "Некорректные данные. Повторите ввод:\t ";
cout << "Введите дату рождения (день):\t ";
int year[12] = { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };
if (date[2] % 4 == 0 && date[2] % 400 == 0)
while (!(cin >> date[0] && date[0] >= 1 && date[0] <= year[date[1] - 1]))
cout << "Некорректныеданные." << "Повторитеввод:\t ";
for (int i = 0; i < LastEl(begin); i++)
if (temp->info.name == a.info.name && temp->info.secondname == a.info.secondname && temp->info.bday[0] == a.info.bday[0] && temp->info.bday[1] == a.info.bday[1] && temp->info.bday[2] == a.info.bday[2])
cout << "Нет совпадений. Повторите:\t " << endl;
for (int i = 0; i < LastEl(begin); i++)
if (temp->info.name == a.info.name && temp->info.secondname == a.info.secondname && temp->info.bday[0] == a.info.bday[0] && temp->info.bday[1] == a.info.bday[1] && temp->info.bday[2] == a.info.bday[2])
a.info.secondname = temp->info.secondname;
a.info.bday[0] = temp->info.bday[0];
a.info.bday[1] = temp->info.bday[1];
a.info.bday[2] = temp->info.bday[2];
} ElementOfList* Search(ElementOfList *begin, ElementOfList a)
cout << "Анкетыотсутствуют.\n" << endl;
if (temp->info.name == a.info.name && temp->info.secondname == a.info.secondname && temp->info.bday[0] == a.info.bday[0] && temp->info.bday[1] == a.info.bday[1] && temp->info.bday[2] == a.info.bday[2])
cout << "Анкетанайдена.\n" << endl;
cout << "Такойанкетынетвбазе.\n" << endl;
void ZodiacSearch(ElementOfList *begin)
cout << "\nДляотменывводанажмите 0.\n";
cout << "Введите знак зодиака:\t ";
for (int i = 0; i < LastEl(begin); i++)
if (a.info.zodiac== temp->info.zodiac)
cout << "Нет совпадений в знаках зодиака. Повторитеввод:\n" << endl;
for (int i = 0; i < LastEl(begin); i++)
if (a.info.zodiac== temp->info.zodiac)
cout << temp->info.secondname << " " << temp->info.name << " " << temp->info.bday[0] << "." << temp->info.bday[1] << "." << temp->info.bday[2]<< " " << temp->info.zodiac << endl;
bool СheckForDuplicates(ElementOfList *begin, ElementOfList a)
if (temp->info.name == a.info.name && temp->info.secondname == a.info.secondname && temp->info.bday[0] == a.info.bday[0] && temp->info.bday[1] == a.info.bday[1] && temp->info.bday[2] == a.info.bday[2])
void Edit(ElementOfList *begin, ElementOfList *f)
cout << "Анкеты отсутствуют\n" << endl;
cout << f->info.secondname << " " << f->info.name << " " << f->info.bday[0] << "." << f->info.bday[1] << "." << f->info.bday[2] << endl;
cout << "Чтовыхотитеизменить:\n1. Имя\n2. Фамилию\n3. Дату рождения\n0. Выход" << endl;
cout << "Человек с идентичными данными уже есть, введите другое имя: ";
cout << "Человек с идентичными данными уже есть, введите другую фамилию: ";
cout << "Введите дату рождения (год): ";
while (!(cin >> temp[2] && temp[2] >= 1900 && temp[2] <= 2014))
cout << "Неккоректныеданные. Повторите ввод: ";
cout << "Введите дату рождения (месяц): ";
while (!(cin >> temp[1] && temp[1] >= 1 && temp[1] <= 12))
cout << "Неккоректныеданные. Повторите ввод: ";
cout << "Введите дату рождения (день): ";
int year[12] = { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };
if (temp[2] % 4 == 0 && temp[2] % 400 == 0)
while (!(cin >> temp[0] && temp[0] >= 1 && temp[0] <= year[temp[1] - 1]))
cout << "Неккоректныеданные. Повторитеввод: ";
cout << "Идентичнаяанкетаестьвбазеданных, введитедругуюдатурождения: " << endl;
ElementOfList *buf = new ElementOfList[LastEl(begin)];
for (int i = 0; i < LastEl(begin); i++)
for (int i = 0; i < LastEl(begin); i++)
for (int j = 0; j < LastEl(begin); j++)
if (buf[i].info.secondname < buf[j].info.secondname)
swap(buf[i].info.name, buf[j].info.name);
swap(buf[i].info.secondname, buf[j].info.secondname);
swap(buf[i].info.bday[0], buf[j].info.bday[0]);
swap(buf[i].info.bday[1], buf[j].info.bday[1]);
swap(buf[i].info.bday[2], buf[j].info.bday[2]);
swap(buf[i].info.zodiac, buf[j].info.zodiac);
else if (buf[i].info.secondname == buf[j].info.secondname)
if (buf[i].info.secondname < buf[j].info.secondname)
swap(buf[i].info.name, buf[j].info.name);
swap(buf[i].info.secondname, buf[j].info.secondname);
swap(buf[i].info.bday[0], buf[j].info.bday[0]);
swap(buf[i].info.bday[1], buf[j].info.bday[1]);
swap(buf[i].info.bday[2], buf[j].info.bday[2]);
swap(buf[i].info.zodiac, buf[j].info.zodiac);
else if (buf[i].info.secondname == buf[j].info.secondname)
if (buf[i].info.name < buf[j].info.name)
swap(buf[i].info.secondname, buf[j].info.secondname);
swap(buf[i].info.name, buf[j].info.name);
swap(buf[i].info.bday[0], buf[j].info.bday[0]);
swap(buf[i].info.bday[1], buf[j].info.bday[1]);
swap(buf[i].info.bday[2], buf[j].info.bday[2]);
swap(buf[i].info.zodiac, buf[j].info.zodiac);
for (int i = 0; i < LastEl(begin); i++)
cout << "Анкеты отсортированы.\n" << endl;
fout.open("DataBase.txt", ios::trunc);
for (int i = 0; i < LastEl(begin); i++)
fout << temp->info.secondname << " " << temp->info.name << " " << temp->info.bday[0] << " " << temp->info.bday[1] << " " << temp->info.bday[2] << " " << temp->info.zodiac << endl;
void Download(ElementOfList **begin, ElementOfList **end)
cout << "База данных еще не сохранена.\n" << endl;
cout << "База данных загружена." << endl;
_CrtSetDbgFlag(_CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF);//проверкаутечекпамяти
cout << "1. Добавить анкету\n" << "2. Вывод на экран\n" << "3. Вывод на экран (отсортированный вид)\n" << "4. Редактировать анкету\n" << "5. Удалить анкету\n" << "6. Найти анкету\n"<<"7. Найти анкеты по знаку зодиака\n"<< "8. Сохранить в базу данных\n" << "9. Загрузка из базы данных\n" << "0. Выход\n";
while (СheckForDuplicates(begin, a))
cout << "Такойчеловекужеесть, повторитеввод:\n " ;
cout << "\nАнкета добавлена" << endl;
cout << "Данные отсутствуют" << endl << endl;
cout << "Данные отсутсвуют\n" << endl;
if (x.info.name == "0" || x.info.secondname == "0")
cout << "Данные отсутсвуют" << endl << endl;
cout << "Введите данные:\n" << endl;
if (b.info.name == "0" || b.info.secondname == "0")
cout << "Данныеотсутсвуют" << endl << endl;
cout << b.info.secondname << " " << b.info.name << " " << b.info.bday[0] << " " << b.info.bday[1] << " " << b.info.bday[2] << " " << b.info.zodiac << endl;
cout << "Данныеотсутсвуют" << endl << endl;
cout << "Данные отсутсвуют" << endl << endl;
cout << " Сохранить анкеты в базу данных перед выходом?\n 1. Да\n 2. Нет" << endl;
while (!((cin >> c) && (c == 1 || c == 2)))
cout << endl << " Повторите ввод: ";
Определение понятия и общее описание базы данных как упорядоченной информационной системы на носителе информации. Описание предметной области и разработка приложения базы данных, содержащей информацию о расписании занятий, для преподавателей кафедры. курсовая работа [1,3 M], добавлен 08.08.2012
Создание базы данных для информационной системы "Грузоперевозки". Анализ предметной области, разработка концептуальной и логической модели базы данных, с использованием средства MS Micrоsоft SQL Server 2005, реализация физического проектирования базы. курсовая работа [1,3 M], добавлен 01.07.2011
Создание базы данных с помощью на СУБД Access. Разработка программы, которая позволяет принимать управленческие решения, хранить данные о клиентах, о продукции, а так же хранить данные о продажах, производить их анализ и выдавать результат в виде таблиц. курсовая работа [2,2 M], добавлен 16.10.2011
Создание средствами Microsoft Access базы данных фруктового склада: добавление, удаление и изменение данных в записной книжке, поиск данных по конкретным признакам. Соответствие информационной системы бизнес-правилам. Разработка инструкции пользователя. курсовая работа [2,5 M], добавлен 30.06.2009
Назначение для информационной системы OpenPOS для автоматизации рабочих процессов в заведениях общественного питания. Состав и структура исходных данных. Основные сведения о предметной области, ее моделирование. Создание и запуск базовых запросов SQL. курсовая работа [2,2 M], добавлен 28.01.2016
Выбор инструментальной среды для разработки базы данных. Подсистема сбора, обработки и загрузки данных. Укрупненный алгоритм разрабатываемой информационной системы. Формирование области запросов базы, интерфейс ввода и редактирования входных данных. курсовая работа [2,2 M], добавлен 25.12.2012
Разработка автоматизированной информационной системы предприятия на основе баз данных, которая обеспечивает качественный контроль данных, автоматизацию документооборота, быстрое составление отчетов. Создание форм, отчетов и макросов, меню базы данных. курсовая работа [4,8 M], добавлен 20.05.2014
Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д. PPT, PPTX и PDF-файлы представлены только в архивах. Рекомендуем скачать работу .
© 2000 — 2021
Создание информационной системы "Знаки зодиака" курсовая работа. Программирование, компьютеры и кибернетика.
Реферат: Рекомендации по оформлению общественного заказа
Пример Заполнения Дневника Практики Студента Медика
Реферат: Основы проектирования и конструирования 3
Алгебра Геометрия 8 Класс Контрольные Работы
Контрольная работа по теме Аналіз методичної роботи в школі
Отчет по практике по теме Экономическая деятельность туристического предприятия ООО 'Югзар'
Реферат: Центральные банки. Сущность, функции и роль в регулировании экономики
Мой Режим Дня Эссе
Методичка: Активизация познавательной деятельности учащихся коррекционной школы на уроках русского языка. Скачать бесплатно и без регистрации
Нипо Итоговая Аттестационная Работа По Налоговому Праву
Атмосфераның Адам Денсаулығына Әсері Эссе 60 Сөз
Общая Теорема Менелая И Ей Обратная Реферат
Рефераты Физра 7 Класс Привычка
Сколько Стоит Написать Докторскую Диссертацию По Медицине
Общая характеристика размерной обработки
Рефераты Темы 10 Класс
Реферат: Мотивация врожденной и приобретенной агрессии. Скачать бесплатно и без регистрации
Реферат: Cerebral Palsy Essay Research Paper The Effects
Баламалы Энергия Көздері Эссе
Реферат по теме Сестринский процесс при циррозах печени. Диагностика, лечение
Цели и задачи логистики - Маркетинг, реклама и торговля шпаргалка
Расследование преступлений, связанных с незаконным оборотом наркотиков - Государство и право курсовая работа
Педагогические основы физического воспитания в системе школьного образования - Педагогика реферат