Реферат по предмету "Информатика, программирование"


Создание базы данных "Стадионы города" на языке C

НИЖЕГОРОДСКИЙ ГОСУДАРСТВЕННЫЙ
ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ
СПЕЦИАЛЬНЫЙ ФАКУЛЬТЕТ
Дисциплина: ИНФОРМАТИКА

Курсовая работа
Создание базы данных

Работу выполнил
студент группы ИС
Проверил преподаватель
Тежикова Н.П.
Нижний Новгород 2006
Задание
Создать на языке C базу данных «Стадионы города».
Поля: название стадиона, годпостройки, вместимость, количество площадок, виды спорта.
Программа должна осуществлять:
ввод и запись данных в текстовыйфайл,
корректировку введеннойинформации,
вывод на экран списка всехстадионов (по алфавиту),
вывод на экран стадионов,вместимость которых превышает указанную
поиск стадионов по заданнымвидам спорта.
Выбор режима работы долженвыполняться с помощью меню.
 Описание работы программы
В основной программеосуществляется загрузка базы данных в массив и вывод главного меню. Далеепользователю предлагается выбрать один из пунктов:
добавление записи;
удаление записи;
редактирование записи;
вывод всех стадионов (поалфавиту);
вывод стадионов по вместимости;
поиск стадионов по видам спорта;
выход из программы.
Если пользователь выбралдобавление новой записи, ему предлагается заполнить все поля таблицы поочереди. Запись добавляется в конец таблицы, счетчик записей увеличивается наединицу, происходит упорядочивание записей по алфавиту.
При выборе второго или третьегопункта пользователю предоставляется список всех записей и ожидается ввод номеразаписи для удаления или редактирования соответственно. После выборапользователю выводится на экран та запись, которую он выбрал. Если пользовательвыбрал второй пункт, то от пользователя ожидается подтверждение удаления записи.Если пользователь выбрал третий пункт, то пользователь должен ввести все поля,а затем подтвердить или отменить редактирования записи.
При выборе пункта 4 на экранвыведутся все записи. Упорядочивание по алфавиту происходит автоматически присоздании, удалении или редактировании записи.
При выборе пятого пунктапользователю предлагается сначала выбрать тип вместимости стадионов (равно,больше, меньше, больше или равно, меньше или равно), затем ввести вместимость,по которой хотите отфильтровать записи. После этого на экран выведутся записиудовлетворяющие условию.
При выборе пункта 6,пользователю предоставляется ввод вида спорта. После этого на экран выведутсязаписи удовлетворяющие условию. В программе не учитывается регистр букв, т.к.все строки автоматически приводятся к верхнему регистру.
При выборе пункта семь,пользователь подтверждает или отменяет выход из программы.
Алгоритм работы программыприведен в виде блок-схемы в приложении 1. Листинг программы приведен вприложении 2.
Описание функций программы
void save () — сохранение базы данных вфайл (C: \Student\05IS\db. kp);
void alf () — упорядочивает все записи поназванию стадионов по алфавиту;
void prin (int i) — выводит на экран запись сномером i (нумерация идет с 0 элемента);
void prin_all () -выводитна экран все записи;
void add () — добавление записи;
void remov () — удаление записи;
void edit () — редактирование записи;
void prin_vmes ()- вывод на экран записей по вместимости, удовлетворяющих условию;
void find () — вывод на экран записей повидам спорта, удовлетворяющих условию;
Заключение
В результате выполнения заданиябыла создана программа, полностью отвечающая предъявленным требованиям. Былиреализованы механизмы добавления, редактирования и удаления записей, всеперечисленные в задании режимы поиска и отображения данных. Организованосохранение и загрузка данных из текстового файла. Для массива, в котором должныхраниться данные, была описана структура.
Приложения
Приложение 1
 /> />
Алгоритм выполнения программы:
 

Приложение 2
 
