Автор: Пользователь скрыл имя, 13 Декабря 2012 в 12:20, курсовая работа
Современная вычислительная техника позволяет решать большое количество различных задач. Пожалуй, наиболее важным применением ЭВМ стало хранение информации. Удобные и разнообразные средства для этой цели предоставляют технологии баз данных и информационно-справочных систем. Целью данной курсовой работы является приобретение опыта алгоритмизации, конструирования, практической реализации программ и широкого применения ЭВМ, на примере программирования информационно-справочной системы. В качестве языка программирования выбран язык TURBO PASCAL, изучаемый на занятиях по дисциплине “Программирование на языках высокого уровня”.
delay(1000);
col:=not(col);
until keypressed{выход по нажатию любой клавиши}
end;
end.
{*****************************
{* Модуль
содержащий процедуры для добавления
строк в таблицы
{* Процедура ADDSTRING- является основной и используется в главной программе *}
{* n-входной
параметр, отвечающий за то какая таблица
будет создана
{*****************************
unit AddStr;
Interface
uses cozdan,help;
Procedure AddString(n:integer);
Procedure AddBD;
Implementation
Uses crt;
Type
stud=record
fam:string[21];
grup:string[13];
inf:string[22];
spec:string[7];
end;
st=record
fam:string[80];
spec:string[30];
stip:string[50];
lgot:string[30];
end;
Procedure Russ;
begin
textbackground(11);
GotoXY(2,25);
write(' Для переключения
на русский язык используйте
клавиши Shift+"Контекстное
textbackground(7);
end;
Procedure MessageVopros;
var
i:integer;
begin
textcolor(0);
for i:=1 to 6 do
writeln('');
writeln('╔════════════════════
writeln('║ Вы действительно хотите добавить строку? ║':65);
writeln('╠════════════════════
writeln('║ Нажмите Enter для продолжения и ESC для отмены ║':65);
writeln('╚════════════════════
end;
Procedure AddString(n:integer);
Var
i,p:integer;
newStr1:stud;
newStr2:st;
peremen: integer;
f1:file of stud;
f2:file of st;
key:char;
Begin
clrscr;
MessageVopros;
key:=readkey;
if key=#13 then begin
clrscr;
if n=1
then
begin
with NewStr1 do
begin
writeln('╔════════════════════
writeln('║ Ф.И.О.:
writeln('╠════════════════════
writeln('║ Группа:
writeln('╠════════════════════
Writeln('║ Информация:
writeln('╠════════════════════
Writeln('║ Специальность:
writeln('╚════════════════════
russ;
GotoXY(30,2);
Readln(fam);
GotoXY(30,4);
Readln(grup);
GotoXY(30,6);
Readln(inf);
GotoXY(30,8);
Readln(spec);
end;
Clrscr;
dobav;
assign(f1,'studentinf.txt');
reset(f1);
peremen:= FileSize(f1); {stroka dlia otladki}
seek(f1,FileSize(f1));
write(f1,NewStr1);
close(f1);
end;
if n=2
then
begin
with NewStr2 do
Begin
writeln('╔════════════════════
writeln('║ Ф.И.О:
writeln('╠════════════════════
writeln('║ Специальность:
writeln('╠════════════════════
Writeln('║ Стипендия:
writeln('╠════════════════════
Writeln('║ Льготы:
writeln('╚════════════════════
russ;
GotoXy(30,2);
Readln(fam);
GotoXy(30,4);
Readln(spec);
GotoXy(34,6);
Readln(stip);
GotoXy(30,8);
Readln(lgot);
End;
Clrscr;
Dobav;
assign(f2,'stip.txt');
reset(f2);
peremen:= FileSize(f2);
seek(f2,FileSize(f2));
write(f2,NewStr2);
close(f2);
end;
end
else exit;
if key=#27 then exit;
end;
Procedure AddBD;
var ch,key:char;
t,i:integer;
begin
clrscr;
for t:=1 to 6 do
writeln;
writeln('╔════════════════════
writeln('║ Вы действительно хотите создать БД? ║':65);
writeln('╠════════════════════
writeln('║ Нажмите Enter для продолжения и ESC для отмены ║':65);
writeln('╚════════════════════
ch:=readkey;
if ch=#13 then begin
i:=1;
repeat
clrscr;
textbackground(11);
TextColor(0);
gotoXY(37,10);
Writeln('ВЫБЕРИТЕ БД,');
gotoXY(31,11);
Writeln('КОТОРУЮ ВЫ ХОТИТЕ СОЗДАТЬ');
TextColor(0);
textbackground(7);
gotoXY(2,25);
Write(' ',#24,'- Вверх ');
Write(' ',#25,' - Вниз ');
Write('Enter - Выбор ');
repeat
if (Key=#80) then i:=i+1; {переход вниз}
if (Key=#72) then i:=i-1; {переход вверх}
if (i=4) then i:=1; {переход с последней на первую строку}
if (i=0) then i:=4;
{переход с первой на
case i of
1: begin
textbackground(14);
textcolor(0);
gotoXY(33,13);
Writeln(' Студенты ');
textbackground(7);
gotoXY(33,14);
Writeln(' Стипендия ');
gotoXY(33,15);
Writeln(' Выход ');
end;
2: begin {второе положение}
textbackground(7);
textcolor(0);
gotoXY(33,13);
Writeln(' Студенты ');
textbackground(14);
gotoXY(33,14);
Writeln(' Стипендия ');
gotoXY(33,15);
textbackground(7);
Writeln(' Выход ');
end;
3: begin {третье положение}
textbackground(7);
textcolor(0);
gotoXY(33,13);
Writeln(' Студенты ');
gotoXY(33,14);
Writeln(' Стипендия ');
textbackground(14);
gotoXY(33,15);
Writeln(' Выход ');
textbackground(7);
end;
end;
TextColor(0);
key:=readkey; {нажатие клавиши}
until (Key=#13);
case i of
1: tablic1;
2: tablic2;
end;
textbackground(11);
until i=3;
end
else exit;
if ch=#27 then exit;
textbackground(11);
end;
End.
{*****************************
{* Модуль
СOZDAN предназначен для создания таблиц
{*
Процедура tablic1- служит для создания БД-студенты
{*
Процедура tablic2- служит для создания БД-стипендия
{* Процедура МSОK- служит для вывода сообщения об успешном добавлении *}
{*****************************
Unit Cozdan;
{Создание таблиц для базы данных}
Interface
Procedure tablic1;{таблица для анкетных данных сотрудников}
Procedure tablic2;{таблица для данных об обсуживаемых домах}
Procedure MSOK;{выводит сообщения об успехе в действии}
Implementation
uses crt;
Const
Nmax=30;
Procedure Russ;
begin
textbackground(11);
GotoXY(2,25);
write(' Для переключения на русский язык используйте клавиши Shift+"Контекстное меню"');
textbackground(7);
end;
procedure MSOK;
var i:integer;
begin
clrscr;
textcolor(0);
for i:=1 to 6 do
writeln('');
writeln('╔════════════════════
writeln('║ БД успешна добавлена! ║':65);
writeln('╠════════════════════
writeln('║ Для продолжения нажмите любую клавишу ║':65);
writeln('╚════════════════════
Readkey;
end;
{таблица для анкетных данных сотрудников}
Procedure tablic1;
Type
stud=record
fam:string[21];
grup:string[13];
inf:string[22];
spec:string[7];
end;
Var
lineFile:stud;
k,i,n:Integer;
ft:File of stud ;
Begin
Assign (ft,'studentinf.txt');
Rewrite (ft);
clrscr;
writeln('╔════════════════════
Writeln('║ Введите количество студентов: ║':65);
writeln('╠════════════════════
writeln('║
writeln('╚════════════════════
GotoXY(40,4);
Readln(n);
clrscr;
For i:=1 to n do
Begin
writeln('╔════════════════════
Writeln('║ Введите данные о ':34,i,'-ом студенте ║':30);
writeln('╚════════════════════
with lineFile do
Begin
writeln('╔════════════════════
writeln('║ Ф.И.О.:
writeln('╠════════════════════
writeln('║ Группа:
writeln('╠════════════════════
Writeln('║ Информация:
writeln('╠════════════════════
Writeln('║Специальность: ║':65);
writeln('╚════════════════════
russ;
GotoXY(30,5);
Readln(fam);
GotoXY(30,7);
Readln(grup);
GotoXY(30,9);
Readln(inf);
GotoXY(30,11);
Readln(spec);
End;
Write(Ft,lineFile);
writeln;
clrscr;
End;
clrscr;
MSOK;
close(ft);
End;
{таблица для данных об обсуживаемых домах}
Procedure tablic2;
Type
st=record
fam:string[80];
spec:string[30];
stip:string[50];
lgot:string[30];
end;
Var
lineFile:st;
k,i,n:Integer;
ft:File of st;
Begin
Assign (ft,'stip.txt');
Rewrite (ft);
clrscr;
writeln('╔════════════════════
Writeln('║ Введите количество студентов: ║':65);
writeln('╠════════════════════
writeln('║
writeln('╚════════════════════
GotoXY(40,4);
Readln(n);
clrscr;
For i:=1 to n do
Begin
Информация о работе Программирование на языках высокого уровня "Стипендия"