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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 19.11.2010, 18:31   #1
Shelena
Пользователь
 
Регистрация: 31.10.2010
Сообщений: 10
Стрелка записи. доделать нужно..

Помогите пожалуйста дописать программу на паскале)
Создать программу для хранения и обработки данных с помощью записей. Запись "фильм": название, режиссер, год выпуска, рейтинг IMBD, рейтинг кинопоиск, стоимость.
Реализовать следующие функции:
1. Ввод данных с клавиатуры (сделала)
2. Вывод всех данных на дисплей (сделала)
3. Вывести данное пользователем число лучших фильмов по разным версиям рейтингов (хз как делать )
Заранее спасибо.. =)

Код:
Program lab91;
Type infa=record
      nazvanie: string[20];
      regisser: string[20];
      god_vypuska: 1950..2010;
      reyting_IMBD: 1..10;
      reyting_kinopoisk: 1..10;
      stoimost: 100..300;
      prodolgenie: string[4];
     end;
var film: array[1..10] of infa;
 i,j,n:integer;
begin
i:=1;
repeat;
writeln('                         vvedite informaciu o ',i,' filme');
write('nazvanie - ');
readln(film[i].nazvanie);
write('regisser - ');
readln(film[i].regisser);
write('god vypuska - ');
readln(film[i].god_vypuska);
write('reyting IMBD - ');
readln(film[i].reyting_IMBD);
write('reyting kinopoisk - ');
readln(film[i].reyting_kinopoisk);
write('stoimost - ');
readln(film[i].stoimost);
write('prodolgit vvod? Yes/No');
i:=i+1;
readln(film[i].prodolgenie);
until film[i].prodolgenie='No';
writeln('vvod zakonchen');
writeln;

for j:=1 to i-1 do
begin

writeln('nazvanie - ',film[j].nazvanie);
writeln('regisser - ',film[j].regisser);
writeln('god vypuska - ',film[j].god_vypuska);
writeln('reyting IMBD - ',film[j].reyting_IMBD);
writeln('reyting kinopoisk - ',film[j].reyting_kinopoisk);
writeln('stoimost - ',film[j].stoimost);
readln;
end;
end.

Последний раз редактировалось Shelena; 20.11.2010 в 16:41. Причина: ошибка
Shelena вне форума Ответить с цитированием
Старый 19.11.2010, 20:45   #2
DomiNick
Студент, не
Старожил
 
Аватар для DomiNick
 
Регистрация: 29.01.2009
Сообщений: 2,067
Лампочка

Цитата:
Вывести данное пользователем число лучших фильмов по разным версиям рейтингов (хз как делать)
Ну наверное отсортировать по соответствующим полям... А вот как лучше...
Не совсем понял "данное пользователем число лучших" в задании... Может как-то так пойдёт?:
Код:
write('vivesti filmi na pervih N (ot 1 do 10) mestah: ');
readln(m);
for n:=10 downto 11-m do
   for j:=1 to i-1 do
      if film[j].reyting_IMBD=n then
         writeln('imdb = ', n, '   film = ', film[j].nazvanie);
Правда как-то неоптимальненько получилось...


И я бы не рекомендовал делать "writeln('prodolgit vvod? Yes/No');" при вводе информации... Массив-то от 1 до 10, вылетит если больше 10 раз попытаются ввести информацию...
Ограничение чтоль предусмотреть какое... И у тех writeln где есть " - " надо бы ln убрать...
I am the First of Cyber Evolution...
I am the First to Program your Future...
DomiNick вне форума Ответить с цитированием
Старый 20.11.2010, 16:39   #3
Shelena
Пользователь
 
Регистрация: 31.10.2010
Сообщений: 10
По умолчанию

Цитата:
Не совсем понял "данное пользователем число лучших" в задании...
неа, так точно не пойдет... это значит, что пользователь вводит, к примеру "3" и выводятся 3 названия фильмов с самым высоким рейтингом reyting_IMBD и 3 названия фильмов с самым высоким рейтингом reyting_kinopoisk

Цитата:
я бы не рекомендовал делать "writeln('prodolgit vvod? Yes/No');" при вводе информации... Массив-то от 1 до 10, вылетит если больше 10 раз попытаются ввести информацию...
это ничего, больше 10 точно не понадобится

Цитата:
у тех writeln где есть " - " надо бы ln убрать...
оке,убрала
Shelena вне форума Ответить с цитированием
Старый 21.11.2010, 09:12   #4
Shelena
Пользователь
 
Регистрация: 31.10.2010
Сообщений: 10
По умолчанию

нет ну а мне то ответить?
Shelena вне форума Ответить с цитированием
Старый 21.11.2010, 17:20   #5
DomiNick
Студент, не
Старожил
 
Аватар для DomiNick
 
Регистрация: 29.01.2009
Сообщений: 2,067
По умолчанию

Цитата:
это значит, что пользователь вводит, к примеру "3" и выводятся 3 названия фильмов с самым высоким рейтингом reyting_IMBD
А вот допустим есть один фильм с рейтингом 10 и пять фильмов с рейтингом 9 - какие три из них выводить?
I am the First of Cyber Evolution...
I am the First to Program your Future...
DomiNick вне форума Ответить с цитированием
Старый 21.11.2010, 18:26   #6
Shelena
Пользователь
 
Регистрация: 31.10.2010
Сообщений: 10
По умолчанию

Цитата:
А вот допустим есть один фильм с рейтингом 10 и пять фильмов с рейтингом 9 - какие три из них выводить?
либо все 6, либо первый и еще 2 какие попадутся с рейтингом 9. как получится сделать. не важно...
Shelena вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
нужно доделать. на паскале ddeman666 Помощь студентам 1 14.06.2010 18:08
Нужно Доделать программу, завтра сдавать!( 13-th Общие вопросы C/C++ 2 11.06.2010 16:55
Записи((надо доделать(( diller89 Помощь студентам 5 06.05.2010 16:54
Нужно доделать 2 сайта Irina-70 Фриланс 1 19.02.2009 15:48
Прога на Ассемблере, Нужно доделать: запись в файл azze Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 2 12.01.2008 13:59