Скачиваний:
125
Добавлен:
08.05.2014
Размер:
3.61 Кб
Скачать
program for_kristina_number_4;


uses crt, strings;

{/*
* Љ®«ў® ­®¬Ґа®ў.
*/}

const numbers = 15;


{/*
* ®вЇаҐ¤Ґ«пҐ¬ ­®ўлҐ вЁЇл, ЇҐаҐ¬Ґ­­лҐ.
*/}

type name_type = array[0..80] of char;
type room = record
name : name_type;
name2 : name_type;
end;
type hotel_type = array[0..numbers-1] of room;

var hotel : hotel_type;
var exit_code : shortint;
var var_file : file of hotel_type;





{/*
* ”г­ЄжЁЁ f_name Їлв Ґвбп ­ ©вЁ § ЇЁбм Ї® Ё¬Ґ­Ё,
* Є ᮦ «Ґ­Ёо згўб⢨⥫쭠 Є ॣЁбваг ЎгЄў, в Є зв® «гзиҐ ўбҐ ¬ «Ґ­мЄЁ¬Ё
* ЇЁб вм. …б«Ё ‚ б, ¤®Ўа®¤ги­л© Ї®«м§®ў вҐ«м, нв® ­Ґ а ¤гҐв Ё§¬Ґ­ЁвҐ дг­ЄжЁо
* strcomp. ‚ Є зҐб⢥  аЈг¬Ґ­в  дг­ЄжЁп ЇаЁ­Ё¬ Ґв Ё¬п,   ў®§ўа й Ґв
* ­®¬Ґа (-1 ў б«гз Ґ ­Ґг¤ зЁ).
*/}

function f_name(name : name_type) : shortint;
var i : byte;
begin
clrscr;
for i := 0 to numbers-1 do
begin
if ((strcomp(name, hotel[i].name) = 0) or (strcomp(name, hotel[i].name2) = 0)) then
begin
f_name := i;
exit;
end;
end;
f_name := -1;
end;




{/*
* ”г­ЄжЁЁ add ¤®Ў ў«пҐв ­®ў®Ј® Є«ЁҐ­в .
*/}

procedure add;
var str_tmp : name_type;
var error : shortint;
var i : shortint;
begin
clrscr;
for i := 0 to numbers-1 do
if ((strcomp(hotel[i].name, '') = 0) or ((i >= 5) and (strcomp(hotel[i].name2, '') = 0))) then break;

repeat
write('Please enter new name: ');
readln(str_tmp);
error := f_name(str_tmp);
until error = -1;
if (strcomp(hotel[i].name, '') = 0) then strcopy(hotel[i].name, str_tmp)
else strcopy(hotel[i].name2, str_tmp);
end;



{/*
* ”г­ЄжЁЁ delete г¤ «пҐв § ЇЁбм ® Є«ЁҐ­вҐ.
*/}

procedure delete;
var str_tmp : name_type;
var error : integer;
var i : shortint;
begin
clrscr;
repeat
write('Please enter name you want to delete:');
readln(str_tmp);
error := f_name(str_tmp);
until error <> -1;

if (strcomp(str_tmp, hotel[error].name) = 0) then strcopy(hotel[error].name, hotel[error].name2);
strcopy(hotel[error].name2, '');
writeln('It was deleted!');
end;



{/*
* ”г­ЄжЁЁ find Їа®бЁв ўўҐбвЁ Ё¬п   ­  нЄа ­ ўлў®¤Ёв ­®¬Ґа Є®¬­ вл.
*/}

procedure find;
var str_tmp : name_type;
var error : integer;
begin
clrscr;
repeat
write('Please enter name:');
readln(str_tmp);
error := f_name(str_tmp);
until error <> -1;

writeln('Room: ', error+1);
end;



{/*
* ѓ« ў­ п дг­ЄжЁп Є®в®а п § ЇгбЄ Ґвбп ў ЇҐаўго ®зҐаҐ¤м.
* ’ Є ¦Ґ бзЁвлў Ґв Ў §г ЇаЁ ўе®¤Ґ Ё § ЇЁблў Ґв ЇаЁ ўл室Ґ.
*/}

begin

assign (var_file, 'c:\LANGUA~1\TP7\1\data1.dat');
{$I-}
reset(var_file);
if (ioresult <> 0) then rewrite(var_file)
else read(var_file, hotel);
{$I+}
close (var_file);

repeat
clrscr;
writeln('Hello man!', #010, #013, 'This is main menu, please make your'+
'choice.');
writeln('1. Add to database');
writeln('2. Delete from database');
writeln('3. Find by name');
writeln('4. Exit');
write('I want: ');

case readkey of
'1' : add;
'2' : delete;
'3' : find;
'4' : exit_code := 1;
else writeln(#010, #013, 'Hm... Try again');
end;
readkey;
until exit_code = 1;


assign (var_file, 'c:\LANGUA~1\TP7\1\data1.dat');
rewrite(var_file);
write(var_file, hotel);
close (var_file);

end.