Листинг программы:
#include«stdio. h»
#include «conio.h»
#include «string.h»
#include «time.h»
structstadiums{
char Name [15];
short int D_cr;
int Sapacity;
short int C_pl;
char N_sp [10][15] ;
};
stadiums s[100] ;
intCount,strok;
void save () {
FILE* f;
if (f==fopen(«C: \\Student\\05IS\\db. kp»,«w») ==NULL) {
printf («Filecoldn't create»);
getch ();
return;
}
fwrite (&s,sizeof(s),1,f);
fclose (f);
}
void alf () {
stadiums temp;
for (int i=0;i
for (int j=i+1;j
if ( (strcmp (strupr(s [j]. Name),strupr (s [i]. Name))
temp=s [j] ;
s [j] =s [i] ;
s [i] =temp;
}
return;
}
void prin_head() {
printf ("-----------------------------------------------------------------------------\n");
printf ("|| Name | Year stadium | Capacity | Amount | Sports |\n");
printf ("-----------------------------------------------------------------------------\n");
return;
}
void prin (inti) {
char pr=' ';
printf ("|%2d|", i+1); strok++;
printf ("%15s|",s [i]. Name);
printf ("%12d|",s [i]. D_cr);
printf ("%8d|",s [i]. Sapacity);
printf ("%6d|",s [i]. C_pl);
for (int j=0;j
if (j==0)printf ("%15s |\n",s [i]. N_sp [j]);
else if (strok!=44) {
printf ("|%2c|%15c |%12c |%8c |%6c |%15s |\n",pr,pr,pr,pr,pr,s [i]. N_sp [j]);
strok++;
}
else{printf(«Press any key for continue»); getch (); clrscr (); strok=0; }
}
printf ("-----------------------------------------------------------------------------\n");
strok++;
return;
}
void prin_all (){
clrscr ();
prin_head ();
strok=3;
for (int i=0;i
prin (i);
}
printf ("\n");
return;
}
void add () {
tm *T; time_ttt; tt=time (NULL); T=localtime (&tt);
Count++;
clrscr ();
printf ("\n\t\t\t\tADDRECORD\n");
printf («EnterName stadium (no more 15 symbols): „);
scanf (“%s»,s[Count-1]. Name);
strupr (s[Count-1]. Name);
do {
printf («EnterDate of construction: „);
scanf (“%d»,&s[Count-1]. D_cr);
}while ( (s[Count-1]. D_cr (T->tm_year+1900)));
do {
printf («Entersapacity of stadium: „);
scanf (“%d»,&s[Count-1]. Sapacity);
}while (s[Count-1]. Sapacity
do {
printf («EnterAmount platforms (no more 10): „);
scanf (“%d»,&s[Count-1]. C_pl);
} while (s[Count-1]. C_pl10);
for (int i=0;i
printf («Entersport%d (no more 15 symbols): », i+1);
scanf ("%s",s[Count-1]. N_sp [i]);
strupr (s[Count-1]. N_sp [i]);
}
alf ();
printf («Newrecord is added\n»); getch ();
return;
}
void remov () {
int num=0;
clrscr ();
printf ("\n\t\t\t\tREMOVERECORD\n");
prin_all ();
while (numCount){
printf («Enternumber record for edit: „);
scanf (“%d»,&num);
}
printf («Youhave chosen record: \n»);
prin_head ();
prin (num-1);
printf («Doyou want remove record? (Y\\N) \n»);
if ( (getch ()=='y') || (getch () =='Y')) {
strcpy (s[num-1]. Name,'\0');
s [num-1].D_cr=0;
s [num-1].Sapacity=0;
for (int i=0;i
strcpy (s[num-1]. N_sp [i],'\0');
s [num-1].C_pl=0;
alf ();
Count--;
printf («Recordis removed\n»); getch ();
}
return;
}
void edit () {
tm *T; time_ttt; tt=time (NULL); T=localtime (&tt);
stadiums temp;
int num=0, i;
clrscr ();
printf ("\t\t\tEDITRECORD\n");
prin_all ();
while (numCount){
printf («Enternumber record for edit: „);
scanf (“%d»,&num);
}
clrscr ();
printf («Youhave chosen record: \n»);
prin_head ();
prin (num-1);
printf («Enternew Name stadium (no more 15 symbols): „);
scanf (“%s»,temp.Name);
strupr (temp.Name);
do {
printf («Enternew Date of construction: „);
scanf (“%d»,&temp.D_cr);
} while ( (temp.D_cr (T->tm_year+1900)));
do {
printf («Enternew Sapacity of stadium: „);
scanf (“%d»,&temp.Sapacity);
} while (temp.Sapacity
do {
printf («Enternew Amount platforms (no more 10): „);
scanf (“%d»,&temp.C_pl);
} while (temp.C_pl10);
for (i=0;i
printf («Enternew sport%d (no more 15 symbols): », i+1);
scanf ("%s",temp.N_sp [i]);
strupr (temp.N_sp [i]);
}
printf («Doyou want change record? (Y\\N) \n»);
if ( (getch ()=='y') || (getch () =='Y')) {
strcpy (s[num-1]. Name,temp. Name);
s [num-1].D_cr=temp. D_cr;
s [num-1].Sapacity=temp. Sapacity;
s [num-1].C_pl=temp. C_pl;
for (i=0;i
strcpy (s[num-1]. N_sp [i],temp. N_sp [i]);
alf ();
printf («Recordis changed\n»); getch ();
}
return;
}
void prin_vmes() {int i, cap;
clrscr ();
printf ("\t\t\tSEALON CAPACITY\n");
printf («Choosea kind: \n»);
printf («1.=\n»);
printf («2.>\n»);
printf («3.
printf («4.>=\n»);
printf («5.
switch (getch ()){
case '1':printf («Enter capacity (=): „);
scanf (“%d»,&cap);
prin_head ();
for (i=0;i
if (s [i].Sapacity==cap) prin (i);
break;
case '2':printf («Enter capacity (>): „);
scanf (“%d»,&cap);
prin_head ();
for (i=0;i
if (s [i].Sapacity>cap) prin (i);
break;
case '3':printf («Enter capacity (
scanf (“%d»,&cap);
prin_head ();
for (i=0;i
if (s [i].Sapacity
break;
case '4':printf («Enter capacity (>=): „);
scanf (“%d»,&cap);
prin_head ();
for (i=0;i
if (s [i].Sapacity>=cap) prin (i);
break;
case '5':printf («Enter capacity (
scanf (“%d»,&cap);
prin_head ();
for (i=0;i
if (s [i].Sapacity
break;
}
getch ();
return;
}
void find () {char sport [15]; int i,j;
clrscr ();
printf ("\t\t\tSEALKIND OF SPORT\n");
printf («Entersport (no more 15 symbols): „);
scanf (“%s»,sport);
prin_head ();
for (i=0;i
for (j=0;j
if (strcmp (strupr(s [i]. N_sp [j]),strupr (sport)) ==0) prin (i);
getch ();
return;
}
int main ()
{
clrscr ();
FILE* f; charc;
Count=0;
if ( (f=fopen(«C: \\Student\\05IS\\db. kp»,«rb»)) ==NULL) {
printf («Thefile does not exist\n»);
fclose (f);
printf («Youwant continue? (Y\\N) \n»);
c=getch ();
if ( (c=='n')|| (c=='N')) return 1;
}
else {
fread (&s,sizeof(s),1,f);
for (int i=0; s[i]. D_cr! =0; i++) Count=i+1;
alf ();
}
fclose (f);
while (1) {
clrscr ();
printf ("---------------------------------\n");
printf ("|Academic year project |\n");
printf ("|on Computer science |\n");
printf ("|- -----------------------------|\n");
printf ("|To create a database |\n");
printf ("|\«Stadiums of city\» |\n");
printf ("|Variant #8 |\n");
printf ("|Okunev Stanislav has executed |\n");
printf ("---------------------------------\n");
printf («Menu:\n»);
printf («1.Add record\n»);
printf («2.Remove record\n»);
printf («3.Edit record\n»);
printf («4.Show all stadiums\n»);
printf («5.Show stadiums on capacity\n»);
printf («6.Search of stadiums by kinds of sports\n»);
printf («7.Exit\n»);
printf («Presskey: „);
c=getch ();
switch (c) {
case '1': add ();break;
case '2': remov(); break;
case '3': edit(); break;
case '4':prin_all (); getch (); break;
case '5':prin_vmes (); break;
case '6': find(); break;
case '7':printf (“\nYou really want to leave? (Y\\N) \n»);
c=getch ();
if ( (c=='y')|| (c=='Y')) {save (); return 1; }
}
}
return0;
}

Приложение 3
 
Результаты выполненияпрограммы:
Главное меню:
/>
Добавление записи:
/>
Вывести на экран список всехстадионов:
/>

Вывести на экран стадионы повместимости:
/>
Вывести на экран стадионы поуказанному виду спорта:
/>


Не сдавайте скачаную работу преподавателю!
Данный реферат Вы можете использовать для подготовки курсовых проектов.

Поделись с друзьями, за репост + 100 мильонов к студенческой карме :

Пишем реферат самостоятельно:
! Как писать рефераты
Практические рекомендации по написанию студенческих рефератов.
! План реферата Краткий список разделов, отражающий структура и порядок работы над будующим рефератом.
! Введение реферата Вводная часть работы, в которой отражается цель и обозначается список задач.
! Заключение реферата В заключении подводятся итоги, описывается была ли достигнута поставленная цель, каковы результаты.
! Оформление рефератов Методические рекомендации по грамотному оформлению работы по ГОСТ.

Читайте также:
Виды рефератов Какими бывают рефераты по своему назначению и структуре.