Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.06.2012, 22:23   #1
ToType
Новичок
Джуниор
 
Регистрация: 19.06.2012
Сообщений: 1
По умолчанию Нужно изменить программу с массивов на типизированные файлы

Собственно код программы,но с действиями в массивах.
Код:
program ex2;
uses crt;
const k=3; n1=10;
Type predpr=record
FIO:string[30];
tabnom,nomer:word;
zar,zar1:real;
end;
var
rab,r:array[1..n1] of predpr;
i,j:integer; n,z,l:byte; sredzar:real; nomer1:word;
begin
clrscr;
textcolor(15);
writeln('введите количество записей ');
readln(n);
clrscr;
writeln('---------------------------------------------------------------------');
writeln('|            Ф. И. О.           | таб. номер | № участка | зарплата |');
writeln('---------------------------------------------------------------------');
for i:=1 to n do
with rab[i] do
begin
gotoxy(1,i+3); write('|');
  gotoxy(3,i+3);
  read(FIO);
gotoxy(33,i+3); write('|');
  gotoxy(35,i+3);
  read(tabnom);
gotoxy(46,i+3); write('|');
  gotoxy(52,i+3);
  read(nomer);
gotoxy(58,i+3); write('|');
  while nomer>k do
     begin
     gotoxy(52,i+3);
     clreol;
     write('Неправильный ввод!');
     readkey;
     gotoxy(52,i+3);
     clreol;
     read(nomer);
     gotoxy(58,i+3); write('|');
     end;
  gotoxy(60,i+3);
  readln(zar);
  zar1:=zar;
gotoxy(69,i+3); writeln('|');
  end;
writeln('---------------------------------------------------------------------');
readkey;
for i:=1 to n do
for j:=1 to n-i do

if rab[j].zar < rab[j+1].zar then
begin
r[j].tabnom:=rab[j].tabnom;
rab[j].tabnom:=rab[j+1].tabnom;
rab[j+1].tabnom:=r[j].tabnom;

r[j].FIO:=rab[j].FIO;
rab[j].FIO:=rab[j+1].FIO;
rab[j+1].FIO:=r[j].FIO;

r[j].nomer:=rab[j].nomer;
rab[j].nomer:=rab[j+1].nomer;
rab[j+1].nomer:=r[j].nomer;

r[j].zar:=rab[j].zar;
rab[j].zar:=rab[j+1].zar;
rab[j+1].zar:=r[j].zar;
end;
clrscr;
writeln('-----------------------сортировка по убыванию з/п--------------------');
writeln('|            Ф. И. О.           | таб. номер | № участка | зарплата |');
writeln('---------------------------------------------------------------------');
for i:=1 to n do
with rab[i] do
begin
sredzar:=sredzar+zar;
gotoxy(1,i+3); write('|');
gotoxy(3,i+3);
write (FIO);
gotoxy(33,i+3); write('|');
gotoxy(35,i+3);
write(tabnom);
gotoxy(46,i+3); write('|');
gotoxy(52,i+3);
write(nomer);
gotoxy(58,i+3); write('|');
write(zar:8:0);
gotoxy(69,i+3); writeln('|');
end;
writeln('---------------------------------------------------------------------');
readkey;
sredzar:=sredzar/n;
writeln('средняя зарплата по предприятию= ',sredzar:4:2);
readkey;
clrscr;
for i:=1 to n do
with rab[i] do
begin
zar:=zar-sredzar;
end;

writeln('--------------------------таблица по отклонению з/п------------------------');
writeln('|            Ф. И. О.           | таб. номер | № участка |откл. от ср. з/п|');
writeln('---------------------------------------------------------------------------');
for i:=1 to n do
with rab[i] do
begin
gotoxy(1,i+3); write('|');
gotoxy(3,i+3);
write(FIO);
gotoxy(33,i+3); write('|');
gotoxy(35,i+3);
write(tabnom);
gotoxy(46,i+3); write('|');
gotoxy(52,i+3);
write(nomer);
gotoxy(58,i+3); write('|');
write(zar:15:2);
gotoxy(75,i+3); writeln('|');
end;
writeln('---------------------------------------------------------------------------');
readkey;
clrscr;

writeln('введите номер участка ');
readln(z);
clrscr;
writeln('---------------------------------------------------------------------------');
writeln('|            Ф. И. О.           | таб. номер | № участка |     зарплата   |');
writeln('---------------------------------------------------------------------------');
for i:=1 to n do
with rab[i] do
if nomer=z then
begin
inc(l);
gotoxy(1,l+3); write('|');
gotoxy(3,l+3);
write(FIO);
gotoxy(33,l+3); write('|');
gotoxy(35,l+3);
write(tabnom);
gotoxy(46,l+3); write('|');
gotoxy(52,l+3);
write(nomer);
gotoxy(58,l+3); write('|');
write(zar1:2:0);
gotoxy(75,l+3); writeln('|');
end;
writeln('---------------------------------------------------------------------------');
readkey;
end.
Нужно ее как то переделать на действие с файлом типа .dat. Может кто помочь? Буду очень признателен! Если кто то возьмется за это дело,прошу отпишитесь сразу что бы и не марочался и несколько человек не делало одну и ту же работу.Заранее спасибо!
Код HTML:
[CODE][QUOTE][/QUOTE][/CODE]


________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE] (это кнопочка с решёточкой #)
Не забывайте об этом!
Модератор.

Последний раз редактировалось Serge_Bliznykov; 19.06.2012 в 22:41.
ToType вне форума Ответить с цитированием
Старый 22.06.2012, 02:03   #2
Npwas
Форумчанин
 
Аватар для Npwas
 
Регистрация: 26.09.2011
Сообщений: 158
По умолчанию

Цитата:
Нужно ее как то переделать на действие с файлом типа .dat.
Формат файла назвать можно как хочешь при желании: *.tr, *.yjk, *.qwe и т.д. От этого суть не меняется, если конечно это не файлы тип Win.ini и т.д.
Просто описываешь переменную файла:
Код:
 
 Var
   F: File of mas;
Дальше изучаешь работу с файлом, посути не так и сложно, к примеру:
Код:
Assign(F,'имя файла'); //привязываем переменную к выбранному файлу;
Reset(F);//Открываем файл для чтения; (Можно Rewrite(F) - создает и открывает новый файл)
While not(Eof(F)) Do //читаем пока не конец файла
      Read(F,A[i])// считывем число из файла в массив;
Close(F); //Зыкрываем файл;
____________________
<---- Весы Благодарности там.
<----Весы Там.
Npwas вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
типизированные файлы Joy1 Паскаль, Turbo Pascal, PascalABC.NET 3 03.07.2012 22:58
Нужно разбить программу на файлы Леша1992 Помощь студентам 0 20.12.2011 14:58
Очень нужно сделать задачу в Delphi(Типизированные файлы. файлы записи) Vitalik1 Помощь студентам 1 16.12.2011 10:38
Файлы данных.Типизированные файлы. вылка Помощь студентам 6 17.05.2010 15:42
Нужно написать программу....файлы...матрицы Calfa Паскаль, Turbo Pascal, PascalABC.NET 24 06.05.2009 21:04