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 с.: ил.