Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.06.2010, 17:38   #1
Bek-Z
Пользователь
 
Регистрация: 11.06.2010
Сообщений: 54
По умолчанию файл

{2.Создать файл содержащий фамилии, имена, день, месяц и год рождения.1
Написать две программы: первая должна создавать такой файл, а вторая должна
запрашивать ввод с клавиатуры фамилии и выводить на экран все данные об этом
человеке. }
Bek-Z вне форума Ответить с цитированием
Старый 11.06.2010, 17:44   #2
baster128
Форумчанин
 
Аватар для baster128
 
Регистрация: 24.04.2010
Сообщений: 205
По умолчанию

В Делфи это займет час времени. С радостью напишу от нечего делать. В какой среде писать?
baster128 вне форума Ответить с цитированием
Старый 11.06.2010, 17:48   #3
Bek-Z
Пользователь
 
Регистрация: 11.06.2010
Сообщений: 54
По умолчанию

заранее спасибо! мне в паскале надо(abc)!!!
Bek-Z вне форума Ответить с цитированием
Старый 11.06.2010, 17:50   #4
Bek-Z
Пользователь
 
Регистрация: 11.06.2010
Сообщений: 54
Печаль

я тут сам пробовал, но что то не выходит:
USES CRT;
TYPE CHELOVEK=RECORD
FAM,NAME:STRING;
YEAR,DAY,MONTH:INTEGER;
END;
VAR C:TEXT;
A:INTEGER;
S1:CHELOVEK;
Q:STRING;
BEGIN
A:=1;
clrscr;
writeln('Введите данные');
writeln;
assign(c,'Z:\1.txt');
//rewrite(c);
WITH S1 DO BEGIN
WHILE A<>0 DO BEGIN
write('Фамилия: ');
read(FAM);
write('Имя: ');
read(NAME);
write('День: ');
read(DAY);
write('Месяц: ');
read(MONTH);
write('Год рождения: ');
read(YEAR);
write('Продолжить?(да-1,нет-0)');
read(a);
writeln(c,FAM,' ',NAME,' ',DAY,'\',mONTH,'\',YEAr);
END; END;
WRITELN('ВСЕ ДАННЫЕ СОХРАНЕНЫ!!!');
WRITELN;
WRITELN('ВВЕДИТЕ ФАМИЛИЮ ЧЕЛОВЕКА КОТОРОГО ВЫ ИЩЕТЕ:');


RESET(C);
READLN(C,Q);
WITH S1 DO
IF Q=S1.FAM THEN WRITELN(c,FAM,' ',NAME,' ',DAY,'\',mONTH,'\',YEAr);
CLOSE(C);
END.
Bek-Z вне форума Ответить с цитированием
Старый 11.06.2010, 18:17   #5
savva
Форумчанин
 
Регистрация: 10.06.2010
Сообщений: 225
По умолчанию

ну для начала ты не правильно обращаешься в переменным

ты объявил

Код:
type man=record
name,fname:STRING;
year,day,month:integer;(может не integer надо а byte(он от 0 до 255) ?)
end;
чтобы обратится к полю записи надо:

Man.name=....;

ибо with опасно использовать,ибо посмотри здесь:
Код:
WITH S1 DO
IF Q=S1.FAM
тут надо Q=FAM;
и потом присваивание в паскале разве не ":="

ещё не надо делать S1:CHELOVEK;,трата памяти.просто названия покомпактнее не CHELOVEK а просто Man,и все будет проще.
За помощь: Нажмите на весы слева от сообщения!
savva вне форума Ответить с цитированием
Старый 11.06.2010, 18:29   #6
Bek-Z
Пользователь
 
Регистрация: 11.06.2010
Сообщений: 54
По умолчанию

я и не собирался присваивать, понимаешь просто надо ввести имя и прога должна найти его в выше созданном файле
Bek-Z вне форума Ответить с цитированием
Старый 11.06.2010, 18:38   #7
savva
Форумчанин
 
Регистрация: 10.06.2010
Сообщений: 225
По умолчанию

а,тьфу)
ну так или иначе
вот у тебя код
Код:
WITH S1 DO
IF Q=S1.FAM
что ты тут делаешь?
ты С записью S1 делаешь
если Q сравнимо с полем S1.name.

то есть ты S1.Q сравниваешь с полем такого рода: S1.S1.name;

поэтому и не работает. у тебя нет поля Q в S1 и нет поля S1.name в S1.
значит должно быть так,ну как мне кажется:
Код:

IF Q=S1.FAM THEN 
WITH S1 DO
begin
WRITELN(c,FAM,' ',NAME,' ',DAY,'\',mONTH,'\',YEAr);
end;
За помощь: Нажмите на весы слева от сообщения!

Последний раз редактировалось savva; 11.06.2010 в 18:40.
savva вне форума Ответить с цитированием
Старый 11.06.2010, 18:50   #8
baster128
Форумчанин
 
Аватар для baster128
 
Регистрация: 24.04.2010
Сообщений: 205
По умолчанию

WRITELN('ВВЕДИТЕ ФАМИЛИЮ ЧЕЛОВЕКА КОТОРОГО ВЫ ИЩЕТЕ:');
А где читаем введенные данные, где readln?
baster128 вне форума Ответить с цитированием
Старый 11.06.2010, 18:56   #9
savva
Форумчанин
 
Регистрация: 10.06.2010
Сообщений: 225
По умолчанию

Код:
WRITELN('ВВЕДИТЕ ФАМИЛИЮ ЧЕЛОВЕКА КОТОРОГО ВЫ ИЩЕТЕ:');
RESET(C);
READLN(C,Q);
WITH S1 DO
IF Q=S1.FAM THEN WRITELN(c,FAM,' ',NAME,' ',DAY,'\',mONTH,'\',YEAr);
должно быть так,как мне кажется\
Код:
WRITELN('ВВЕДИТЕ ФАМИЛИЮ ЧЕЛОВЕКА КОТОРОГО ВЫ ИЩЕТЕ:');
readln(Q);
RESET(C);
READLN(C);

IF Q=S1.FAM THEN
WITH S1 DO 
WRITELN(c,FAM,' ',NAME,' ',DAY,'\',mONTH,'\',YEAr);
За помощь: Нажмите на весы слева от сообщения!
savva вне форума Ответить с цитированием
Старый 11.06.2010, 18:58   #10
Bek-Z
Пользователь
 
Регистрация: 11.06.2010
Сообщений: 54
По умолчанию

ну вот короче тебе пример:
uses crt;
Type student = record
Fam : string[10];
Birth : 1992..2003;
Year : 1999..2010;
Mark : record
Algebra, History, Prog : 2..5;
End
End;
Var group : array[1..2] of student;
S1 : student;
I, j : integer;
Begin
With s1 do
Begin
For i:=1 to 2 do begin
Write('введите фамилию=>');
Readln(fam);
write('введите год рождения=>');
Readln(Birth);
Write('год поступления=>');
readln(year);
With mark do
Readln(algebra, history, prog);
Group[i]:=s1;
End;
End;
Writeln('Имена студентов получивших в последней сессии "2":');
writeln('____________________');
For i:=1 to 5 do
With group[i] do
If (mark.algebra=2) or (mark.history=2) or (mark.prog=2)
Then writeln('|',fam ,'|',Birth:5,'|',Year:5,'|');
End.
в этой проге находит двойки, а мне надо ввести фамилию и она должна найти всю информацию о man'e
Bek-Z вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не запускается файл - файл OECAPICOM_TLB.dcu не найден. cowboy Общие вопросы Delphi 3 26.04.2010 17:57
C++. Прочитать файл и вывести в другой файл каждую N-ую строку Straiker Помощь студентам 3 15.12.2009 05:49
Добавит картинку в файл без сохранения в файл Pacan4ik Microsoft Office Excel 3 30.07.2009 13:19
Ссылка на файл из текущей папки! Сбор инфы в один файл! mephist Microsoft Office Excel 11 10.07.2009 13:51
Дан файл, содержащий текст на русском языке.Составить в алфавитном порядке список слов в файл. JiLiYa Паскаль, Turbo Pascal, PascalABC.NET 3 26.12.2008 12:05