Смекни!
smekni.com

Разработка базы данных для расписания занятий (стр. 2 из 2)

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