04.05.2014, 12:36 | #1 (permalink) |
Новичок
Регистрация: 03.04.2014
Сообщений: 3
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Подскажите, что не так с программой в Delphi?
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. |
04.05.2014, 12:36 | |
Helpmaster
Member
Регистрация: 08.03.2016
Сообщений: 0
|
Обращаю ваше внимание на то, что на нашем форуме уже были похожи темы DELPHI Помогите с программой Помогите с программой Delphi |
04.05.2014, 17:34 | #3 (permalink) |
Новичок
Регистрация: 03.04.2014
Сообщений: 3
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Дан файл SCHOOL, в котором содержится информация о школьниках:
1) Ф.И.О.; 2) Число, месяц, год рождения; 3) Оценки экзаменов; а) отсортировать записи по возрастанию среднего экзаменационного балла; б) по запросу на Ф.И.О.- выдавать средний балл; в) распечатать ведомость школьников со средним баллом меньше 3. А жалоба на то что она (программа) требований не выполняет. |
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
|
|