Банк рефератов содержит более 364 тысяч рефератов, курсовых и дипломных работ, шпаргалок и докладов по различным дисциплинам: истории, психологии, экономике, менеджменту, философии, праву, экологии. А также изложения, сочинения по литературе, отчеты по практике, топики по английскому.
Полнотекстовый поиск
Всего работ:
364139
Теги названий
Разделы
Авиация и космонавтика (304)
Административное право (123)
Арбитражный процесс (23)
Архитектура (113)
Астрология (4)
Астрономия (4814)
Банковское дело (5227)
Безопасность жизнедеятельности (2616)
Биографии (3423)
Биология (4214)
Биология и химия (1518)
Биржевое дело (68)
Ботаника и сельское хоз-во (2836)
Бухгалтерский учет и аудит (8269)
Валютные отношения (50)
Ветеринария (50)
Военная кафедра (762)
ГДЗ (2)
География (5275)
Геодезия (30)
Геология (1222)
Геополитика (43)
Государство и право (20403)
Гражданское право и процесс (465)
Делопроизводство (19)
Деньги и кредит (108)
ЕГЭ (173)
Естествознание (96)
Журналистика (899)
ЗНО (54)
Зоология (34)
Издательское дело и полиграфия (476)
Инвестиции (106)
Иностранный язык (62791)
Информатика (3562)
Информатика, программирование (6444)
Исторические личности (2165)
История (21319)
История техники (766)
Кибернетика (64)
Коммуникации и связь (3145)
Компьютерные науки (60)
Косметология (17)
Краеведение и этнография (588)
Краткое содержание произведений (1000)
Криминалистика (106)
Криминология (48)
Криптология (3)
Кулинария (1167)
Культура и искусство (8485)
Культурология (537)
Литература : зарубежная (2044)
Литература и русский язык (11657)
Логика (532)
Логистика (21)
Маркетинг (7985)
Математика (3721)
Медицина, здоровье (10549)
Медицинские науки (88)
Международное публичное право (58)
Международное частное право (36)
Международные отношения (2257)
Менеджмент (12491)
Металлургия (91)
Москвоведение (797)
Музыка (1338)
Муниципальное право (24)
Налоги, налогообложение (214)
Наука и техника (1141)
Начертательная геометрия (3)
Оккультизм и уфология (8)
Остальные рефераты (21692)
Педагогика (7850)
Политология (3801)
Право (682)
Право, юриспруденция (2881)
Предпринимательство (475)
Прикладные науки (1)
Промышленность, производство (7100)
Психология (8692)
психология, педагогика (4121)
Радиоэлектроника (443)
Реклама (952)
Религия и мифология (2967)
Риторика (23)
Сексология (748)
Социология (4876)
Статистика (95)
Страхование (107)
Строительные науки (7)
Строительство (2004)
Схемотехника (15)
Таможенная система (663)
Теория государства и права (240)
Теория организации (39)
Теплотехника (25)
Технология (624)
Товароведение (16)
Транспорт (2652)
Трудовое право (136)
Туризм (90)
Уголовное право и процесс (406)
Управление (95)
Управленческие науки (24)
Физика (3462)
Физкультура и спорт (4482)
Философия (7216)
Финансовые науки (4592)
Финансы (5386)
Фотография (3)
Химия (2244)
Хозяйственное право (23)
Цифровые устройства (29)
Экологическое право (35)
Экология (4517)
Экономика (20644)
Экономико-математическое моделирование (666)
Экономическая география (119)
Экономическая теория (2573)
Этика (889)
Юриспруденция (288)
Языковедение (148)
Языкознание, филология (1140)

Контрольная работа: Упорядочивание элементов файла

Название: Упорядочивание элементов файла
Раздел: Рефераты по информатике, программированию
Тип: контрольная работа Добавлен 11:22:34 26 января 2011 Похожие работы
Просмотров: 24 Комментариев: 20 Оценило: 2 человек Средний балл: 5 Оценка: неизвестно     Скачать

Содержание

1. Задание

2. Блок схема

3. Листинг исходного файла программы

4. Снимки с экрана при работе программы


1. Задание

Написать программу упорядочивания элементов файлов.

1) Описать запись с именем Bill, содержащую следующие поля:

- расчётный счёт плательщика;

- расчётный счёт получателя;

- перечисляемая сумма в рублях.

2) Написать программу, выполняющую следующие действий:

