Показать сообщение отдельно
Старый 04.12.2011, 19:15   #10 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от 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.
Vladimir_S вне форума   Ответить с цитированием
Ads

Яндекс

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