IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> Обработка текстового файла, Помогите пожалуйста
сообщение
Сообщение #1





Группа: Пользователи
Сообщений: 6
Пол: Мужской

Репутация: -  0  +


Помогите пожалуйста с этой программой mega_chok.gif

Задача:Создать текстовый файл, в котором содержаться сведения о рабочих( Фамилия, Инициалы, Зарплата)
К примеру:
Петров ИИ 1200
Сидоров ПР 2000
Попов КП 3000


Надо считать эти записи, и отсортировать по зарплате. Использовать процедуры.
Вот такие пероги. Если кто может помочь, помогите пожалуйста.

Сообщение отредактировано: Grey-99 -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
сообщение
Сообщение #2


Perl. Just code it!
******

Группа: Пользователи
Сообщений: 4 100
Пол: Мужской
Реальное имя: Андрей

Репутация: -  44  +


uses crt;

const
max_records = 100;

type

TStrings = array[1..max_Records] of String;

TFile = Text;

function ReadData(const fName: String; var S: TStrings): Integer;
var
i: Integer;
f: TFile;
begin

assign(f, fName); reset(f);

i := 0;

while not(eof(f)) do begin
inc(i);
readln(f, S[i]);
end;

close(f);

ReadData := i;
end;

function GetMoney(const S: String): Integer;
var
value, e: Integer;
begin

Val(
Copy( Copy(s, Pos(' ', s) + 1, 255), POS(' ',Copy(s, Pos(' ', s) + 1, 255)),255),
value,
e);

GetMoney := value;

end;

procedure Sort(var S: TStrings; const size: Integer);
var
i, j: Integer;
temp: String;
begin
for i := size downto 2 do
for j := 1 to i - 1 do
if GetMOney(S[j]) <= GetMoney(S[j + 1]) then begin
temp := S[j]; S[j] := S[j + 1]; S[j + 1] := temp;
end;
end;

procedure WriteToFile(const fName: String; const S: TStrings; const size: Integer);
var
f: TFile;
i: Integer;
begin
assign(f, fName); rewrite(f);
for i := 1 to size do writeln(f, S[i]);
Close(f);
end;

var
S: TStrings;
size: Integer;
begin
size := ReadData('C:\forum.txt', S);
Sort(S, size);
WriteToFile('C:\forum.txt', S, size);
end.



--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3





Группа: Пользователи
Сообщений: 6
Пол: Мужской

Репутация: -  0  +


Спасибо тебе огромное good.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4





Группа: Пользователи
Сообщений: 6
Пол: Мужской

Репутация: -  0  +


Вот этаже прога(но эна просто считывает записи из текстового файла и выводит на экран), но она не хочет выводить на экран записи, в чем ошибка? nea.gif


program S4itivaemIzFaila;

{$APPTYPE CONSOLE}

uses
SysUtils;

const n=1000;
type base = RECORD
name, ini:string; money: integer;
END;
mass = array [1..n] of string;

var people : array [1..100] of base;
nm : base;
f: text;
m,pr:mass;
s,maxclovo:string;
i,j,k,p:integer;

procedure outputfile(var q:integer);
var i:integer;
begin
assign (f,'D:\Delphi7\Student.txt');
reset(f);
i:=1;
repeat
readln(f,m[i]);
inc(i);
until eof(f);
close (f);
q:=i;
end;

Procedure Obrabotka( Var q:integer);
Var a:string;
i,k,j,r:integer;
Begin
For j:=1 to q do begin
i:=1;
Writeln(j,' ');
a:=pr[j]+' ';
Repeat
k:=Pos(' ',a);
if i=1 then begin people[j].name:=copy(a,1,k-1); write(' ':1,people[j].name:6); end;
if i=2 then begin people[j].ini:=copy(a,1,k-1); write(' ':1,people[j].ini:6); end;
if i=3 then begin val(copy(a,1,k-1),r,r); people[j].money:=r; write(people[j].money:6); end;
inc(i);
delete(a,1,k);
until k = 0;
writeln; end;
End;

BEGIN
Writeln('Obshiu* spisok rabotnikov:');
Writeln;

outputfile(p);
Obrabotka(p);
Readln;

{ TODO -oUser -cConsole Main : Insert code here }
END.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 26.04.2024 6:39
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name