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

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

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

 
 Ответить  Открыть новую тему 
> Информационное табло по баскетболу, Создание базы данных
сообщение
Сообщение #1


Гарцующая лошадка
**

Группа: Пользователи
Сообщений: 107
Пол: Женский
Реальное имя: Любовь

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


Финальным аккордом стала такая задача.Необходимо создать табло, которое выдавало бы данные о команде, игроке, времени попадания и очках за мяч. Ввод данных у меня получается, оформление диалогового режима в виде меню тоже, а как информацию из файла в виде таблицы на экран или на принтер вывести - вот тут -то и возникли трудности. Вот что получилось . Там есть программки, для добавления в файл, для просмотра, только что-то на работает.... Может , подскажете, что именно.


Не стоит постить с вои задания в FAQ

Сообщение отредактировано: klem4 -


Прикрепленные файлы
Прикрепленный файл  7LABACUR.PAS ( 4.43 килобайт ) Кол-во скачиваний: 288
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Perl. Just code it!
******

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

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


ВОзможнт тебе вот это нужно, вот пример вывода данных в виде таблицы


program kuznecov_2;

uses crt;

type

TGoods = array[1..50] of record
name : string[15];
cost : word;
pPlan : word;
pFact : word;
pPercent : byte;
end;

var

goods : TGoods;

n : byte;

procedure FillData(var r : TGoods; size : byte);
var
i : byte;
begin
for i := 1 to size do
with r[i] do begin
clrscr;
writeln('Tovar N ', i);
writeln;
write('Imya : '); readln(name);
write('Cena : '); readln(cost);
write('Skolko nado prodat po planu : '); readln(pPlan);
write('Skolko prodano po faktu : '); readln(pFact);

pPercent := round(100*pFact/pPlan);

end;

writeln;
writeln('Spasibo, vvod zavershen, najmite lunuy klavishu');
repeat
until keypressed;
clrscr;
end;

procedure ShowTable(r : TGoods; size : byte);
var
i : integer;
begin

writeln('+-------------+------+--------+-------+---------+');
writeln('| NAME | COST | PLAN | FACT | PERCENT |');
writeln('+-------------+------+--------+-------+---------+');

for i := 1 to size do
with r[i] do begin
writeln('|', name : 10,'|':4, cost : 5,'|':2,pPlan :5,'|':4,
pFact : 4, '|':4, pPercent:6, '|':4);
writeln('+-------------+------+--------+-------+---------+');
end;

end;
Begin

clrscr;

write('Kol-vo tovarov : ');

readln(n);

FillData(goods, n);
ShowTable(goods, n);

readln;


End.


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Гость






Цитата
Там есть программки, для добавления в файл, для просмотра, только что-то на работает...
Если ты имеешь в виду, что при выборе пункта меню 'просмотр' ничего не отображается на экране, то это само собой... Ты же пишешь информацию в файл...

Кроме этого, происходит путаница в следующем: Когда ты сохраняешь информацию об игроках (процедура Save), расширение .DAT автоматически НЕ прибавляется к имени файла, а когда пытаешься прочесть (Read_File) - почему-то прибавляется... Просто реши для себя, что в файлах с .DAT будут находиться таблицы, а без .DAT - исходная информация... Поэтому в Read_File строку
assign(f,comname+'.dat');

замени на
assign(f,comname);


Я бы на твоем месте сделал процедуру Print_Table универсальной, так чтобы она могла выводить данные и на экран, и в файл:
procedure print_table(on_screen: boolean; k:integer);
var
i, j: integer;
f: text;

begin
if on_screen then AssignCrt(f)
else begin
write('введите имя команды - '); readln(comname);
assign(f,comname+'.DAT');
end;
rewrite(f);

writeln(f,'таблица по баскетболу');
writeln(f);
for i:=1 to k do
with comands[i] do begin
write(f,com,' ');
write(f,surname:25-length(surname));
writeln(f,'',time:2:2,'','-',goal);
end;
close(f);
if on_screen then begin
write('Для продолжения - нажмите Enter...')
readln;
end;
end;

теперь для того, чтобы вывести таблицу на экран, достаточно вызвать
print_table(true, k);

, а для вывода в файл -
print_table(false, k);
 К началу страницы 
+ Ответить 

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

 





- Текстовая версия 23.12.2024 20:45
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name