Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ° Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ Π΄Π»Ρ ΡΠ°ΡΠΏΠΈΡΠ°Π½ΠΈΡ Π·Π°Π½ΡΡΠΈΠΉ
U2→zip.time.watch.fst_time==zill.time.watch.fst_time)&&(u2→zip.time.watch.scd_time==zill.time.watch.scd_time)&&(u2→zip.predmet==zill.predmet)&&(u2→zip.fio_teacher==zill.fio_teacher)&&. If ((u2→zip. n_group==zill.n_group)&&(u2→zip.n_pdgrup==zill.n_pdgrup)&&(u2→zip.time.n_ned==zill.time.n_ned)&&(u2→zip.time.den_ned==zill.time.den_ned)&&. Void move_line (int kol_proced, void (*proced… Π§ΠΈΡΠ°ΡΡ Π΅ΡΡ >
Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ° Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ Π΄Π»Ρ ΡΠ°ΡΠΏΠΈΡΠ°Π½ΠΈΡ Π·Π°Π½ΡΡΠΈΠΉ (ΡΠ΅ΡΠ΅ΡΠ°Ρ, ΠΊΡΡΡΠΎΠ²Π°Ρ, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½Π°Ρ)
ΠΠΠ’Π£ ΠΈΠΌΠ΅Π½ΠΈ ΠΠ°ΡΠΌΠ°Π½Π°
ΠΠΎΡΡΠ½ΠΈΡΠ΅Π»ΡΠ½Π°Ρ Π·Π°ΠΏΠΈΡΠΊΠ° ΠΏΠΎ ΠΊΡΡΡΠΎΠ²ΠΎΠΌΡ ΠΏΡΠΎΠ΅ΠΊΡΡ Π½Π° ΡΠ΅ΠΌΡ:
«Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ° Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ Π΄Π»Ρ ΡΠ°ΡΠΏΠΈΡΠ°Π½ΠΈΡ Π·Π°Π½ΡΡΠΈΠΉ»
ΠΠΠ‘ΠΠΠ 2006
1. ΠΠ²Π΅Π΄Π΅Π½ΠΈΠ΅
1.1 ΠΠΎΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π·Π°Π΄Π°ΡΠΈ
1.2 ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΠ°Π±ΠΎΡΡ
2. ΠΠ»Π³ΠΎΡΠΈΡΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°
3. ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅
4. ΠΠΈΡΠ΅ΡΠ°ΡΡΡΠ°
1. ΠΠ²Π΅Π΄Π΅Π½ΠΈΠ΅
1.1 ΠΠΎΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π·Π°Π΄Π°ΡΠΈ
ΠΠ°Π΄Π°ΡΠ΅ΠΉ Π΄Π°Π½Π½ΠΎΠΉ ΠΊΡΡΡΠΎΠ²ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ ΡΠ²Π»ΡΠ΅ΡΡΡ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠ΅ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΠΌΠΎΠΉ Π΄Π»Ρ ΡΠ°ΡΠΏΠΈΡΠ°Π½ΠΈΡ Π·Π°Π½ΡΡΠΈΠΉ Π² ΡΠ½ΠΈΠ²Π΅ΡΡΠΈΡΠ΅ΡΠ΅.
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π½Π° ΡΠ·ΡΠΊΠ°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ «C++».ΠΠ°Π·Π° Π΄Π°Π½Π½ΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΠΏΠΈΡΠΎΠΊ ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΠΎΠ². Π‘ ΡΠ°ΡΠΏΠΈΡΠ°Π½ΠΈΠ΅ΠΌ Π·Π°Π½ΡΡΠΈΠΉ Π²Π΅Π΄ΡΡΡΡ ΡΠ°ΠΊΠ°Ρ ΠΎΡΠ½ΠΎΠ²Π½Π°Ρ ΡΠ°Π±ΠΎΡΠ° ΠΊΠ°ΠΊ:
a. Π²Π²ΠΎΠ΄ Π½ΠΎΠ²ΠΎΠΉ Π·Π°ΠΏΠΈΡΠΈ
b. ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ
c. ΠΏΡΠΎΡΠΌΠΎΡΡ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ
d. ΠΏΠΎΠΈΡΠΊ Π΄Π°Π½Π½ΡΡ ΠΈ Ρ. Π΄.
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
#include
#include
#include
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 Ρ.: ΠΈΠ».