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

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

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

 
 Ответить  Открыть новую тему 
> Записи...., нет результата...
Танкистка
сообщение 21.12.2006 20:31
Сообщение #1


Круто!!!!))))
*

Группа: Пользователи
Сообщений: 16
Пол: Женский

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


Распечатать список учеников, фамилии которых начинаются на букву B, с указанием даты их рождения.

ВотЪ.... Такая несложная задачка... Я вот тут сама написала.. но у меня она не работает..и я наверно даже знаю почему... что-то неправильно наверно в последних строчках, где я фамилию на 'V' ищу... но как сделать по другому я не знаю... Я хотела написать if fam[1]='V' then.... но он мне пишет что переменная fam ему неизвестна.. вотЪ... вообщем я еще посижу подумаю.. но может кто-нить.. поможет.. это будет классно))) Пасибки..всем кто откликнется) yes2.gif


Type ychen=record
fam:string[10];
im:string[7];
data:record
year:1980..2000;
mon:1..12;
dat:1..31;
end;
end;
Var a:array[1..100] of ychen;
i,j:integer;
fin,fout:text;
begin
assign(fin,'e:\ych.txt');
reset(fin);
i:=0;
repeat i:=i+1;
with a[i] do
readln(fin,fam,im,data.year,data.mon,data.dat)
until eof(fin);
close(fin);
Assign(fout,'e:\famnaV.txt');
rewrite(fout);
for j:=1 to i do
if a[i].fam='V' then
writeln(fout,a[i].fam,a[i].data.year);
close(fout);
readln;
end.


Сообщение отредактировано: Танкистка - 21.12.2006 20:33


--------------------
Времена не выбирают....
В них живут и умирают...
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 21.12.2006 20:41
Сообщение #2


Гость






Уверена, что вот это:
readln(fin,fam,im,data.year,data.mon,data.dat)
правильно заполняет массив? Присоедини свой TXT файл...
 К началу страницы 
+ Ответить 
Танкистка
сообщение 23.12.2006 10:40
Сообщение #3


Круто!!!!))))
*

Группа: Пользователи
Сообщений: 16
Пол: Женский

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


Цитата(volvo @ 21.12.2006 22:41) *

Уверена, что вот это:
readln(fin,fam,im,data.year,data.mon,data.dat)
правильно заполняет массив? Присоедини свой TXT файл...

Немнога не поняла,что ты имел ввиду... fin-это и есть txt-файл... или ты о другом...??

И еще вопрос ... я же сама заполняю файл..

Type ychen=record
fam:string[10];
im:string[7];
data:record
year:1980..2000;
mon:1..12;
dat:1..31;
end;
end;


Дак вот у меня вопрос... Допустим у меня есть ученик: Petrov Vasya 1984 10 4 Как мне его занести в файл, ведь у меня отводиться под фамилию 10 ячеек, т.е. мне надо написать Petrov а потом еще 4 пробела? А потом имя... а перед именем не надо еще пробела...??? а как цифры записывать? как там будет с пробелами??

Сообщение отредактировано: Танкистка - 23.12.2006 10:42


--------------------
Времена не выбирают....
В них живут и умирают...
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
мисс_граффити
сообщение 23.12.2006 12:05
Сообщение #4


просто человек
******

Группа: Модераторы
Сообщений: 3 641
Пол: Женский
Реальное имя: Юлия

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


Цитата
Дак вот у меня вопрос... Допустим у меня есть ученик: Petrov Vasya 1984 10 4 Как мне его занести в файл, ведь у меня отводиться под фамилию 10 ячеек, т.е. мне надо написать Petrov а потом еще 4 пробела? А потом имя... а перед именем не надо еще пробела...??? а как цифры записывать? как там будет с пробелами??

Никаких пробелов.
Судя по
readln(fin,fam,im,data.year,data.mon,data.dat)

там должно быть так:
Иванов
Иван
1989
04
15

Если ты пишешь все на одной строчке, получится бред.
Возможно, ошибка в этом. Поэтому volvo и попросил выложить твой заполненный файлик - посмотреть на структуру.

А ты уверена, что надо работать с текстовым, а не типизированным файлом?

Сообщение отредактировано: мисс_граффити - 23.12.2006 12:07


--------------------
Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Танкистка
сообщение 23.12.2006 12:29
Сообщение #5


Круто!!!!))))
*

Группа: Пользователи
Сообщений: 16
Пол: Женский

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


ну да .. скорее всего.. он нам проста на уроке что-то говорил,как строки заполнять.. типа скока пробелов.. и все это он делал в одной строчке...


--------------------
Времена не выбирают....
В них живут и умирают...
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
мисс_граффити
сообщение 23.12.2006 12:31
Сообщение #6


просто человек
******

Группа: Модераторы
Сообщений: 3 641
Пол: Женский
Реальное имя: Юлия

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


тогда не readln используй, а read


--------------------
Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 23.12.2006 12:43
Сообщение #7


Гость






Цитата(мисс_граффити @ 23.12.2006 11:05)
Судя по
readln(fin,fam,im,data.year,data.mon,data.dat)

там должно быть так:
Иванов
Иван
1989
04
15

Правда? smile.gif Смотри...
Вот программа:
var
f: text;
a, b, c, d: string;
begin
assign(f, 'test.txt'); reset(f);
readln(f, a, b, c, d);
close(f);

writeln(a, ' ', b, ' ', c, ' ', d, ' ');

end.

Вот содержимое TEST.TXT:
Цитата(test.txt)
the_a
the_b
the_c
the_d
<пустая строка>
Внимание, вопрос: "Что будет выведено на экран"?

Я бы попросил НЕ пользоваться компилятором!
 К началу страницы 
+ Ответить 
мисс_граффити
сообщение 23.12.2006 13:08
Сообщение #8


просто человек
******

Группа: Модераторы
Сообщений: 3 641
Пол: Женский
Реальное имя: Юлия

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


то есть конструкции
readln(a);
readln(b);

и
readln(a,b);

работают по-разному?
Во втором случае для завершения работы оператора нужен только один признак конца строки?


--------------------
Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 23.12.2006 13:12
Сообщение #9


Гость






Цитата
работают по-разному?
При работе с файлами - да...
 К началу страницы 
+ Ответить 

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

 



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