Модераторы: volvo877, Snowy, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Курсовая, Просьба помочь 
:(
    Опции темы
Аброр
Дата 12.5.2006, 11:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 11.5.2006

Репутация: нет
Всего: нет



Здрасте не поможете написать прогу? 
Есть офис сотрудников указаны фамилию,имя,стаж, номер телефона и зароботная платаю 
А) Вывести список сотрудников чей стаж не менее 20 лет работы 
В) Вывести список сотрудников две первые цифры номера которых одинаковы 

Часть А я сделал. 


Код

program Kursovaya; 
type group=record                                                             
surname:string[10];                                                           
name:string[10];                                                               
year:integer;                                                                  
money:integer;                                                                 
number:string[7];                                                             
end;                                                                          
var F:file of group;                                                          
G:group; i,n:integer; s:string;                                                
begin                                                                          
    Assign(F,'C:\TP7\kursovaya.pas');                                       
write('Vvedite chislo sotrudnikov');  readln(n); rewrite(F);                   
  For i:=1 to n do begin with G do                                           
begin                                                                         
       readln(surname);                                                       
       readln(name);                                                        
      readln(year);                                                          
    readln(money);                                                         
       readln(number);                                                        
      end;                                                                   
write(F,G); 
   end;                                                                           
reset(F);                                                                      
WHILE NOT EOF (F) do begin                                                     
read (F,G);                                                                  
IF(G.year>=20) then begin                                                      
writeln('Staj raboti ne menee 20 let');                                        
writeln(G.surname);                                                            
writeln(G.name); 
 close(F);end. 
Это первая часть проги которую я смог сделать 
Мне посоветвали сделать
var s:array[1..100];
For i:=1 to n do
s[i]:=copy(G.number,1,2) {записать в массив первые две цифры номера и сравнивать их}

 
 


Но я не знаю как сравнивать и как сделать так чтобы выводило фамилии сотрудников чьи номера начинаются с двух первых цифр.
Заранее спасибо!


Например
1. петров 123456
2.сидоров 127456
3.иванов 134585
4.козлов 139856
5.баранов 224558

Ответ: 
Номера одинаковые у: Петров, Сидоров
Номера одинаковые у: Иванов, Козлов
Просьба помочь!! Спасибо  
  
PM MAIL   Вверх
Romikgy
Дата 12.5.2006, 13:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: нет
Всего: 146



Код

....
var i,t,est: integer;
G,G1:group
....

i=0;
while true do
begin
reset(F);
est:=0;
writeln;
for t:=0 to i do
read (F,G1);
if eof(f) then break;
WHILE NOT EOF (F) do
begin

read (F,G);                                                                   
 if (G1.number[1]=G.number[1]) and (G1.number[2]=G.number[2]) then
 begin
 if est=0 then begin
 write('Номера одинаковые у: ');
 write(G1.surname,', ',G.surname);
 est:=1;
 end else write(', ',G.surname);
 end;
end;
i:=i+1;
end;
close(F);

Вроде так 


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi"
THandle
Rrader
volvo877

Запрещается!

1. Обсуждать и делится взломанными компонентами или программным обеспечением

2. Публиковать ссылки на варез

3. Оффтопить

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, THandle, Rrader, volvo877.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Object Pascal: кроссплатформенные технологии | Следующая тема »


 




[ Время генерации скрипта: 0.0870 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.