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

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

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 29.06.2012, 11:05   #1
Soldszar
 
Регистрация: 02.05.2011
Сообщений: 5
По умолчанию Имеется N аудиокассет. Вывести: название, жанр и продолжительность

Имеется N аудиокассет. Про каждую известно: количество (до 20) записанных на ней песен или композиций, название и продолжительность (в минутах) каждого произведения, жанр (рок, романс, песня). Напечатать:
а) название и продолжительность самой длинной песни;
б) название, жанр и продолжительность самого короткого музыкального произведения.
Soldszar вне форума Ответить с цитированием
Старый 29.06.2012, 11:11   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

во-первых, аналогичные задачи неоднократно решались на форуме.

во-вторых, а где ваши наработки? что именно у Вас не получается то?!
Serge_Bliznykov вне форума Ответить с цитированием
Старый 29.06.2012, 13:45   #3
Soldszar
 
Регистрация: 02.05.2011
Сообщений: 5
По умолчанию

Код:
Uses Crt, SysUtils;
Type
 Svedeniya=Record
 nazvanie:String;
 vremya:String;
 janr:String;
End;

Var
F:File of string;
Teh:array [1..10] of Svedeniya;
Num,i,Sel:Integer;
S:Boolean;
Filename:String;
Procedure Zapis; Forward;
Procedure Print; Forward;

Procedure Shapka;
Begin
Writeln;
Writeln ('введите название, продолжительность, жанр');
End;

Procedure Vvod;
Begin
ClrScr;
Writeln;
Writeln('ввод записей')
Writeln;
Write('введите количество записей');
Readln(Num);
For i:=1 to Num do
Begin
Writeln;
Writeln('запись ',i,' - я');
With Teh[i] do
Begin
Write('название');
Readln(nazvanie);
Write('продолжительность');
Readln(vremya);
Write('жанр');
Readln(janr);
End;
End;
Zapis;
ReadKey;
End;

Procedure Zapis;
Begin
Writeln;
Writeln('запись файла');
Writeln;
Write('введите полное имя файла');
Readln(Filename);
Assign(F,Filename);
Rewrite(F);
For i:=1 to Num do
Begin
With Teh[i] do
Begin
Write(F,nazvanie);
Write(F,vremya);
Write(F,janr);
End;
End;
Close(F);
Writeln('файл ',Filename,' создан');
End;


Procedure Chit;
Begin
ClrScr;
Writeln;
Writeln('чтение файла');
Writeln;
Write('введите полное имя файла');

Readln(Filename);
Assign(F,Filename);
Reset(F);

If IOResult<>0 then
Begin
Writeln;
Writeln('файл не найден');
Readkey;
Chit;
Close(F);
End
Else
Num:=0;
While not EOF(F) do
Begin
Inc(Num);
With Teh[Num] do
Begin
Read(F,nazvanie);
Read(F,vremya);
Read(F,janr);

End;
End;

Close(F);
Writeln('запись в файле',Num);
ReadKey;
Print;
ReadKey;
Menu;
End;

Procedure Print;
Begin
Shapka;
For i:=1 to Num do
Begin
With Teh[i] do
Begin
Write(nazvanie);
Write(vremya);
Write(janr);

End;

ReadKey;
End;

End.

Последний раз редактировалось Soldszar; 29.06.2012 в 14:44.
Soldszar вне форума Ответить с цитированием
Старый 29.06.2012, 14:41   #4
Soldszar
 
Регистрация: 02.05.2011
Сообщений: 5
По умолчанию

Проверьте код
Soldszar вне форума Ответить с цитированием
Старый 29.06.2012, 15:21   #5
eoln
Старожил
 
Аватар для eoln
 
Регистрация: 26.04.2008
Сообщений: 2,689
По умолчанию

Цитата:
Сообщение от Soldszar Посмотреть сообщение
Проверьте код
не работает (не компилится даже)!

Здесь многое не так, как надо. Вот несколько замечаний:
- форматирование кода отсутствует (компилятор сказал, что баланс begin/end нарушен, но разбираться в ужасном стиле написание нет желания)
- точки с запятой не везде расставлены
- тут только процедуры, а тела программы нет
- время лучше числом выражать, а не строкой, иначе сравнивать проблемно
- файл лучше бы типизированным сделать (ИМХО)
- в чём смысл чтения, если при записи массив уже заполнен
- что за MENU?

Рекомендации:
- нормально оформляем код
- задаём конкретные вопросы
eoln вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Для каждой введенной цифры (0–9) вывести соответствующее ей название на английском языке (0 — zero, 1 — one, 2 — two, ...) Delphi Ирина Анатольевна Помощь студентам 1 16.05.2012 08:34
Вывести название трёх случайных карт кто-то:) JavaScript, Ajax 1 16.02.2012 00:44
Для вводимой даты года вывести название соответствующего знака Зодиака (Qbasic) Anamnes Помощь студентам 0 09.11.2011 18:52
Название типов диаграмм вывести в combobox Herly Microsoft Office Excel 0 31.03.2010 22:30
Как вывести название папок из указанной папки? zotox Помощь студентам 1 01.05.2009 14:37