- ввод данных с клавиатуры в массив, состоящий из 8 элементов типа Bill; записи должны быть упорядочены в алфавитном порядке по расчетным счетам плательщиков;

- вывод на экран информации о сумме снятой с расчётного счёта плательщика, введённого с клавиатуры; если такого расчётного счёта нет, вывести на экран соответствующие сообщение;

- запись массива в файл под заданным с клавиатуры именем.

2. Блок схема

Рис 1. Блок-схема алгоритма основной программы


Рис2. Блок-схема процедуры ввода данных в список

Рис 3. Блок-схема процедуры вывода данных из списка на дисплей


Рис4. Блок-схема процедуры ввода данных в список из файла записей

Рис5. Блок-схема процедуры поиска данных в списке


Рис6. Блок-схема процедуры записи данных списка в файл

Листинг исходного файла программы

programProg1;

uses

Crt;

const

MaxRecCount = 8;

type

TBill = record

ChetPlatel: string [30];

ChetPoluch: string [30];

SummaPlateja: real;

end;

TRecArr = array [1..MaxRecCount] of TBill;

var

RecArr: TRecArr;

Bill: TBill;

RecCount: integer;

FileName: string [15];

c: char;

procedure RecArrInit(var RecArr: TRecArr);

var

i: integer;

begin

for i:= 1 to MaxRecCount do

begin

RecArr[i].ChetPlatel:= '';

RecArr[i].ChetPoluch:= '';

RecArr[i].SummaPlateja:= 0

end

end;

function FillRecArr(var RecArr: TRecArr): integer;

var

i, n: integer;

c: char;

begin

FillRecArr:= 0;

i:= 0;

while i < MaxRecCount do

begin

c:= #0;

WriteLn('Do you want insert new record in list?(y/n)');

c:= ReadKey;

