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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 26.06.2011, 20:18   #11
Novenkaja
Форумчанин
 
Регистрация: 29.12.2010
Сообщений: 176
По умолчанию

кто-то может действительно это дописать,а не только на словах объяснить?
потому что мне легче как-то понять и уловить смысл (слова) по определённому коду (изменённому).
Novenkaja вне форума Ответить с цитированием
Старый 26.06.2011, 20:37   #12
Mad_Cat
Made In USSR!
Старожил
 
Аватар для Mad_Cat
 
Регистрация: 01.09.2010
Сообщений: 3,657
По умолчанию

это
Код:
Procedure printMenu;
Begin
    clrscr;
    WriteLn('------ Dannie po disku -------');
    WriteLn('1: Avtor');
    WriteLn('2: Nazvanie');
    WriteLn('3: Izdatel');
    WriteLn('4: God izdania');
    WriteLn('5: Cena');
    WriteLn('6: Cennost(vozrast)');
    WriteLn('0: Exit');
    WriteLn;
    Write('JVasa komanda: ');
End;
поменять на это
Код:
Procedure printMenu;
Begin
    clrscr;
    WriteLn('------ Dannie po disku -------');
    WriteLn('1 — добавить запись');
    WriteLn('2 — просмотреть записи');
    WriteLn('3 — сохранить в файл');
    WriteLn('4 — найти самого популярного издателя');
    WriteLn('5 — поиск по названию');
    WriteLn('6 — сортировка по автору');
    WriteLn('7 — удаление записи');
    WriteLn('0 — выход');
    WriteLn;
    Write('JVasa komanda: ');
End;
"...В жизни я встречал друзей и врагов.В жизни много всего перевидал.Солнце тело мое жгло, ветер волосы трепал,но я смысла жизни так и не узнал..."
(c) Юрий Клинских aka "Хой"

Последний раз редактировалось Mad_Cat; 26.06.2011 в 20:51.
Mad_Cat вне форума Ответить с цитированием
Старый 26.06.2011, 20:45   #13
Novenkaja
Форумчанин
 
Регистрация: 29.12.2010
Сообщений: 176
По умолчанию

я это ещё тогда заменила,а больше ничего менять тут или дописывать разве не надо?
Novenkaja вне форума Ответить с цитированием
Старый 26.06.2011, 21:40   #14
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
я это ещё тогда заменила,а больше ничего менять тут или дописывать разве не надо?
Где исправленный код?!

Вы говорите, что заменили меню.
А обработку нажатых клавиш изменили?
Если пользователь введёт цифру один - он сможет добавить запись в имеющийся файл?
Если введёт 2 - сможет просмотреть все имеющиеся записи?
А если 5 - поиск по названию сработает, 6 - сортировка ну и т.д.
Это всё сделано?

Если да - значит больше ничего дописывать не надо.
Если не сделано - значит это надо дописывать.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 26.06.2011, 21:44   #15
Novenkaja
Форумчанин
 
Регистрация: 29.12.2010
Сообщений: 176
По умолчанию

это изначально
Код:
Procedure printMenu;
Begin
    clrscr;
    WriteLn('------ Dannie po disku -------');
    WriteLn('1: Avtor');
    WriteLn('2: Nazvanie');
    WriteLn('3: Izdatel');
    WriteLn('4: God izdania');
    WriteLn('5: Cena');
    WriteLn('6: Cennost(vozrast)');
    WriteLn('0: Exit');
    WriteLn;
    Write('JVasa komanda: ');
End;
было заменено на
Код:
Procedure printMenu;
Begin
    clrscr;
    WriteLn('------ Dannie po disku -------');
    WriteLn('1 — добавить запись');
    WriteLn('2 — просмотреть записи');
    WriteLn('3 — сохранить в файл');
    WriteLn('4 — найти самого популярного издателя');

теперь стало из 7 пунктов,хорошо,тогда я допишу у себя и гляну что получится

1,2,3,0 работают нормально
4 тоже работает,однако если я нажму на энтер,тогда он ещё раз показывает save,и потом переносит меня снова нат главное меню.

а чтобы работали 5-7 надо изменить(добавить)
Код:
   var A   :disks;
        key :char;
        size:integer;
begin
    Repeat
    printMenu;
    key:=readkey;
    Case key of
        #49:adddisk(A,size);
        #50:retrieve(A,size);
        #51:writeToFile(A,size);
        #52:findMostPopular(A,size);
    End;
  Until key=#48;
сюда ещё напримере вот таких #52:findMostPopular(A,size); ????

Последний раз редактировалось Stilet; 27.06.2011 в 14:08.
Novenkaja вне форума Ответить с цитированием
Старый 26.06.2011, 22:00   #16
Mad_Cat
Made In USSR!
Старожил
 
Аватар для Mad_Cat
 
Регистрация: 01.09.2010
Сообщений: 3,657
По умолчанию

