Цитата:
Сообщение от TpaXmopucm
Ребята еще одну задачу пожалуйста!! вторую!!!:(
|
Значит, так - насчет второй задачки. Я поставил там файловое чтение данных. Исходный файл по имени Data.txt у меня расположен на диске D: и имеет вид (разумеется, имя и путь к файлу можете поменять):
Код:
1 Адам Стас 19.01.1995 1 2011 7.00
2 Богдан Олег 19.02.1995 1 2011 5.00
3 Валошин Садам 19.03.1995 1 2011 8.00
4 Гринько Кат 19.04.1995 1 2011 5.00
5 Джумак Роман 19.05.1995 1 2011 6.35
6 Москал Пет 19.06.1995 1 2011 8.00
7 Тихий Макс 19.07.1995 1 2011 9.00
8 Шадрин Олег 19.08.1995 1 2011 9.55
9 Януш Вит 19.09.1995 1 2011 4.00
Советую, кстати, дать 2-3 студентам фамилии, начинающиеся с одной и той же буквы - иначе некрасиво выглядит результат отбора.
Если файловый ввод не годится и нужен консольный - напишите, переделаю.
Код:
TYPE
St=Record
N:Byte;
Name:String;
Bd:String;
Course:Byte;
Year:Word;
Mark:Real;
End;
VAR
Stud:Array[1..9] of St;
i,j:Byte;
f:Text;
C:Char;
BEGIN
Assign(f,'D:\Data.txt');
Reset(f);
For i:=1 to 9 do
With Stud[i] do
begin
Read(f, N);
Name:='';
repeat
read(f,C);
until C<>' ';
Name:=Name+C;
repeat
read(f,C);
Name:=Name+C;
until C=' ';
for j:=1 to 2 do
repeat
read(f,C);
Name:=Name+C;
until C=' ';
Bd:='';
repeat
read(f,C);
until C<>' ';
Bd:=Bd+C;
repeat
read(f,C);
Bd:=Bd+C;
until C=' ';
readln(f, Course, Year, Mark);
end;
Close(f);
For i:=1 to 9 do
With Stud[i] do
begin
write(N);
for j:=1 to 7 do write(' ');
write(Name);
for j:=Length(Name)+8 to 23 do write(' ');
writeln(Bd, Course:7, Year:11, Mark:8:2);
end;
Writeln;
Write('Enter the first letter: ');
Readln(C);
For i:=1 to 9 do
With Stud[i] do
If Name[1]=C then
begin
write(N);
for j:=1 to 7 do write(' ');
write(Name);
for j:=Length(Name)+8 to 23 do write(' ');
writeln(Bd, Course:7, Year:11, Mark:8:2);
end;
Readln;
END.