IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

 
 Ответить  Открыть новую тему 
> Создание БД
сообщение
Сообщение #1





Группа: Пользователи
Сообщений: 4
Пол: Мужской
Реальное имя: Аброр

Репутация: -  0  +


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

А можно еще сделать
number:longint;
var:array[1..100];
for i:=1 to n do
s[i]:=G.number div 100000 ; {так как все номера у меня семизначныеЪ
Но я не знаю как сравнивать и как сделать так чтобы выводило фамилии сотрудников чьи номера начинаются с двух первых цифр.
Заранее спасибо!


Например
1. петров 123456
2.сидоров 127456
3.иванов 134585
4.козлов 139856
5.баранов 224558
6. Ишаков 129547
Ответ:
Номера одинаковые у: Петров, Сидоров,Ишаков
Номера одинаковые у: Иванов, Козлов
Просьба помочь!! Спасибо

Сообщение отредактировано: Abror -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Гость






Ну, в принципе это делается так:
program Kursovaya;
var
F:file of group;
G, Gnext:group; i, err: integer; s:string;

f_pos: longint;
check: string;
first: boolean;

{
Этот массив - для того, чтобы не выводить информацию,
уже выведенную на экран, повторно
}
was: array[1 .. 99] of boolean;

{ ... остальные переменные ... }

begin
Assign(F,'kurs.dat'); rewrite(F);
{ Вводишь данные и записываешь их в файл }

reset(F); f_pos := 0;
while not eof (f) do begin

read (F,G);
check := copy(G.number, 1, 2); first := false;
val(check, i, err);
if was[i] then continue else was[i] := true;

f_pos := filepos(f);

while not eof(f) do begin
read(f, Gnext);
if copy(Gnext.number, 1, 2) = check then begin
if not first then begin
write('number: ', check, '... : ', G.surname); first := true
end;
write(', ', Gnext.surname);
end;
end;
writeln;
seek(f, f_pos);

end;
close(F);
end.
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Гость






Помогите пожалуйста с программой: БД: учет абитуриентов дайте текст программы!!!! Please!!!!
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Гуру
*****

Группа: Пользователи
Сообщений: 1 220
Пол: Мужской

Репутация: -  16  +


NightWoolf
Поищи по форуму.
Задача решалась много миллионов пятьсот тысяч раз
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 




- Текстовая версия 23.10.2017 0:27
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"