Код:
   var A   :disks;
        key :char;
        size:integer;
begin
    Repeat
    printMenu;
    key:=readkey;
    Case key of
        #49:adddisk(A,size);
        #50:retrieve(A,size);
        #51:writeToFile(A,size);
        #52:findMostPopular(A,size);
        #53:search(A,size);
        #54:sortByAuthor(a,size);
        #55:delete(A,size);
 End;
  Until key=#48;
чуть чуть голову включить сложно7
"...В жизни я встречал друзей и врагов.В жизни много всего перевидал.Солнце тело мое жгло, ветер волосы трепал,но я смысла жизни так и не узнал..."
(c) Юрий Клинских aka "Хой"

Последний раз редактировалось Mad_Cat; 26.06.2011 в 22:02.
Mad_Cat вне форума Ответить с цитированием
Старый 26.06.2011, 22:05   #17
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Цитата:
тогда он ещё раз показывает save,и потом переносит меня снова нат главное меню.
А что вы тут делаете (после нахождения и вывода самого популярного издателя)?
Код:
for i:=1 to size do
        if (tmp = A[i].izdatel) then
        Begin
            inc(tmpSize);
            B[tmpSize]:=A[i];
        End;
if (tmpSize <>0) then writeToFile(B,tmpSize)
        else WriteLn('Spiska net!');
Цитата:
сюда ещё напримере вот таких #52:findMostPopular(A,size);
Да (ну только коды клавиш тоже надо не забывать изменять). Попробовали бы сами перед тем как спрашивать, компилятор не кусается)
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 26.06.2011, 22:17   #18
Novenkaja
Форумчанин
 
Регистрация: 29.12.2010
Сообщений: 176
По умолчанию

я нажимаю на 4 он выдаёт мне найти самого популярного автора,а затем когда я нажимаю enter он сперва выдаёт так же save как и в 3-ем пункте,а затем только выдаёт главное меню и я дальеш выбираю какую команду хочу нажать

дальше,6-ая почему то нее работает,написано всё верно,а нажимаю цифру 6 и не идёти,а при нажатии 7 выдаётся вопрос какую запись удалить,и тут я должна писать имя автора?чтобы я там не писала,программа вылетает и пишет error

Последний раз редактировалось Novenkaja; 26.06.2011 в 22:20.
Novenkaja вне форума Ответить с цитированием
Старый 26.06.2011, 22:21   #19
Mad_Cat
Made In USSR!
Старожил
 
Аватар для Mad_Cat
 
Регистрация: 01.09.2010
Сообщений: 3,657
По умолчанию

Цитата:
выдаётся вопрос какую запись удалить,и тут я должна писать имя автора?
какое на хрен имя автора?

Код:
Procedure delete(var A:disks;var N:integer);
    var number,i:integer;
Begin
    Write('Kakuju zapis udalit?');
 Readln(Number);
 If Number > N then writeln('Error')
 Else
 For i:=Number+1 to N do
 Begin
   A[i]:=A[i+1];
   Dec(n)
 End;
здесь надо циферку ввести == № записи
Цитата:
нажимаю цифру 6 и не идёт
Код:
Procedure sortByAuthor(var A:disks;size:integer);
    var i,k:integer;
   buf:disk;
  Obmen:Boolean;
Begin
   k:=size;
  Repeat
    Obmen:=False;
    For i:=1 to k-1 do
    If A[i].avtor> A[i+1].avtor then
    Begin
      buf:=A[i];
      A[i]:=A[i+1];
      A[i+1]:=buf;
      Obmen:=True;
    End;
    dec(k)
  Until Not Obmen;
End;
а как ты видишь что не идет? у процедуры не символа на экран не выводится) все идет сортируется ) жмакни 6 а потом 2 и убедись отсортировано по автору или нет
"...В жизни я встречал друзей и врагов.В жизни много всего перевидал.Солнце тело мое жгло, ветер волосы трепал,но я смысла жизни так и не узнал..."
(c) Юрий Клинских aka "Хой"

Последний раз редактировалось Mad_Cat; 26.06.2011 в 22:25.
Mad_Cat вне форума Ответить с цитированием
Старый 26.06.2011, 22:24   #20
Novenkaja
Форумчанин
 
Регистрация: 29.12.2010
Сообщений: 176
По умолчанию

хорошо,но 6-ой пункт не работает....вообще,жму на 6 и нифига
Novenkaja вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Доделать в Паскале задание на массив Novenkaja Помощь студентам 24 23.06.2011 20:35
Задание в Паскале через записи Novenkaja Помощь студентам 0 10.05.2011 21:14
Помогите доделать задание в паскале! neomaximus Помощь студентам 4 23.06.2008 18:16
Помогите доделать задание в паскале neomaximus Помощь студентам 5 23.06.2008 14:35
Помогите доделать задание в паскале! neomaximus Помощь студентам 1 22.06.2008 09:45