Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
0 / 0 / 0
Регистрация: 27.11.2010
Сообщений: 63
1

Вывести данные в табличной форме для тех студентов, чьи имена начинаются с "А ".

20.04.2011, 15:25. Просмотров 862. Ответов 1
Метки нет (Все метки)

Вот програмка
unit Unit1;

interface

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

type
TForm1 = class(TForm)
Label1: TLabel;
Label2: TLabel;
Edit1: TEdit;
Label3: TLabel;
Edit2: TEdit;
Label4: TLabel;
Edit3: TEdit;
Button1: TButton;
Button2: TButton;
StringGrid1: TStringGrid;
Button3: TButton;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Edit4: TEdit;
Edit5: TEdit;
Label8: TLabel;
procedure FormCreate(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

type Tgads=Record
Datums,Menesis,Gads:integer;
end;
type TSkola=record
vards,uzvards:string;
dz_gads:Tgads;
end;

var
Form1: TForm1;
var n:integer;
var skola: array[1..20]of TSkola;
d:TSkola;
implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
StringGrid1.RowCount:=n+2;
StringGrid1.Cells[1,0]:='Vards';
StringGrid1.Cells[2,0]:='Uzvards';
StringGrid1.Cells[3,0]:='Gads';
StringGrid1.Cells[0,1]:='1';

end;

procedure TForm1.Button1Click(Sender: TObject);
begin
n:=n+1;
with skola[n] do
begin
vards:=Edit1.Text;
uzvards:=Edit2.Text;
try
dz_gads.Datums:=StrToInt(Edit3.Text);
dz_gads.Menesis:=StrToInt(Edit4.Text);
dz_gads.Gads:=StrToInt(Edit5.Text);
except
on EConvertError do
ShowMessage('Nepareiza ievadisanas forma')
end

end;
Edit1.Clear;
Edit2.Clear;
Edit3.Clear;
Edit4.Clear;
Edit5.Clear;
end;

procedure TForm1.Button2Click(Sender: TObject);
var i:integer;
begin
StringGrid1.RowCount:=n+2;
for i:=1 to n do
begin
StringGrid1.Cells[0,i]:=IntToStr(i)+'.';
with skola[i] do
begin
StringGrid1.Cells[1,i]:=vards;
StringGrid1.Cells[2,i]:=uzvards;
StringGrid1.Cells[3,i]:=IntToStr(dz_gads.Datums)+'.'+IntToStr(dz_gads.Menesis)+'.' +IntToStr(dz_gads.Gads);
end;
end;
end;

procedure TForm1.Button3Click(Sender: TObject);
var i,count:integer;
begin
count:=0;
for i:=1 to n do
if (skola[i].dz_gads.menesis=2) then inc(count);
Label8.Caption:=IntToStr(count);
end;

end.

Она вычисляет тех кто родился в феврале. А надо переделать так чтобы подсчитывала сколько человек с именем на букву "А". Как такое сделать ?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.04.2011, 15:25
Ответы с готовыми решениями:

Вывести фамилии и имена студентов, чьи имена начинаются на букву "б"
известны фамилии,адреса и телефоны 25 человек. Найти фамилии и адреса людей, чей телефон начинается...

Вывести всех студентов, чьи имена начинаются с буквы "А"
Сформировать стек, содержащий данные по студентам в следующем виде: "Фамилия Имя Группа ГР RS", где...

Удалить из файла все строки кроме тех что начинаются на словосочетание "Данные для"
Есть текстовый файл с большим количеством строк. Нужно удалить из файла все строки кроме тех что...

Структура: Вывести тех студентов, кто сдал оба экзамена либо на "4" либо на "5"
Условие задачи: Дана ведомость студентов: Фамилия студента, оценка_1, оценка_2. Вывести тех...

1
2505 / 1794 / 389
Регистрация: 11.09.2009
Сообщений: 6,633
21.04.2011, 02:59 2
sniper16, в процедуре "Button3Click" в строке "if (skola[i].dz_gads.menesis=2) then inc(count);" проверяется номер месяца в записи "skola[i].dz_gads.menesis" и подсчитывается сколько с номером "2".
Меняете в этой строке проверку месяца на проверку поля, содержащего фамилию. Проверка будет "if (поле фамилия)[1] = 'A';
Что за поле подставить - найдите сами. В вашем коде комментариев нет.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.04.2011, 02:59

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Очередь (FIFO): студенты, чьи фамилии начинаются с буквы "Б"
Очередь (FIFO) Все студенты, чьи фамилии начинаются с буквы "Б" program lab3; type...

Добавление в массив строк из .txt кроме "" и тех, которые начинаются с "##"
Нужно, чтобы программа считывала строки в .txt. Если строка не пустая, то считывать ее в массив....

Вывести фамилии тех студентов, которые сдали все экзамены на "отлично"
ребятки помогите не могу допереть как сделать дальше ,пропустил тему по болезни а теперь доганяю ...

Имена и домашние адреса студентов, сдавших экзамен по математике на "4" и "5"
Помогите пожалуйста с программой, не пойму как делать Добавлено через 1 час 56 минут Вот код с...

Функция rename не меняет имена файлов которые начинаются с "-"
Уважаемые. Есть код: $dir = 'C:/img'; $png_jpg = scandir($dir); unset ($png_jpg); unset...

Добавить к файлам, чьи имена начинаются с DSCN дату и время
Есть файлы, их имена начинаются на DSCN и заканчиваются на четыре цифры, потом идёт точка и...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.