Проектирование программы для обслуживания баз данных

 

Задание №1


Разработать программу для ведения базы данных, организованной на файлах.


Информация о людях1. Поиск людей, у которых день рождения в заданном для поиска месяце.1. Фамилия и имя (в строке через пробел)1. 2. Номер телефона (число)2. Поиск людей по первым трем буквам фамилии.3. Дата рождения (массив из трех чисел)

1.1Алгоритм программы




.2 Тестовые наборы


№ тестаВводОжидаемый результат15: PetPetrov Roman 985634129 5.2.9024: 2Seleznev Ivan 987654321 12.2.9; Petrov Roman 985634129 5.2.9035: IvaIvanov Petr 981234567 4.7.92

.3 Код программы


#include <stdio.h>

#include <locale.h>

#include <Windows.h>

#define SIZE 100

#define MAX 1000size_people;

//Структураinformation_of_the_people

{famile [10];name [10];number_telephone;date_of_birthday [3];

} people [SIZE];

//Основные функцииcreation_the_data ();see_the_data ();read_the_data_on_the_file ();

//Функции определенные заданиемsearch_the_people_of_mounth ();search_the_people_of_birthday ();

//Менюmain (void)

{(LC_CTYPE, "rus");menu;("--------------------------------------------------------------------------------");("Меню");("\n\tОсновные функции:\n1 - Создание записей\n2 - Просмотр записей\n3 - Считывание записей из файла");("\n\tФункции определенные заданием:\n4 - Поиск людей за заданным месяцем в дате рождения\n5 - Поиск людей за первыми тремя буквами фамилии");("\n\tФункция выхода:\n6 - Выход из программы\n");("--------------------------------------------------------------------------------");("Поле ввода: ");("%i", &menu);("--------------------------------------------------------------------------------");(menu)

{1:_the_data (); system ("cls"); main (); ;2: _the_data (); system ("cls"); main ();;3: _the_data_on_the_file (); system ("cls"); main ();;4:_the_people_of_mounth (); system ("cls"); main ();;5:_the_people_of_birthday (); system ("cls"); main ();;6:0;: ("\tОшибка! Некорректный ввод данных!\n"); system ("pause"); system ("cls"); fflush (stdin); main ();;

}

}

//1 - Создание записейcreation_the_data ()

{*fsave;=fopen ("base_of_data.txt", "wt");size;("Введите количество людей: "); (scanf ("%i", &size) != 1)

{(stdin);("\tОшибка! Некорректный ввод данных!\nВведите корректные данные: ");

}_people = size;("\n");(int i=0; i<size; i++)

{("%i Введите фамилию и имя: ", i+1);("%s %s", &people [i].famile, &people [i].name);("Введите номер телефона: ");("%d", &people [i].number_telephone);("Введите дату рождения: ");("%i.%i.%i", &people [i].date_of_birthday [0], &people [i].date_of_birthday [1], &people [i].date_of_birthday [2]);(fsave, "%s %s %d %i.%i.%i\n", people [i].famile, people [i].name, people [i].number_telephone, people [i].date_of_birthday [0], people [i].date_of_birthday [1], people [i].date_of_birthday [2]);("\n");

}(fsave);("Процесс завершился...\n");("pause");

}

//2 - Просмотр записейsee_the_data ()

{("\tСписок данных:\n");(int i=0; i<size_people; i++)

{("%i Фамилия и имя: %s %s\n", i+1, people [i].famile, people [i].name);("Номер телефона: %d\n", people [i].number_telephone);("Дата рождения: %i.%i.%i\n", people [i].date_of_birthday [0], people [i].date_of_birthday [1], people [i].date_of_birthday [2]);("\n");

}("Процесс завершился...\n");("pause");

}

//3 - Считывание записей из файлаread_the_data_on_the_file ()

{i=0;buf [MAX];*fsave;=fopen ("base_of_data.txt", "rt");(!feof (fsave))

{(fsave,"%s %s %d %i.%i.%i\n", people [i].famile, people [i].name, &people [i].number_telephone, &people [i].date_of_birthday [0], &people [i].date_of_birthday [1], &people [i].date_of_birthday [2]);++;

}(fsave);_people=i;("Процесс завершился...\n");("pause");

}

//4 - Поиск людей за заданным месяцем в дате рожденияsearch_the_people_of_mounth ()

{mounth, i;("Введите месяц в дате рождения: ");(scanf ("%i", &mounth) != 1 || mounth > 12)

{(stdin);("\tОшибка! Некорректный ввод данных!\nВведите корректные данные: ");

}("\n\tСписок людей:\n");(i=0; i<size_people; i++)(people [i].date_of_birthday [1] == mounth)

{("%i Фамилия и имя: %s %s\n", i+1, people [i].famile, people [i].name);("Номер телефона: %d\n", people [i].number_telephone);("Дата рождения: %i.%i.%i\n", people [i].date_of_birthday [0], people [i].date_of_birthday [1], people [i].date_of_birthday [2]);("\n");

}("Процесс завершился...\n");("pause");

}

//5 - Поиск людей за первыми тремя буквами фамилииsearch_the_people_of_birthday ()

{famile [5];k, cnt = 0, i;("Введите первые 3-ри буквы фамилии: ");("%s", &famile);(strlen (famile)!=3)

{(stdin);("\tОшибка! Некорректный ввод данных!\nВведите корректные данные: ");("%s", &famile);

}("\n\tСписок людей:\n");(i=0; i<size_people; i++)

{= 0;const la = strlen (people [i].famile);(int t = 0 ; t < la; t++)

{tmp[MAX] = "";(people [i].famile [t] == famile [0])

{j = t;= 0;(people [i].famile [j] == famile [k])

{[k] = people [i].famile [j];++; ++;

}(!(strcmp(famile,tmp)))++;(famile[0] == famile[1])+= strlen(famile) - 1;

}

} (cnt>0)

{("%i Фамилия и имя: %s %s\n", i+1, people [i].famile, people [i].name);("Номер телефона: %d\n", people [i].number_telephone);("Дата рождения: %i.%i.%i\n", people [i].date_of_birthday [0], people [i].date_of_birthday [1], people [i].date_of_birthday [2]);("\n");

}

}("Процесс завершился...\n");("pause");

}


.4 Результат работы программы


№ тестаВвод РезультатВывод1Menu = 5: PetPetrov Roman 985634129 5.2.90Тест пройден2Menu = 4: 2Seleznev Ivan 987654321 12.2.9; Petrov Roman 985634129 5.2.90Тест пройден3Menu = 5: IvaIvanov Petr 981234567 4.7.92Тест пройден



программа информационный алгоритм

1.5 Вывод о работоспособности программы


Программа прошла тестирование: в результате выполнения тестов программа выдала ожидаемые результаты. Программа - работоспособна.


Задание №1 Разработать программу для ведения базы данных, организованной на файлах. Информация о людях1. Поиск людей, у которых день рождения в за

Больше работ по теме:

Проектирование цикла работы токарного модуля
Практическое задание
Работа со списками
Практическое задание
Работа в GPSS World
Практическое задание
Работа в среде командной оболочки Microsoft Powershell
Практическое задание
Работа с BMP-изображениями
Практическое задание

КОНТАКТНЫЙ EMAIL: [email protected]

Скачать реферат © 2017 | Пользовательское соглашение

Скачать      Реферат

ПРОФЕССИОНАЛЬНАЯ ПОМОЩЬ СТУДЕНТАМ