Осталось сдать одну программу, но я не могу её написать!
Надо написать программу ведения файла, содержащего сведения о расписании занятий: - день недели; - номер пары; - название предмета; - фамилия преподавателя. В программе должны быть реализованы следующие функции: · ввод записей; · корректировка записей; · удаление записей; · просмотр записей на экране. Требуемая функция выбирается с помощью меню. +нужно реальзовать функцию, которая выводит в текстовый файл сведения о расписании занятий каждого преподавателя по дням недели. Все процедуры и функции должны быть в отдельном Unit'e
Короче, если у кого-нибуть есть время и желание помочь бедному студенту, то напишите пожалуйста! ОЧЕНЬ НАДО!
СПАСИБО!
klem4
22.12.2005 1:22
Используй поиск " задача записи", "типизированный файл"
таких задач решено огромное количество ...
rikimaru
22.12.2005 5:10
СТранно... ничего именно решенного, я к сожалению не нашел
rikimaru
22.12.2005 22:14
Help me HELP PLEASE!
klem4
22.12.2005 22:23
вот тебе пример писал кому-то давно, без файла :
program kuznecov_3;
uses crt;
type
TFirm = record
firmName : string[21];
s : single;
end;
TArea = record
firmN : byte;
firms : array[1..20] of TFirm;
end;
TBase = array[1..20] of TArea;
var
k,l : byte;
base : TBase;
procedure FillData(var r : TBase; n : byte);
var
i,j : byte;
beginfor i := 1to n dowith r[i] dobegin
writeln('Rayon № ',i);
write('Vvedite kolichestvo firm dla rayona № ',i,' : ');
readln(firmN);
for j := 1to firmN dowith firms[j] dobegin
write('Vvedite nazvanie predptiyatia № ',j,' : ');
readln(firmName);
write('Vvedite dohod predpriyatiya : ');
readln(s);
writeln;
end;
clrscr;
end;
writeln('Spasibo, vvod zaverhen, najmite <Enter>');
readln;
clrscr;
end;
function GetAreaSum(r : TBase; areaN : byte) : single;
var
t : byte;
sum : single;
begin
sum := 0;
with r[areaN] dofor t := 1to firmN do
sum := sum + firms[t].s;
GetAreaSum := sum;
end;
procedure ShowAreaSum;
var
i : byte;
begin
clrscr;
write('Vvedite nomer rayona : ');
readln(i);
writeln('Summa dohodov firm rayona № ',i,' = ',GetAreaSum(base, i):2:2);
writeln('Najmite <Enter>');
readln;
end;
procedure ShowAllAreaSum(n : byte);
var
i : byte;
begin
clrscr;
for i := 1to n do
writeln('Summa dohodov dla rayona № ',i,' = ',GetAreaSum(base,i):3:2);
writeln('Najmite <Enter>');
readln;
end;
procedure ShowSortedTable(r : TBase; n : byte);
procedure Sort(var b : TBase);
var
i : byte;
temp : TArea;
flag : boolean;
beginrepeat
flag := true;
for i := 1to n-1doifnot(GetAreaSum(b,i)>=GetAreaSum(b,i+1)) thenbegin
temp := b[i];
b[i] := b[i+1];
b[i+1] := temp;
flag := false;
end;
until flag;
end;
var
i : byte;
begin
Sort(r);
for i := 1to n dowith r[i] do
writeln('Rayon № ',i,' s=',GetAreaSum(r, i):3:2);
writeln('Najmite <Enter>');
readln;
end;
procedure menu(var quit : boolean);
begin
clrscr;
writeln('Vibirite punkt menu : ');
writeln;
writeln('1 -> Vivesti summu dohodov po zadannomu rayonu.');
writeln('2 -> Vivesti summu dohodov po vsem rayonam.');
writeln('3 -> Vivesti otsortirovannie dannie');
writeln;
writeln('4 -> Zavershit rabotu programmi.');
case readkey of'1': ShowAreaSum;
'2': ShowAllAreaSum(k);
'3': ShowSortedTable(base, k);
'4': quit := true;
end;
exit;
end;
var
q : boolean;
begin
q := false;
clrscr;
write('Vvedite kolichestro rayonov : ');
readln(k);
FillData(base, k);
whilenot(q) do menu(q);
end.
еще раз настоятельно советую использовать поиск
Агри
22.12.2005 23:06
Обидно будет, если не сдам одну-единственную задачу и не получу автомата. Помогите, пожалуйста. В упор не доходит, как делать.
Задача: Есть файл, содержащий текст программы на Паскале. Преобразовать его в файл слов. Проверить в нём соответствие begin и end, case и end. Подсчитать кол-во соответствующих операторов.
Изучаем мы, конечно, Delphi, но преобразовать из Паскаля в Делфи смогу. В поиске подобного не нашла. Заранее благодарна.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.