46261 (607807), страница 3

Файл №607807 46261 (Разработка базы данных, отражающей учет успеваемости студентов) 3 страница46261 (607807) страница 32016-07-30СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 3)

tem:=rab;

while tem^.sled<>nil do tem:=tem^.sled;

new(tem^.sled);

tem:=tem^.sled;

end

else begin

new(rab);

tem:=rab;

end;

writeln(mm[t,1]);readln(tem^.tabl.t1);

writeln(mm[t,2]);readln(tem^.tabl.t2);

writeln(mm[t,3]);readln(tem^.tabl.t3);

writeln(mm[t,4]);readln(tem^.tabl.t4);

writeln(mm[t,5]);readln(tem^.tabl.t5);

tem^.sled:=nil;

tem:=rab;

izm:=0;

nast:=menu1;

menus(nast,nast.m);

tek:=2; iz:=0;

end

else if iz=2 then begin {Удаление записи}

tems:=rab;

tabl1(tek,rab,true);

writeln('Введите уникальный номер'); readln(dlud);

bis:=true;

if rab^.tabl.t1 = dlud then begin

rab:=rab^.sled;

bis:=false;

end

else begin

while tems<>nil do begin

if tems^.sled^.tabl.t1=dlud then begin

tem:=tems^.sled;

tems^.sled:=tems^.sled^.sled;

dispose(tem);

bis:=false;

break;

end;

tems:=tems^.sled;

end;

end;

if bis then writeln('Данной записи не обнаруженно');

nast:=menu1;

menus(nast,nast.m);

tabl1(tek,rab,false);

izm:=0;

tek:=2;

end

else if iz=3 then begin {изменение данных}

tems:=rab;

tabl1(tek,rab,true);

writeln('Введите уникальный номер'); readln(dlud);

bis:=true;

while tems<>nil do begin

if tems^.tabl.t1=dlud then begin

writeln(mm[t,1]);readln(tems^.tabl.t1);

writeln(mm[t,2]);readln(tems^.tabl.t2);

writeln(mm[t,3]);readln(tems^.tabl.t3);

writeln(mm[t,4]);readln(tems^.tabl.t4);

writeln(mm[t,5]);readln(tems^.tabl.t5);

break;

end;

tems:=tems^.sled;

end;

if bis then writeln('Данной записи не обнаруженно');

nast:=menu1;

menus(nast,nast.m);

tabl1(tek,rab,false);

izm:=0; tek:=2;

end;

end;

procedure zapros(num:integer); {Запросы}

var str1,str2,str3:string;

tem1,tem2:cc;

nay:boolean;

zz:tabl2;

begin

clrscr;

nay:=false;

case num of

2:begin {Найти оценку}

tem1:=tt1;

writeln('Введите фамилию'); readln(str1);

writeln('Введите название предмета');readln(str2);

while tem1<>nil do begin

if tem1^.tabl.t2=str1 then begin str1:=tem1^.tabl.t1; break; end;

tem1:=tem1^.sled;

end;

tem1:=tt2;

while tem1<>nil do begin

if tem1^.tabl.t2=str2 then begin str2:=tem1^.tabl.t1; break; end;

tem1:=tem1^.sled;

end;

tem1:=tt4;

while tem1<>nil do begin

if ((tem1^.tabl.t5=str2) and (tem1^.tabl.t4=str1)) then begin

textcolor(red);

writeln('Оценка этого студента-',tem1^.tabl.t2);

nay:=true; break;

end;

tem1:=tem1^.sled;

end;

end;

3:begin {Преподаватель}

writeln('Выедите название предмета');

readln(str1);

tem1:=tt2;

while tem1<>nil do begin

if tem1^.tabl.t2=str1 then begin str1:=tem1^.tabl.t3; break; end;

tem1:=tem1^.sled;

end;

tem1:=tt3;

while tem1<>nil do begin

if tem1^.tabl.t1=str1 then begin

textcolor(red);

writeln('Преподаватель-');

with tem1^.tabl do write(' ',t2,', ',t3,', ',t4);

nay:=true; break;

end;

tem1:=tem1^.sled;

end;

end;

4:begin {Найти размер стипендии}

writeln('Введите фамилию студента');

readln(str1);

tem1:=tt1;

while tem1<>nil do begin

if tem1^.tabl.t2=str1 then begin

textcolor(red);

writeln('Стипендия-',tem1^.tabl.t5);

nay:=true; break;

end;

tem1:=tem1^.sled;

end;

end;

5:begin {Вывод всех студентов с избранной оценкой}

writeln('Введите оценку');

