Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Object Pascal: кроссплатформенные технологии > Курсовая


Автор: Аброр 11.5.2006, 14:00
Здрасте не поможете написать прогу? 
Есть офис сотрудников указаны фамилию,имя,стаж, номер телефона и зароботная платаю 
А) Вывести список сотрудников чей стаж не менее 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) {записать в массив первые две цифры номера и сравнивать их}

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

P.S. И последний вопрос? В паскале есть оператор StrToInt?
Если есть то можно маленький пример??
Спасибо!!
  

Автор: Romikgy 11.5.2006, 14:21
Цитата(Аброр @  11.5.2006,  13:00 Найти цитируемый пост)
две первые цифры номера которых одинаковы 

тоесть 7710000, или 
у первого 333333
у второго 344444
????
Цитата(Аброр @  11.5.2006,  13:00 Найти цитируемый пост)
В паскале есть оператор StrToInt?

Эта функция в дельфи есть в паскале, чет не слыхал,
Код

var i: integer;
begin
i:=StrToInt('135');
end;
 

Автор: Alexeis 11.5.2006, 14:38
Аброр, Необходимо пользоваться кнопкой код.
Вместо StrToInt необходимо использовать val 


  

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)