if (c in ['n', 'N', #27]) then Break;

ClrScr;

Inc(i);

Write('Please get Pay #', i, ' :');

ReadLn(RecArr[i].ChetPlatel);

Write('Please get Dest #', i, ' :');

ReadLn(RecArr[i].ChetPoluch);

repeat

Write('Please get summ :');

{$I-}

ReadLn(RecArr[i].SummaPlateja);

{$I+}

n:= IOResult;

if n <> 0 then

WriteLn('The summ is fault.Try again.');

until n = 0;

ClrScr

end;

FillRecArr:= i;

end;

procedure PrintRecArr(RecArr: TRecArr);

var

i: integer;

begin

ClrScr;

for i:= 1 to MaxRecCount do

if RecArr[i].ChetPlatel <> '' then

begin

WriteLn('Pay #', i, ' : ', RecArr[i].ChetPlatel);

WriteLn('Dest #', i, ' : ', RecArr[i].ChetPoluch);

WriteLn('Pay summ', i, ' : ', RecArr[i].SummaPlateja:8:2);

WriteLn('--------------------------');

end

end;

procedure FindInRecArr(RecArr: TRecArr);

var

i: integer;

isFind: boolean;

s: string [30];

summ: real;

begin

isFind:= false;

summ:= 0;

ClrScr;

Write('Get payment num(q for quit):');

ReadLn(s);

if s ='q' then Exit;

for i:= 1 to MaxRecCount do

if Pos(RecArr[i].ChetPlatel, s) <> 0 then

begin

summ:= summ + RecArr[i].SummaPlateja;

isFind:= true

end;

if not isFind then

begin

WriteLn('Current record not found. Try again.');

ReadLn;

FindInRecArr(RecArr)

end;

WriteLn('Summa =',summ:8:2)

end;

procedure SortRecArr(var RecArr: TRecArr);

var

i, j: integer;

TmpRec: TBill;

begin

for i:= 1 to MaxRecCount do

for j:= 1 to MaxRecCount - 1 do

if RecArr[j].ChetPlatel[1] > RecArr[j + 1].ChetPlatel[1] then

begin

TmpRec:= RecArr[j];

RecArr[j]:= RecArr[j + 1];

RecArr[j + 1]:= TmpRec

end

end;

function RecArrSaveToFile(FileName: string; RecArr: TRecArr): integer;

var

TmpFile: file of TBill;

i, n: integer;

begin

RecArrSaveToFile:= 0;

Assign(TmpFile, FileName);

{$I-}

Rewrite(TmpFile);

{$I+}

if IOResult <> 0 then

begin

WriteLn('File ', FileName, ' create error.');

Exit

end;

n:= 0;

for i:= 1 to MaxRecCount do

if RecArr[i].ChetPlatel <> '' then

begin

Inc(n);

Write(TmpFile, RecArr[i])

end;

Close(TmpFile);

RecArrSaveToFile:= n

end;

function RecArrLoadFromFile(FileName:string; var RecArr: TRecArr): integer;

var

TmpFile: file of TBill;

i: integer;

begin

RecArrLoadFromFile:= 0;

Assign(TmpFile, FileName);

{$I-}

Reset(TmpFile);

{$I+}

if IOResult <> 0 then

begin

WriteLn('File ', FileName, ' open error.');

Exit

end;

i:= 1;

Seek(TmpFile, 0);

while (not Eof(TmpFile)) and (i <= MaxRecCount) do

begin

Read(TmpFile, RecArr[i]);

Inc(i)

end;

Close(TmpFile);

RecArrLoadFromFile:= i

end;

function ViewMenu: char;

var

c: char;

begin

ViewMenu:='0';

ClrScr;

WriteLn;

WriteLn;

WriteLn('_________________________________');

WriteLn('| Menu |');

WriteLn('---------------------------------');

WriteLn('| 1. Input records to list |');

WriteLn('| |');

WriteLn('| 2. Load list from file |');

WriteLn('| |');

WriteLn('| 3. Find need records in list |');

WriteLn('| |');

WriteLn('| 4. Save list to file |');

WriteLn('| |');

WriteLn('| 5. Print list |');

WriteLn('| |');

WriteLn('| 6. Quit |');

WriteLn('---------------------------------');

repeat

c:= ReadKey;

until (c in ['1', '2','3', '4', '5', '6', #27]) ;

ViewMenu:= c

end;

begin

c:= #0;

RecCount:= 0;

FileName:= '';

ClrScr;

Window(23,15,75,30);

while true do

begin

c:= ViewMenu;

ClrScr;

case c of

'1': begin

RecArrInit(RecArr);

RecCount:= FillRecArr(RecArr);

SortRecArr(RecArr);

WriteLn('Input ', RecCount, ' records in list.')

end;

'2': begin

Write('Get file name :');

ReadLn(FileName);

FileName:='.\' + FileName;

RecArrInit(RecArr);

RecCount:= RecArrLoadFromFile(FileName, RecArr);

WriteLn('Load ', RecCount, ' records in list.')

end;

'3': begin

if RecCount > 0 then

FindInRecArr(RecArr)

else

WriteLn('List is empty.')

end;

'4': begin

if RecCount > 0 then

begin

Write('Input file name :');

ReadLn(FileName);

FileName:='.\' + FileName;

RecCount:= RecArrSaveToFile(FileName, RecArr);

WriteLn('Save ', RecCount, ' records from file ', FileName, '.')

end

else

WriteLn('List is empty.')

end;

'5': begin

if RecCount > 0 then

PrintRecArr(RecArr)

else

WriteLn('List is empty.')

end;

'6', #27: Break;

end;

WriteLn;

WriteLn('Please press any key and go to menu>');

repeat until KeyPressed

end;

end.


Снимки с экрана при работе программы

Рис 7. Главное меню программы

Рис 8. Запрос на добавление нового элемента в список

Рис 9. Окно ввода значений в элемент списка


Рис 10. Запрос на ввод имени файла для загрузки данных в список

Рис 11. Окно вывода элементов списка

Рис 12. Окно поиска элемента списка по значению его поля


Рис 13. Сообщение об отсутствии искомого элемента в списке

Рис 14. Запись списка в файл

Оценить/Добавить комментарий
Имя
Оценка
Комментарии:
Хватит париться. На сайте FAST-REFERAT.RU вам сделают любой реферат, курсовую или дипломную. Сам пользуюсь, и вам советую!
Никита02:52:39 03 ноября 2021
.
.02:52:37 03 ноября 2021
.
.02:52:36 03 ноября 2021
.
.02:52:34 03 ноября 2021
.
.02:52:33 03 ноября 2021

Смотреть все комментарии (20)
Работы, похожие на Контрольная работа: Упорядочивание элементов файла

Назад
Меню
Главная
Рефераты
Благодарности
Опрос
Станете ли вы заказывать работу за деньги, если не найдете ее в Интернете?

Да, в любом случае.
Да, но только в случае крайней необходимости.
Возможно, в зависимости от цены.
Нет, напишу его сам.
Нет, забью.



Результаты(288262)
Комментарии (4159)
Copyright © 2005-2021 HEKIMA.RU [email protected] реклама на сайте