readln(str1);

tem1:=tt4; tem2:=tt1;

textcolor(red);

while tem1<>nil do begin

if tem1^.tabl.t2=str1 then begin

str2:=tem1^.tabl.t4;

while tem2<>nil do begin

if tem2^.tabl.t1=str2 then begin

with tem2^.tabl do

writeln('Студент-',t3,' ',t4,' ',t2);

nay:=true;

end;

tem2:=tem2^.sled;

end;

end;

tem2:=tt1; tem1:=tem1^.sled;

end;

end;

6:begin {Найти дату сдачи предмета}

writeln('Введите название предмета');

readln(str1);

tem1:=tt2;

while tem1<>nil do begin

if tem1^.tabl.t2=str1 then begin str1:=tem1^.tabl.t1; break; end;

tem1:=tem1^.sled;

end;

tem1:=tt4;

while tem1<>nil do begin

if tem1^.tabl.t5=str1 then begin

textcolor(red);

writeln('Дата сдачи-',tem1^.tabl.t3);

nay:=true;

end;

tem1:=tem1^.sled;

end;

end;

end;

textcolor(red);

if not nay then writeln('Запрос невыполним');

textcolor(3); readln;

nast:=menu1; menus(nast,nast.m);

tek:=2;

end;

procedure writetip(temr:cc);

begin

clrscr;

write('Введите имя файла');

writeln('в котором хотите сохранить данные');

readln(names);

for i:=1 to 4 do begin

if temr<>nil then begin temr:=nil; end;

case i of

1:begin temr:=tt1; namer:='1'+names; end;

2:begin temr:=tt2; namer:='2'+names; end;

3:begin temr:=tt3; namer:='3'+names; end;

4:begin temr:=tt4; namer:='4'+names; end;

end;

assign(outf,namer); rewrite(outf);

while temr<>nil do begin

write(outf, temr^.tabl);

temr:=temr^.sled;

end;

CLOSE(outf);

end;

nast:=menu1; menus(nast,nast.m); tek:=2;

end;

procedure readtip(temr:cc);

var tems:cc;

begin

clrscr;

write('Введите имя файла');

writeln('из которого надо взять данные'); readln(names);

for i:=1 to 4 do begin

if temr<>nil then begin temr:=nil; end;

if tems<>nil then begin tems:=nil; end;

case i of

1:begin new(tt1); temr:=tt1; namer:='1'+names; end;

2:begin new(tt2); temr:=tt2; namer:='2'+names; end;

3:begin new(tt3); temr:=tt3; namer:='3'+names; end;

4:begin new(tt4); temr:=tt4; namer:='4'+names; end;

end;

assign(outf,namer); reset(outf);

if eof(outf) then begin

case i of

1:begin dispose(tt1);tt1:=nil;end;

2:begin dispose(tt2);tt2:=nil;end;

3:begin dispose(tt3);tt3:=nil;end;

4:begin dispose(tt4);tt4:=nil;end;

end;

end

else begin

tems:=temr;

while temr<>nil do begin

if eof(outf) then break;

read(outf,temr^.tabl);

if eof(outf) then break;

new(temr^.sled);

temr:=temr^.sled;

end;

temr^.sled:=nil;

case i of

1:tt1:=tems;

2:tt2:=tems;

3:tt3:=tems;

4:tt4:=tems;

end;

end;

CLOSE(outf);

end;

nast:=menu1; menus(nast,nast.m); tek:=2;

end;

procedure main;

begin

key:=#0;

if nast.st[1]=menu1.st[1] then begin {Если меню - основное}

case tek of

2:readtip(temr);

3:writetip(temr);

4,5,7:begin

nast:=menu2; menus(nast,nast.m);

if tek=7 then issor:=true;

if tek=4 then vfile:=true

else if tek=5 then vfile:=false;

tek:=2;

end;

6:begin

nast:=menu3; menus(nast,nast.m); tek:=2;

end;

8:begin

nast:=menu4; menus(nast,nast.m); tek:=2;

end;

9: begin

exist:=true;

end;

end;

end

else if nast.st[1]=menu3.st[1] then begin {Если текущее меню-menu3}

case tek of

2,3,4:begin

izm:=tek-1;

nast:=menu2; menus(nast,nast.m); tek:=2;

end;

5:begin

nast:=menu1;

menus(nast,nast.m); tek:=2;

end;

end;

end

else if nast.st[1]=menu4.st[1] then begin {Если текущее меню-menu4}

case tek of

2,3,4,5,6:zapros(tek);

7:begin

nast:=menu1;

