Технический форум
Вернуться   Технический форум > Программирование > Форум программистов > Delphi, Kylix and Pascal


Ответ
 
Опции темы Опции просмотра
Старый 04.05.2014, 12:36   #1 (permalink)
vladimir412
Новичок
 
Регистрация: 03.04.2014
Сообщений: 3
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию Подскажите, что не так с программой в Delphi?

unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons, sSkinManager;

type
TForm1 = class(TForm)
Memo1: TMemo;
Edit1: TEdit;
Edit2: TEdit;
Button1: TButton;
Button2: TButton;
Button3: TButton;
Button4: TButton;
Button5: TButton;
BitBtn1: TBitBtn;
Edit3: TEdit;
Edit4: TEdit;
sSkinManager1: TsSkinManager;
procedure FormCreate(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Button5Click(Sender: TObject);




procedure BitBtn1Click(Sender: TObject);

private
{ Private declarations }
public
{ Public declarations }
end;
const
n=100;
type
Shool = record
FIO: string[40]; // Поле Ф.И.О.
otc: array[1..3] of word; // Поле массива оценок
sball : extended; // Поле среднего балла

end;
var
Fz : file of Shool; // Файл типа записи
Ft : TextFile; // Текстовой файл
Stud : array[1..100] of Shool; // Массив записи
nzap : integer; // Номер записи
FileNameZ, FileNameT : string; // Имя файла
OpenDialog1: TOpenDialog;
SaveDialog1: TSaveDialog;
var
Form1: TForm1;

implementation

{$R *.dfm}



procedure TForm1.FormCreate(Sender: TObject);
begin
Edit1.Clear; Edit2.Clear; Edit3.Clear; Edit4.Clear;
Memo1.Clear;
Button1.Hide; // Сделать невидимой кнопку "Ввести запись"
nzap:=0;
end;

procedure TForm1.Button1Click(Sender: TObject);//Ввести повую запись
begin
nzap:=nzap+1;
with stud[nzap] do begin
FIO:=Edit1.Text;
otc[1]:=StrToInt(Edit2.Text);
otc[2]:=StrToInt(Edit3.Text);
otc[3]:=StrToInt(Edit4.Text);
sball:=(otc[1]+otc[2]+otc[3])/3;
Memo1.Lines.Add(fio+' '+IntToStr(otc[1])+' '+ IntToStr(otc[2])+ ' '+IntToStr(otc[3]));
end;
Write(fz,Stud[nzap]); // Запись в файл
Edit1.Clear; Edit2.Clear; Edit3.Clear; Edit4.Clear;
end;

procedure TForm1.Button2Click(Sender: TObject);// Создание нового файла записи

begin
OpenDialog1.Title :='Создать новый файл'; // Изменение заголовка окна диалога
if OpenDialog1.Execute then //Выполнение стандартного диалога выбора имени файла
begin
FileNameZ:= OpenDialog1.FileName; //Возвращение имени диалогового файла
AssignFile(Fz, FileNameZ); // Связывание файлового Fz c именем файла
Rewrite(Fz); // Создание нового файла
end;
Button1.Show; // Сделать видимой кнопку "Ввести запись"
end;

procedure TForm1.Button3Click(Sender: TObject);
begin
if OpenDialog1.Execute then // Открыть существующий файл выбора имени файла
begin
FileNameZ:= OpenDialog1.FileName; // Возвращение имени диалогового файла
AssignFile(Fz, FileNameZ); // Связывание файловой переменной Fz c именем файла
Reset(Fz); // Открытие существующего файла
end;
nzap:=0;
while not eof(fz) do begin
nzap:=nzap+1;
Read(fz,stud[nzap]); // Чтение записи из файла
with stud[nzap] do
Memo1.Lines.Add(fio+' '+IntToStr(otc[1])+' '+IntToStr(otc[2])+
' '+IntToStr(otc[3]));
end;
Button1.Show; // Сделать видимой кнопку "Ввести запись"
end;

procedure TForm1.Button4Click(Sender: TObject);//Сортировка записей

var
i,j : word;
st : Shool;
begin
for i:=1 to nzap-1 do // Сортировка массива записей
for j:=i+1 to nzap do
if Stud[i].sball < Stud[j].sball then begin
st:=Stud[i];
Stud[i]:=Stud[j];
Stud[j]:=st;
end;
Memo1.Clear;
for i:=1 to nzap do // Вывод в окно Memo1 отсортированных записей
with stud[i] do
Memo1.Lines.Add(IntToStr(i)+' '+fio+' '+FloatToStrf(sball,fffixed,4,2));
end;


procedure TForm1.Button5Click(Sender: TObject);//Сохранение результатов сортировки в текстовом файле

var
i:word;
begin

if SaveDialog1.Execute then // Выполнение стандартного диалога выбора имени файла
begin
FileNameT:= SaveDialog1.FileName; // Возвращение имени диалогового файла
AssignFile(Ft, FileNameT); // Связывание файловой переменной Ft c именем файла?
Rewrite(Ft); // Открытие нового текстового файла
for i:=1 to nzap do
with stud[i] do Writeln(Ft,i:4,'. ',fio,sball:8:2); // Запись в текстовой файл
CloseFile(Ft); // Закрытие текстового файла
end;
end;
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
CloseFile(fz); // Закрытие файла записей при нажатии на кнопку "Close"
end;

end.
vladimir412 вне форума   Ответить с цитированием

Старый 04.05.2014, 12:36
Helpmaster
Member
 
Аватар для Helpmaster
 
Регистрация: 08.03.2016
Сообщений: 0

Обращаю ваше внимание на то, что на нашем форуме уже были похожи темы

DELPHI
Помогите с программой
Помогите с программой
Delphi

Старый 04.05.2014, 16:48   #2 (permalink)
poiu
Member
 
Регистрация: 05.03.2014
Сообщений: 200
Сказал(а) спасибо: 2
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 834
По умолчанию

дак на что хоть жалоба то? и задание было бы не плохо предоставить!
poiu вне форума   Ответить с цитированием
Старый 04.05.2014, 17:34   #3 (permalink)
vladimir412
Новичок
 
Регистрация: 03.04.2014
Сообщений: 3
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Дан файл SCHOOL, в котором содержится информация о школьниках:
1) Ф.И.О.;
2) Число, месяц, год рождения;
3) Оценки экзаменов;
а) отсортировать записи по возрастанию среднего экзаменационного балла;
б) по запросу на Ф.И.О.- выдавать средний балл;
в) распечатать ведомость школьников со средним баллом меньше 3.
А жалоба на то что она (программа) требований не выполняет.
vladimir412 вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.




Часовой пояс GMT +4, время: 18:22.

Powered by vBulletin® Version 6.2.5.
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.