Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Задачи _ Record

Автор: Anastacia Adesso 8.12.2006 18:31

Люююдиии!
Кто понимает эти записи?
У меня вообще ничего в этой прге не пашет, даже когда убрано почти всё.. mega_chok.gif

А по идее это база данных: спортсмены с результатами по прыжкам в высоту..
Прикрепленный файл  UZD7.PAS ( 3.76 килобайт ) Кол-во скачиваний: 460

Автор: volvo 8.12.2006 18:42

Цитата
вообще ничего в этой прге не пашет
А конкретнее? Что именно не работает?

Автор: Anastacia Adesso 8.12.2006 18:46

Честно? только процедура ввода и работает..И отключается..
А структура для меня слишком сложная..
Пыталась что-то сделать, но не выходит, везде выдаёт ошибки разного типа

Автор: volvo 8.12.2006 19:23

"Ну-с... Приступим... " (С) "Приключения Шурика"
А скажи-ка мне, чему равно N вот тут:

procedure vvod;
var sport:sportsmeny;
begin
inc(n); { <--- }
...
в начале работы программы? Всегда 0?

Автор: Anastacia Adesso 8.12.2006 19:29

Ну да.. Сначала 0 потом увеличивается и записывается инфо о первом прыгуне.
в дальнейшем опять увеличиввается чтоб следующего ввести

procedure vvod;
var sport:sportsmeny;
begin n:=0;
inc(n); { <--- }
...
так

Автор: volvo 8.12.2006 19:38

Нет, не так...

procedure vvod;
var sport:sportsmeny;
begin
inc(n); { <--- }
...

begin
clrscr;
{ Вот так будет надежнее }
n := 0;
vvod;
...
Если ты сделаешь так, как показала - то будешь записывать все данные на первую позицию массива... Как результат - потеряешь всю информацию, кроме одной записи...

Второе.
for s:=1 to popytki do begin
readln(rez[s]); { <--- Здесь ... }
end;
Ты ВСЕ данные о прыжках занесешь в одно и то же место - массив rez у тебя один, и пишешь ты в него (при вводе каждого спортсмена) начиная с первого элемента - результаты прыжков предыдущего спортсмена будут утеряны... Чтобы было корректно - нужно внести массив rez внутрь структуры sportsmeny, чтобы в каждой структуре был свой массив...

Автор: Anastacia Adesso 8.12.2006 19:48

Вот есть

           imya:string[10];
familiya:string[15];
popytki:integer;
rez: array[1..12] of integer;
end;
masiv= array[1..nn] of sportsmeny;
только теперь он после ввода первого распечатывает его два раза.

Автор: Anastacia Adesso 8.12.2006 20:21

ааааа ну спасибо конечно за готовое решение проблеммы give_rose.gif

только не ругайтесь пожааалуйста

Автор: Anastacia Adesso 8.12.2006 20:39

А если честно, у меня до сих пор еще вопросы по работе программы.

Автор: volvo 8.12.2006 21:04

Обращайся к автору... Заодно и "спасибо" ей скажешь... За "помощь"...
dry.gif