![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() |
LLIRIKS |
![]() ![]()
Сообщение
#1
|
Новичок ![]() Группа: Пользователи Сообщений: 24 Пол: Мужской Репутация: ![]() ![]() ![]() |
Люди, кто сможет, помогите, пожалуйста! Завтра экзамен - нужно срочно решить 2 задачи...
![]() обе задачи похожи - отличие лишь в том, что в 1-й задаче записи помещаются в массив, а во 2-й в файл... в обеих задачах нужно организовать ввод информации об авторах (ФИО, гонорар за книгу) и их книгах (название книги, количество страниц, тираж). причем ввод организовать таким образом, чтобы программа запрашивала сначала ФИО автора, потом информацию о каждой его книге и гонорар за нее. Эту информацию вывести на печать - получится что-то типа этого: ФИО 1-го автора - ... название 1-й книги - ... количество страниц - ... тираж - ... гонорар автора за книгу - ... название 2-й книги - ... количество страниц - ... тираж - ... гонорар автора за книгу - ... ФИО 2-го автора - ... название 1-й книги - ... количество страниц - ... тираж - ... гонорар автора за книгу - ... название 2-й книги - ... количество страниц - ... тираж - ... гонорар автора за книгу - ... причем организовать в 2 записи: авторов (ФИО и гонорар) и книг (название книги, количество страниц, тираж). потом всю эту информацию отсортировать по общему гонорару автора и вывести результат на печать. во 2-й задаче все то же самое, только через файлы... если можете, помогите :p2: - очень нужно... сам я уже, наверно, не успею... ![]() вот что я пока что осилил по 1-й задаче: Код uses crt; type BOOK=record ID_B:integer; NAZ:string; KOL:integer; TIR:integer; ZAP_B:integer; end; AVTOR=record ID_A:integer; FIO:string; GON:integer; ZAP_A:integer; end; ZAD=record ID_Z:integer; FIO:string; NAZ:string; KOL:integer; TIR:integer; GON:integer; end; var B:BOOK; A:AVTOR; MAS_B:array[1..64] of BOOK; MAS_A:array[1..64] of AVTOR; key1,key1_1,key2,key2_2:boolean; ch,anykey:char; I,K,J,L:integer; F,F1:string; begin clrscr; I:=1; with A,B do begin repeat key2:=false;key2_2:=false; clrscr; A.ID_A:=I; writeln('Vvedite FIO avtora:'); readln(A.FIO); A.ZAP_A:=I; repeat key1:=false;key1_1:=false; B.ID_B:=I; writeln('Vvedite nazvanie knigi:'); readln(B.NAZ); writeln('Vvedite kolichestvo straniz:'); readln(B.KOL); writeln('Vvedite tiraj knigi:'); readln(B.TIR); writeln('Vvedite gonorar avtora za etu knigu:'); readln(A.GON); B.ZAP_B:=I; repeat writeln('Budete vvodit eshe knigu?[Y,N]'); readln(ch); If (ch in ['Y','y','N','n']) then key1_1:=true; until key1_1; If (ch in ['N','n']) then key1:=true; clrscr; MAS_A[I]:=A; MAS_B[I]:=B; Inc(I); until key1; repeat writeln('Budete vvodit eshe avtora?[Y,N]'); readln(ch); If (ch in ['Y','y','N','n']) then key2_2:=true; until key2_2; If (ch in ['N','n']) then key2:=true; clrscr; until key2; end; writeln('Dlya prodolgeniya nagmite lyubuyu klavishu...'); anykey:=readkey; clrscr; J:=1;L:=1;F:=''; for K:=1 to I do with A,B do begin A:=MAS_A[I]; B:=MAS_B[I]; F1:=F; F:=A.FIO; if (K>1) and (F<>F1) then begin Inc(J); L:=1; end; if ((L=1) or ((L>1) and (F<>F1))) then begin writeln('-------------------------------------------------------'); writeln('----------------- Zapis ',J,'-go avtora -------------------'); writeln('-------------------------------------------------------'); writeln('Number ',J); writeln('FIO ',A.FIO); writeln; end; if ((L=1) or ((L>1) and (F=F1))) then begin writeln('------------------ Zapis ',L,'-i knigi --------------------'); writeln('Number ',L); writeln('Nazvanie ',B.NAZ); writeln('Kolichestvo straniz ',B.KOL); writeln('Tiraj ',B.TIR); writeln('Gonorar avtora ',A.GON); writeln; Inc(L); end; end; writeln('Dlya prodolgeniya nagmite lyubuyu klavishu...'); anykey:=readkey; end. но где-то, как всегда, ошибки - никак не могу найти где именно... ![]() -------------------- Я не люблю, когда мне лезут в душу,
Тем более, когда в нее плюют... |
![]() ![]() |
![]() |
Текстовая версия | 20.07.2025 17:51 |