menus(nast,nast.m); tek:=2;

end;

end;

end

else if nast.st[1]=menu2.st[1] then begin {Если текущее меню-menu2}

if izm>0 then begin

case tek of

2:obrabotka(izm, tek-1,tt1);

3:obrabotka(izm, tek-1,tt2);

4:obrabotka(izm, tek-1,tt3);

5:obrabotka(izm, tek-1,tt4);

6:begin

nast:=menu1; menus(nast,nast.m); izm:=0; tek:=2;

end;

end;

end

else if issor=true then begin

issor:=false;

case tek of

2:sort(izm, tek-1,tt1);

3:sort(izm, tek-1,tt2);

4:sort(izm, tek-1,tt3);

5:sort(izm, tek-1,tt4);

6:begin

nast:=menu1; menus(nast,nast.m); izm:=0; tek:=2;

end;

end;

end

else begin

case tek of

2:if vfile then tabl11(tek,tt1)

else tabl1(tek,tt1,false);

3:if vfile then tabl11(tek,tt2)

else tabl1(tek,tt2,false);

4:if vfile then tabl11(tek,tt3)

else tabl1(tek,tt3,false);

5:if vfile then tabl11(tek,tt4)

else tabl1(tek,tt4,false);

6:begin

nast:=menu1; menus(nast,nast.m); izm:=0; tek:=2;

end;

end;

end;

end;

end;

begin

clrscr;

textBackground(black);

tek:=2; kr:='-';

exist:=false;

nast:=menu1; menus(nast,nast.m);

while 1>0 do begin

if keypressed then key:=readkey;

case key of

#80:ramka('+');

#72:ramka('-');

#27:exist:=true;

#13:main;

end;

if exist then exit;

krutis;

end;

end.

Текст модуля Tips.pas

Unit tips;

interface

type

pered=record

st:array[1..12] of string;

m:byte;

end;

tabl2=record

t1,t2,t3,t4,t5:string[12];

end;

cc=^tab;

tab=record

tabl:tabl2;

sled:cc;

end;

var

menu1,menu2,menu3,menu4:pered;

mm:array[1..5,1..5] of string[50];

implementation

begin

with menu1 do begin

st[1]:='БАЗА ДАННЫХ';

st[2]:='Загрузка';

st[3]:='Сохр. в тип. файл';

st[4]:='Сохр. в текст. файл';

st[5]:='Просмотр';

st[6]:='Корректировка';

st[7]:='Сортировка';

st[8]:='Запросы';

st[9]:='Выход';

m:=9;

end;

mm[1,1]:='Студенческий';

mm[1,2]:='Фамилия';

mm[1,3]:='Имя';

mm[1,4]:='Отчество';

mm[1,5]:='Стипендия';

mm[2,1]:='Код предмета';

mm[2,2]:='Название';

mm[2,3]:='Код преподав.';

mm[2,4]:='Время учебы';

mm[2,5]:='Курс';

mm[3,1]:='Код преподав.';

mm[3,2]:='Фамилия';

mm[3,3]:='Имя';

mm[3,4]:='Отчество';

mm[3,5]:='Начало работы';

mm[4,1]:='Код сдачи';

mm[4,2]:='Оценка';

mm[4,3]:='Дата сдачи';

mm[4,4]:='Студенческий';

mm[4,5]:='Код предмета';

with menu2 do begin

st[1]:='ПРОСМОТР';

st[2]:='Студенты';

st[3]:='Предметы';

st[4]:='Преподаватели';

st[5]:='Оценки';

st[6]:='Выход';

m:=6;

end;

with menu3 do begin

st[1]:='КОРРЕКТИРОВКА';

st[2]:='Добавление';

st[3]:='Удаление';

st[4]:='Изменение';

st[5]:='Выход';

m:=5;

end;

with menu4 do begin

st[1]:='ЗАПРОСЫ';

st[2]:='Найти оценку';

st[3]:='Кто принимал экзамен';

st[4]:='Найти размер стипендии';

st[5]:='Вывод по оценке';

st[6]:='Дата сдачи экзамена';

st[7]:='Выход';

m:=7;

end;

end.

Характеристики

Тип файла
Документ
Размер
1,33 Mb
Тип материала
Учебное заведение
Неизвестно

Список файлов курсовой работы

Свежие статьи
Популярно сейчас
А знаете ли Вы, что из года в год задания практически не меняются? Математика, преподаваемая в учебных заведениях, никак не менялась минимум 30 лет. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6513
Авторов
на СтудИзбе
302
Средний доход
с одного платного файла
Обучение Подробнее