МГТУ імені Баумана
Пояснювальна записка по курсовому проекту на тему:
"Розробка бази даних для розкладу занять"
МОСКВА 2006
Зміст
1. Введення
Постановка завдання
Опис роботи
2. Алгоритми використовуються в процесі виконання проекту
Додаток
Література
1. Введення
Постановка завдання
Завданням даної курсової роботи є написання бази даних застосовної для розкладу занять в університеті.
Програма реалізована на мовах програмування "C + +". База даних містить список предметів. З розкладом занять ведеться така основна робота як:
введення нового запису
зміна бази даних
перегляд бази даних
пошук даних і т.д.
1.2 Опис роботи
Реалізація бази даних включає в себе наступні компоненти:
- Вводиться група, підгрупа,
- Вводяться тиждень, день тижня і час
- Вводяться предмет і прізвище викладача
- Вибирається аудиторія
2. Алгоритми використовуються в процесі виконання проекту
У даній програмі використовувалися стандартні прийоми програмування, характерні для написання баз даних. Використовувався структурний тип для опису одного запису:
struct zap
{
char fio_teacher [20];
int n_pdgrup;
char n_audit [6];
char predmet [10];
struct ti
{
int n_ned;
char den_ned [11];
struct wat
{
int fst_time, scd_time;
} Watch;
} Time;
char n_group [6];
};
struct spisok
{
zap zip [1];
struct spisok * a;
};
Пошук запису відбувається за наступним алгоритмом:
void outzap ()
{
int h, time_zip, time_zip_end, time_zill, x_up, p;
char chose;
textbackground (BLACK);
window (1,1,80,23);
clrscr ();
textcolor (WHITE);
window (27,5,50,20);
if (kolzap == 0)
{
puts ("Записів немає!");
getche ();
exit (0);
}
window (1,1,80,23); gotoxy (10,3);
gotoxy (27,6); puts ("Введіть групу:"); scanf ("% s", zill [1]. n_group);
gotoxy (27,7); puts ("Введіть підгрупу:"); scanf ("% d", zill [1]. n_pdgrup);
gotoxy (27,8); puts ("Введіть тиждень:"); scanf ("% d", zill [1]. time.n_ned);
gotoxy (27,9); puts ("Введіть день тижня:"); scanf ("% s", zill [1]. time.den_ned);
gotoxy (20,10); puts ("Вивести розклад на день або за часом (y / n)");
chose = getche ();
switch (chose)
{
case 'y':
{
u2 = u1;
clrscr ();
x_up = 5;
p = 0;
while (u2! = NULL)
{
if ((u2-> zip [1]. n_group == zill [1]. n_group) & & (u2-> zip [1]. n_pdgrup == zill [1]. n_pdgrup) & &
(U2-> zip [1]. Time.n_ned == zill [1]. Time.n_ned) & & (u2-> zip [1]. Time.den_ned == zill [1]. Time.den_ned))
{
gotoxy (20, x_up);
if (u2-> zip [1]. time.watch.scd_time <10) printf ("% d", u2-> zip [1]. time.watch.fst_time, ": 0", u2-> zip [1 ]. time.watch.scd_time);
else printf ("% d", u2-> zip [1]. time.watch.fst_time ,":", u2-> zip [1]. time.watch.scd_time);
gotoxy (27, x_up); printf ("% s", u2-> zip [1]. predmet);
gotoxy (39, x_up); printf ("% s", u2-> zip [1]. n_audit);
x_up = x_up +1;
p = 1;
}
u2 = u2-> a;
}
if (p == 0)
{
gotoxy (20,6);
puts ("Можливо група задана невірно або у неї немає пар.");
}
scanf ("% d", & a);
getche ();
exit (0);
}
case 'n':
при натисканні клавіші "n" запис шукається за часом.
3. Додаток
# Include <stdio.h>
# Include <conio.h>
# Include <stdlib.h>
# Include <io.h>
FILE * f;
typedef char arr_string [7] [25];
struct zap
{
char fio_teacher [20];
int n_pdgrup;
char n_audit [6];
char predmet [10];
struct ti
{
int n_ned;
char den_ned [11];
struct wat
{
int fst_time, scd_time;
} Watch;
} Time;
char n_group [6];
};
struct spisok
{
zap zip [1];
struct spisok * a;
};
struct zap zill [1];
struct spisok * sled, * u1, * u2, * pred, * pred2;
int i, j, col_pr, col_pn, kolzap, l, pl, b;
char kbd, kod, yes, a;
char dg [20], fm [20], filename [20];
int p;
arr_string s, d;
void outdone ();
void menu ();
void newzap ();
void delzap ();
void outzap ();
//------------------------------------------------ -----------------------------
void schet ()
{
kolzap = 0;
u2 = u1;
while (u2! = NULL)
{
kolzap = kolzap +1;
u2 = u2-> a;
}
}
//------------------------------------------------ -------------------------------------
void formir_spisok ()
{
u1 = NULL;
u2 = NULL;
if (! feof (f)) exit (0);
u1 = (struct spisok *) malloc (sizeof (struct spisok));
fread (u1-> zip, sizeof u1-> zip, 1, f);
u1-> a = NULL;
u2 = u1;
while (feof (f)! = 0)
{
u2-> a = (struct spisok *) malloc (sizeof (struct spisok));
u2 = u2-> a;
fread (u2-> zip, sizeof u1-> zip, 1, f);
u2-> a = NULL;
}
pred = u2;
fclose (f);
}
//------------------------------------------------ ------------------------------
void menudiag ()
{
textbackground (BLACK);
window (1,1,80,23);
clrscr ();
textbackground (BLACK);
window (27,5,47,5);
textbackground (RED);
textcolor (GREEN);
printf (d [1]);
window (27,7,47,7);
textbackground (BLACK);
textcolor (GREEN);
printf (d [2]);
window (27,9,47,9);
textbackground (BLACK);
textcolor (GREEN);
printf (d [3]);
i = 5; j = 1; p = 1;
col_pr = GREEN;
col_pn = RED;
}
//------------------------------------------------ -------------------------------
void quit ()
{
outdone ();
exit (0);
}
//------------------------------------------------ ---------------------------
void quit2 ()
{
exit (0);
}
//------------------------------------------------ ---------------------------
void move_line (int kol_proced, void (* proced) (), void (* proced1) (), void (* proced2) (), void (* proced3) (), void (* proced4) (), arr_string string_arr)
{
proced ();
do
{
kbd = getche ();
if ((kbd! = 27) & & (kbd! = 13) & & (kbd! = 0))
{
kbd = getche ();
switch (kbd)
{
case 72:
{
window (27, i, 47, i);
textbackground (BLACK);
textcolor (col_pr);
clreol ();
printf ("% s", string_arr [j]);
if (i == 5)
{
i = 5 + kol_proced * 2-2;
j = kol_proced;
}
else
{
i = i-2;
j = j-1;
}
window (27, i, 47, i);
textbackground (col_pn);
textcolor (col_pr);
clreol ();
printf ("% s", string_arr [j]);
}
case 80:
{
window (27, i, 47, i);
textbackground (BLACK);
textcolor (col_pr);
clreol ();
printf ("% s", string_arr [j]);
if (i == 5 + kol_proced * 2-2)
{
i = 5;
j = 1;
}
else
{
i = i +2;
j = j +1;
}
window (27, i, 47, i);
textbackground (col_pn);
textcolor (col_pr);
clreol ();
printf ("% s", string_arr [j]);
}
}
}
switch (kbd)
{
case 27: exit (0);
case 13: {
switch (j)
{
case 1: proced1 ();
case 2: proced2 ();
case 3: proced3 ();
case 4: {
proced4 ();
exit (0);
}
}
proced ();
}
}
} While (p == 0);
}
//------------------------------------------------ ----------------------------------
void open ()
{
textbackground (BLACK);
window (1,1,80,23);
clrscr ();
textbackground (BLACK);
window (20,5,78,5);
clrscr ();
gotoxy (20,5);
textcolor (WHITE);
printf ("Введіть шлях та ім'я файлу:");
gets (filename);
if ((f = fopen (filename, "wb "))== NULL)
{
textbackground (BLACK);
window (1,1,80,23);
clrscr ();
gotoxy (27,5);
textcolor (WHITE);
printf ("Файл відсутня!");
getche ();
exit (0);
}
formir_spisok ();
schet ();
move_line (4, menu, newzap, outzap, delzap, quit, s);
}
//------------------------------------------------ ----------------------------------
void newfile ()
{
textbackground (BLACK);
window (1,1,80,23);
clrscr ();
textbackground (BLACK);
window (20,5,78,5);
clrscr ();
gotoxy (20,5);
textcolor (WHITE);
printf ("Введітe шлях і ім'я файлу:");
gets (filename);
f = fopen (filename, "wb");
formir_spisok ();
schet ();
move_line (4, menu, newzap, outzap, delzap, quit, s);
}
//------------------------------------------------ -------------------------------
void menu ()
{
textbackground (BLACK);
clrscr ();
textbackground (BLACK);
window (27,5,46,5);
textbackground (RED);
textcolor (GREEN);
puts (s [1]);
window (27,7,46,7);
textbackground (BLACK);
textcolor (GREEN);
puts (s [2]);
window (27,9,46,9); puts (s [3]);
window (27,11,46,11); puts (s [4]);
window (27,13,46,13); puts (s [5]);
window (27,15,46,15); puts (s [6]);
window (27,17,46,17); puts (s [7]);
window (27,5,46,5);
i = 5; j = 1; p = 1;
col_pr = GREEN;
col_pn = RED;
}
//------------------------------------------------ ----------------------------------
void newzap ()
{
char a;
if (kolzap == 0)
{
u1 = (struct spisok *) malloc (sizeof (struct spisok));
textbackground (BLACK);
window (1,1,80,23);
clrscr ();
textcolor (WHITE);
gotoxy (27,5); puts ("Заповніть новий запис");
gotoxy (27,6); puts ("Введіть групу:"); scanf ("% s", zill [1]. n_group);
gotoxy (27,7); puts ("Введіть підгрупу:"); scanf ("% d", & zill [1]. n_pdgrup);
gotoxy (27,8); puts ("Введіть тиждень:"); scanf ("% d", zill [1]. time.n_ned);
gotoxy (27,9); puts ("Введіть день тижня:"); scanf ("% s", zill [1]. time.den_ned);
gotoxy (27,10); puts ("Введіть час::");
gotoxy (41,10); a = getche (); printf ("% d", a); b = (ord (a) -48) * 10;
gotoxy (42,10); a = getche (); printf ("% d", a); b = b + (ord (a) -48);
zill [1]. time.watch.fst_time = b;
gotoxy (44,10); a = getche (); printf ("% d", a); b = (ord (a) -48) * 10;
gotoxy (45,10); a = getche (); printf ("% d", a); b = b + (ord (a) -48);
zill [1]. time.watch.scd_time = b;
gotoxy (27,12); puts ("Введіть предмет:"); scanf ("% s", zill [1]. predmet);
gotoxy (27,13); puts ("Введіть прізвище викладача:"); scanf ("% s", zill [1]. fio_teacher);
gotoxy (27,14); puts ("Введіть аудиторію:"); scanf ("% s", zill [1]. n_audit);
u1-> zip [1] = zill [1];
u1-> a = NULL;
u2 = u1;
pred = u1;
}
else
{
textbackground (BLACK);
window (1,1,80,23);
clrscr ();
textcolor (WHITE);
gotoxy (27,5); puts ("Заповніть новий запис");
gotoxy (27,6); puts ("Введіть групу:"); scanf ("% s", zill [1]. n_group);
gotoxy (27,7); puts ("Введіть підгрупу:"); scanf ("% d", zill [1]. n_pdgrup);
gotoxy (27,8); puts ("Введіть тиждень:"); scanf ("% d", zill [1]. time.n_ned);
gotoxy (27,9); puts ("Введіть день тижня:"); scanf ("% s", zill [1]. time.den_ned);
gotoxy (27,10); puts ("Введіть час::");
gotoxy (41,10); a = getche (); printf ("% d", a); b = (ord (a) -48) * 10;
gotoxy (42,10); a = getche (); printf ("% d", a); b = b + (ord (a) -48);
zill [1]. time.watch.fst_time = b;
gotoxy (44,10); a = getche (); printf ("% d", a); b = (ord (a) -48) * 10;
gotoxy (45,10); a = getche (); printf ("% d", a); b = b + (ord (a) -48);
zill [1]. time.watch.scd_time = b;
gotoxy (27,12); puts ("Введіть предмет:"); scanf ("% s", zill [1]. predmet);
gotoxy (27,13); puts ("Введіть прізвище викладача:"); scanf ("% s", zill [1]. fio_teacher);
gotoxy (27,14); puts ("Введіть аудиторію:"); scanf ("% s", zill [1]. n_audit);
u2 = pred;
u2-> a = (struct spisok *) malloc (sizeof (struct spisok));
u2 = u2-> a;
u2-> zip [1] = zill [1];
u2-> a = NULL;
pred = u2;
}
kolzap = kolzap +1;
}
//------------------------------------------------ ---------------------------------
void delzap ()
{
int h, x, y, p;
char c, key, a;
textbackground (BLACK);
window (1,1,80,23);
clrscr ();
textcolor (WHITE);
window (1,1,80,23);
if (kolzap == 0)
{
gotoxy (27,6);
puts ("Записів немає!");
getche ();
exit (0);
}
gotoxy (27,6); puts ("Введіть групу:"); scanf ("% s", zill [1]. n_group);
gotoxy (27,7); puts ("Введіть підгрупу:"); scanf ("% d", zill [1]. n_pdgrup);
gotoxy (27,8); puts ("Введіть тиждень:"); scanf ("% d", zill [1]. time.n_ned);
gotoxy (27,9); puts ("Введіть день тижня:"); scanf ("% s", zill [1]. time.den_ned);
gotoxy (27,10); puts ("Введіть час:: ");
gotoxy (41,10); a = getche (); printf ("% d", a); b = (ord (a) -48) * 10;
gotoxy (42,10); a = getche (); printf ("% d", a); b = b + (ord (a) -48);
zill [1]. time.watch.fst_time = b;
gotoxy (44,10); a = getche (); printf ("% d", a); b = (ord (a) -48) * 10;
gotoxy (45,10); a = getche (); printf ("% d", a); b = b + (ord (a) -48);
zill [1]. time.watch.scd_time = b;
gotoxy (27,12); puts ("Введіть предмет:"); scanf ("% s", zill [1]. predmet);
gotoxy (27,13); puts ("Введіть прізвище викладача:"); scanf ("% s", zill [1]. fio_teacher);
gotoxy (27,14); puts ("Введіть аудиторію:"); scanf ("% s", zill [1]. n_audit);
u2 = u1;
pred2 = u2;
p = 0;
while ((u2! = NULL) & & (p == 0))
{
if ((u2-> zip [1]. n_group == zill [1]. n_group) & & (u2-> zip [1]. n_pdgrup == zill [1]. n_pdgrup) & &
(U2-> zip [1]. Time.n_ned == zill [1]. Time.n_ned) & & (u2-> zip [1]. Time.den_ned == zill [1]. Time.den_ned) & &
(U2-> zip [1]. Time.watch.fst_time == zill [1]. Time.watch.fst_time) & & (u2-> zip [1]. Time.watch.scd_time == zill [1]. Time . watch.scd_time) & &
(U2-> zip [1]. Predmet == zill [1]. Predmet) & & (u2-> zip [1]. Fio_teacher == zill [1]. Fio_teacher) & &
(U2-> zip [1]. N_audit == zill [1]. N_audit))
{
p = 1;
gotoxy (10,20);
puts ("Ви хотіли б змінити або видалити запис? (y-змінити / n-видалити ):");
c = getche ();
switch (c)
{
case 'y': {
clrscr ();
gotoxy (10,2); puts ("Для зміни натисніть клавішу Y, далі-клавішу N:");
x = wherex ();
y = wherey ();
gotoxy (10,4); puts ("Не забувайте перемикати розкладку клавіатури (Англ \ Укр)");
gotoxy (15,6); printf ("Група:% s", zill [1]. n_group);
gotoxy (x, y);
key = getche ();
if ((key == 'y')||( key ==' н')||( key == 'Y')||( key ==' Н '))
{
gotoxy (15,6);
puts ("Група:");
gotoxy (22,6);
scanf ("% s", u2-> zip [1]. n_group);
}
gotoxy (x-1, y);
puts ("");
gotoxy (15,7);
printf ("Підгрупа:% s", zill [1]. n_pdgrup);
gotoxy (x, y);
key = getche ();
if ((key == 'y')||( key ==' н')||( key == 'Y')||( key ==' Н '))
{
gotoxy (15,7);
puts ("Підгрупа:");
gotoxy (25,7);
scanf ("% d", & u2-> zip [1]. n_pdgrup);
}
gotoxy (x-1, y);
puts ("");
gotoxy (15,8);
printf ("Тиждень:% d", zill [1]. time.n_ned);
gotoxy (x, y);
key = getche ();
if ((key == 'y')||( key ==' н')||( key == 'Y')||( key ==' Н '))
{
gotoxy (15,8);
puts ("Тиждень:");
gotoxy (22,8);
scanf ("% d", & u2-> zip [1]. time.n_ned);
}
gotoxy (x-1, y);
puts ("");
gotoxy (15,9);
printf ("День тижня:% s", zill [1]. time.den_ned);
gotoxy (x, y);
key = getche ();
if ((key == 'y')||( key ==' н')||( key == 'Y')||( key ==' Н '))
{
gotoxy (15,9);
puts ("День тижня: ");
gotoxy (27,9);
scanf ("% s", u2-> zip [1]. time.den_ned);
}
gotoxy (x-1, y);
puts ("");
gotoxy (15,10);
if (zill [1]. time.watch.scd_time <10) printf ("Час:% d", zill [1]. time.watch.fst_time, ": 0% d", zill [1]. time.watch . scd_time);
else printf ("Час:% d", zill [1]. time.watch.fst_time, ":% d", zill [1]. time.watch.scd_time);
gotoxy (x, y);
key = getche ();
if ((key == 'y')||( key ==' н')||( key == 'Y')||( key ==' Н '))
{
gotoxy (15,10);
puts ("Час::");
gotoxy (21,10); a = getche (); printf ("% d", a); b = (ord (a) -48) * 10;
gotoxy (22,10); a = getche (); printf ("% d", a); b = b + (ord (a) -48);
u2-> zip [1]. time.watch.fst_time = b;
gotoxy (24,10); a = getche (); printf ("% d", a); b = (ord (a) -48) * 10;
gotoxy (25,10); a = getche (); printf ("% d", a); b = b + (ord (a) -48);
u2-> zip [1]. time.watch.scd_time = b;
}
gotoxy (x-1, y);
puts ("");
gotoxy (15,11);
printf ("Предмет:% s", zill [1]. predmet);
gotoxy (x, y);
key = getche ();
if ((key == 'y')||( key ==' н')||( key == 'Y')||( key ==' Н '))
{
gotoxy (15,11);
puts ("Предмет:");
gotoxy (23,11);
scanf ("% s", u2-> zip [1]. predmet);
}
gotoxy (x-1, y);
puts ("");
gotoxy (15,12);
printf ("Прізвище викладача:% S", zill [1]. fio_teacher);
gotoxy (x, y);
key = getche ();
if ((key == 'y')||( key ==' н')||( key == 'Y')||( key ==' Н '))
{
gotoxy (15,12);
puts ("Прізвище викладача:");
gotoxy (37,12);
scanf ("% s", u2-> zip [1]. fio_teacher);
}
gotoxy (x-1, y);
puts ("");
gotoxy (15,13);
printf ("Аудиторія:% s", zill [1]. n_audit);
gotoxy (x, y);
key = getche ();
if ((key == 'y')||( key ==' н')||( key == 'Y')||( key ==' Н '))
{
gotoxy (15,13);
puts ("Аудиторія:");
gotoxy (25,13);
scanf ("% s", u2-> zip [1]. n_audit);
}
}
case 'n':
{
if (kolzap == 1)
{
free (u2);
u1 = NULL;
u2 = NULL;
kolzap = kolzap-1;
exit (0);
}
if (kolzap! = 1)
{
h = 1; u2 = u1;
while (u2! = NULL)
{
if ((u2-> zip [1]. n_group == zill [1]. n_group) & & (u2-> zip [1]. n_pdgrup == zill [1]. n_pdgrup) & & (u2-> zip [1] . time.n_ned == zill [1]. time.n_ned) & & (u2-> zip [1]. time.den_ned == zill [1]. time.den_ned) & &
(U2-> zip [1]. Time.watch.fst_time == zill [1]. Time.watch.fst_time) & & (u2-> zip [1]. Time.watch.scd_time == zill [1]. Time . watch.scd_time) & & (u2-> zip [1]. predmet == zill [1]. predmet) & & (u2-> zip [1]. fio_teacher == zill [1]. fio_teacher) & &
(U2-> zip [1]. N_audit == zill [1]. N_audit))
{
sled = u2-> a;
free (u2);
if (h == 1)
{
u1 = sled;
kolzap = kolzap-1;
exit (0);
}
if (sled == NULL)
{
pred2-> a = NULL;
pred = pred2;
kolzap = kolzap-1;
exit (0);
}
pred2-> a = sled;
kolzap = kolzap-1;
exit (0);
}
pred2 = u2;
h = h +1;
u2 = u2-> a;
}
}
}
}
}
u2 = u2-> a;
}
if (p == 0)
{
gotoxy (27,15);
puts ("Такий запису немає!");
getche ();
exit (0);
}
}
//------------------------------------------------ ---------------------------------
void outzap ()
{
int h, time_zip, time_zip_end, time_zill, x_up, p;
char chose;
textbackground (BLACK);
window (1,1,80,23);
clrscr ();
textcolor (WHITE);
window (27,5,50,20);
if (kolzap == 0)
{
puts ("Записів немає!");
getche ();
exit (0);
}
window (1,1,80,23); gotoxy (10,3);
gotoxy (27,6); puts ("Введіть групу:"); scanf ("% s", zill [1]. n_group);
gotoxy (27,7); puts ("Введіть підгрупу:"); scanf ("% d", zill [1]. n_pdgrup);
gotoxy (27,8); puts ("Введіть тиждень:"); scanf ("% d", zill [1]. time.n_ned);
gotoxy (27,9); puts ("Введіть день тижня:"); scanf ("% s", zill [1]. time.den_ned);
gotoxy (20,10); puts ("Вивести розклад на день або за часом (y / n)");
chose = getche ();
switch (chose)
{
case 'y':
{
u2 = u1;
clrscr ();
x_up = 5;
p = 0;
while (u2! = NULL)
{
if ((u2-> zip [1]. n_group == zill [1]. n_group) & & (u2-> zip [1]. n_pdgrup == zill [1]. n_pdgrup) & &
(U2-> zip [1]. Time.n_ned == zill [1]. Time.n_ned) & & (u2-> zip [1]. Time.den_ned == zill [1]. Time.den_ned))
{
gotoxy (20, x_up);
if (u2-> zip [1]. time.watch.scd_time <10) printf ("% d", u2-> zip [1]. time.watch.fst_time, ": 0", u2-> zip [1 ]. time.watch.scd_time);
else printf ("% d", u2-> zip [1]. time.watch.fst_time ,":", u2-> zip [1]. time.watch.scd_time);
gotoxy (27, x_up); printf ("% s", u2-> zip [1]. predmet);
gotoxy (39, x_up); printf ("% s", u2-> zip [1]. n_audit);
x_up = x_up +1;
p = 1;
}
u2 = u2-> a;
}
if (p == 0)
{
gotoxy (20,6);
puts ("Можливо група задана невірно або у неї немає пар.");
}
scanf ("% d", & a);
getche ();
exit (0);
}
case 'n':
{
gotoxy (20,10); puts ("");
gotoxy (27,10); puts ("Введіть час::");
gotoxy (41,10); a = getche (); printf ("% d", a); b = (ord (a) -48) * 10;
gotoxy (42,10); a = getche (); printf ("% d", a); b = b + (ord (a) -48);
zill [1]. time.watch.fst_time = b;
gotoxy (44,10); a = getche (); printf ("% d", a); b = (ord (a) -48) * 10;
gotoxy (45,10); a = getche (); printf ("% d", a); b = b + (ord (a) -48);
zill [1]. time.watch.scd_time = b;
u2 = u1; h = 1;
time_zill = zill [1]. time.watch.fst_time * 60;
time_zill = time_zill + zill [1]. time.watch.scd_time;
while (u2! = NULL)
{
if ((u2-> zip [1]. n_group == zill [1]. n_group) & & (u2-> zip [1]. n_pdgrup == zill [1]. n_pdgrup) & &
(U2-> zip [1]. Time.n_ned == zill [1]. Time.n_ned) & & (u2-> zip [1]. Time.den_ned == zill [1]. Time.den_ned))
{
time_zip = u2-> zip [1]. time.watch.fst_time * 60;
time_zip = time_zip + u2-> zip [1]. time.watch.scd_time;
time_zip_end = time_zip +90;
if ((time_zill> = time_zip) & & (time_zill <= time_zip_end))
{
gotoxy (27,12); printf ("Предмет:% s", u2-> zip [1]. predmet);
gotoxy (27,13); printf ("Прізвище викладача:% s", u2-> zip [1]. fio_teacher);
gotoxy (27,14); printf ("Аудиторія:% s", u2-> zip [1]. n_audit);
scanf ("% d", & a);
getche ();
exit (0);
}
}
u2 = u2-> a;
}
gotoxy (20,14);
puts ("Ймовірно у групи немає пари в цей час");
scanf ("% d", a);
getche ();
}
}
}
//----------------------- Запис запису у файл --------------------- ---------
void outdone ()
{
f = fopen (filename, "wb");
u2 = u1;
while (u2! = NULL)
{
fwrite (u2-> zip, sizeof u2-> zip, 1, f);
u1 = u2-> a;
free (u2);
u2 = u1;
}
fclose (f);
}
//------------------------------------------------ -------------------------------
void main ()
{
move_line (3, menudiag, open, newfile, quit2, quit2, d);
}
4. Література
1. Березін Б.І., Березін С.Б. Б48 Початковий курс С і С + +. - М.: ДІАЛОГ-МІФІ, 2000.-288 с.
2. Франка П. Ф83 С + +: навчальний курс - СПб: ЗАТ "Видавництво" Пітер ", 1999. - 528 с.: Іл.