0 / 0 / 0
Регистрация: 12.03.2015
Сообщений: 11
1

База данных "Учебная нагрузка группы"

12.03.2015, 15:12. Показов 1620. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Учебная нагрузка группы. Поля:
наименование предмета, количество часов, ФИО преподавателя, система оценки знаний (True-экзамен, False-зачет)
Тип файла:текстовой
Поле поиска:Наименование предмета
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.03.2015, 15:12
Ответы с готовыми решениями:

База данных "Кинофильмы" и "Сотрудники фирмы"
«База данных». Составить программу, которая создает и обрабатывает базу данных о: ...

Из заданной строки получить новую заменив в ней все группы букв ""abcd" на "abc".
Из заданной строки получить новую заменив в ней все группы букв ""abcd" на "abc".

Задача("база данных") с подключением нескольких модулей и динамической памятью
задание: 1)создать базу данных книжного магазина с полями: автор,название,цена,кол-во,дата...

база данных "парфюмерный магазин"
помогите написать программу для создания базы данных"парфюмерный магазин"с меню(которое выглядит...

7
Эксперт Pascal/Delphi
6807 / 4565 / 4818
Регистрация: 05.06.2014
Сообщений: 22,438
12.03.2015, 15:29 2
ксю123, желательно озвучить задание в той форме, в которой её дал преподаватель.
0
0 / 0 / 0
Регистрация: 12.03.2015
Сообщений: 11
12.03.2015, 15:35  [ТС] 3
вот это задание + еще написано "программа осуществляет ведение информационного справочника учебной нагрузки группы
0
Эксперт Pascal/Delphi
6807 / 4565 / 4818
Регистрация: 05.06.2014
Сообщений: 22,438
12.03.2015, 15:42 4
Все равно непонятно. Если есть поля, значит есть запись. Почему тогда файл тестовый, а не файл записей. И почему поле поиска: наименование предмета, хотя в заголовке стоит: "учебная нагрузка"?
0
0 / 0 / 0
Регистрация: 12.03.2015
Сообщений: 11
12.03.2015, 15:55  [ТС] 5
нам сказали делать вот поэтому примеру. и просто дали задание.
пример:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
program PhoneBook; {Программа "Телефонная книга"}
 
const
  AFileName = 'phones.spr'; {Имя файла}
  MaxRecordCount = 100; {Максимальное число записей в справочнике}
 
type
  TFam = string[20]; {Объявление типа "фамилия абонента"}
 
  {Описание записи из телефонной книги}
  TPhoneRec = record
    Fam: TFam;         {фамилия абонента}
    Phone: string[15]; {телефон абонента}
    Pol: Boolean;      {пол абонента TRUE-муж, FALSE-жен}
    BirthYear: Word;   {год рождения}
  end;
 
  {Объявление типа-массива записей телефонной книги}
  TPhoneTable = array[1..MaxRecordCount] of TPhoneRec;
 
{Процедура выполняет загрузку справочника из файла}
procedure LoadFromFile(var ATable: TPhoneTable; var ACount: Integer);
var
  F: file of TPhoneRec; {Объявляем файловую переменную}
begin
  Assign(F, AFileName); {Инициализируем файловую переменную}
  {$I-}     {Отключаем генерацию ошибок ввода/вывода}
  Reset(F); {Открываем файл для чтения}
  {$I+}     {Возвращаем директиву "I" в исходное состояние}
  if IOResult = 0 then {Если файл успешно открыт}
  begin {то считываем из него записи}
    ACount := 0; {Обнуляем счетчик записей}
    while not Eof(F) do {Пока не достигнут конец файла...}
    begin
      Inc(ACount); {Увеличиваем ACount на единицу }
      Read(F, ATable[ACount]); {Считываем запись из файла}
    end;
    Close(F); {Закрываем файл}
    Writeln('Spravochnik uspeshno zagruzhen iz faila: ', AFileName,
      '. Kolichetvo zapisei: ', ACount);
  end else {Иначе выводим сообщение "Файл не найден!"}
    Writeln('ERROR: Fail ne naiden!');
end;
 
{Процедура выполняет сохранение справочника в файл}
procedure SaveToFile(const ATable: TPhoneTable; const ACount: Integer);
var
  F: file of TPhoneRec; {Объявляем файловую переменую}
  I: Integer;
begin
  Assign(F, AFileName);   {Инициализируем файловую переменную}
  Rewrite(F);             {Открываем файл для записи}
  for I := 1 to ACount do {Цикл перебора записей}
    Write(F, ATable[I]);  {Сохраняем запись в файл}
  Close(F);               {Закрываем файл}
  Writeln('Spravochnik uspeshno sohranen v fail: ', AFileName);
end;
 
{Процедура выводит на экран запись с указанным номером}
procedure ShowRecord(const ATable: TPhoneTable; Num: Integer);
var
  ARec: TPhoneRec;
  C: Char;
begin
  ARec := ATable[Num];
  if ARec.Pol then {if ARec.Pol = True}
    C := 'm'
  else
    C := 'f';
 
  Writeln('No', Num, ': Fam=', ARec.Fam, ', Tel=',
    ARec.Phone, ', Pol=', C, ', God rozhd=', ARec.BirthYear);
end;
 
{Процедура выводит на экран список всех записей}
procedure ShowAllRecords(const ATable: TPhoneTable; 
  const ACount: Integer);
var
  I: Integer;
begin
  Writeln('Spisok vseh zapisei:');
  for I := 1 to ACount do
    ShowRecord(ATable, I);
end;
 
{Процедура добавления новой записи в справочник}
procedure AddNewRecord(var ATable: TPhoneTable; var ACount: Integer);
var
  ARec: TPhoneRec;
  C: Char;
begin
  Write('Vvedite familiu: ');
  Readln(ARec.Fam);
  Write('Vvedite telefon: ');
  Readln(ARec.Phone);
  Write('Vvedite pol ("m" / "f"): ');
  Readln(C);
  if C = 'm' then
    ARec.Pol := True   {Мужчина}
  else { if C = 'f' }
    ARec.Pol := False; {Женщина}
  Write('Vvedite god rozhdenia: ');
  Readln(ARec.BirthYear);
 
  Inc(ACount); {Увеличиваем счетчик записей на 1}
  ATable[ACount] := ARec; {Записываем запись ARec в массив ATable}
 
  Write('Dobablena zapis: ');
  ShowRecord(ATable, ACount); {Печатаем запись на экран}
end;
 
{Процедура отыскивает запись по заданной фамилии и печатает на экране}
procedure FindRecord(const ATable: TPhoneTable; const ACount: Integer);
var
  I: Integer;
  IsFind: Boolean;
  Fam: TFam;
begin
  Write('Vvedite familiu: ');
  Readln(Fam);
 
  IsFind := False; {Сбрасываем флаг перед поиском}
  for I := 1 to ACount do
    if ATable[I].Fam = Fam then
    begin
      IsFind := True; {Устанавливаем флаг "Успешный поиск"}
      Write('Zapis naidena: ');
      ShowRecord(ATable, I);
      Break; {Выход из цикла}
    end;
 
  if not IsFind then {Если запись не найдена}
    Writeln('Zapis ne naidena!');
end;
 
var
  MenuNum: Byte;
  PhoneTable: TPhoneTable; {Переменная-справочник}
  PhoneCount: Integer; {Текущее количество записей в справочнике}
begin
  PhoneCount := 0; {При запуске программы справочник еще пуст}
  Writeln('Telefonnaya kniga. Avtor: Ivanov I.I');
  repeat
    Writeln('Vvedite cifru dlya vypolneniya deistviya:');
    Writeln('1 - zagruzka spravochnika iz faila');
    Writeln('2 - novaya zapis');
    Writeln('3 - spisok vseh zapisei');
    Writeln('4 - poisk zapisi po familii');
    Writeln('5 - sohranenie spravochnika v fail');
    Writeln('6 - vyhod iz programmy');
    Write('> ');
    Readln(MenuNum);
    case MenuNum of
      1: LoadFromFile(PhoneTable, PhoneCount);
      2: AddNewRecord(PhoneTable, PhoneCount);
      3: ShowAllRecords(PhoneTable, PhoneCount);
      4: FindRecord(PhoneTable, PhoneCount);
      5: SaveToFile(PhoneTable, PhoneCount);
    end;
  until MenuNum = 6;
end.
0
Эксперт Pascal/Delphi
6807 / 4565 / 4818
Регистрация: 05.06.2014
Сообщений: 22,438
12.03.2015, 16:09 6
Если по образцу, то файл записей точно, не текстовый.
Задание-то какое?
Найти всех преподавателей, которые ведут данный предмет?
0
0 / 0 / 0
Регистрация: 12.03.2015
Сообщений: 11
12.03.2015, 16:37  [ТС] 7
Вот что сказал преподаватель
1) загрузка справочника из файла;
2) добавление новой записи;
3) вывод на экран списка всех записей;
4) поиск записи по заданному атрибуту;
5) сохранение справочника в файл.
0
473 / 425 / 290
Регистрация: 10.03.2015
Сообщений: 1,782
12.03.2015, 22:33 8
Лучший ответ Сообщение было отмечено ксю123 как решение

Решение

Цитата Сообщение от ксю123 Посмотреть сообщение
1) загрузка справочника из файла;
Если файл типизированный, то для начала туда данные нужно ввести.
Цитата Сообщение от ксю123 Посмотреть сообщение
2) добавление новой записи;
Это делается очень просто, перемещением указателя на конец файла, куда и добавляешь новую запись.
(seek, если не ошибаюсь).
Цитата Сообщение от ксю123 Посмотреть сообщение
3) вывод на экран списка всех записей;
Процедура в той проге:
Цитата Сообщение от ксю123 Посмотреть сообщение
Pascal
1
2
{Процедура выводит на экран список всех записей} 
procedure ShowAllRecords(const ATable: TPhoneTable;
Цитата Сообщение от ксю123 Посмотреть сообщение
4) поиск записи по заданному атрибуту;
Вводишь запрос, сравниваешь с нужным полем каждой записи, при совпадении выводишь что необходимо
Цитата Сообщение от ксю123 Посмотреть сообщение
5) сохранение справочника в файл.
Как я понимаю, отдельное поле сохраняется в отдельный файл. Вот и все
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.03.2015, 22:33
Помогаю со студенческими работами здесь

База данных "Библиотечный каталог"
Создать систему организующей базу данных с заданной структурой и предоставляет следующий сервис:...

База данных "Парфюмерия"
Посмотрите в чем ошибка,и если возможно исправить ее Uses crt; Type pSp=^Spisok; ...

База Данных "студенты"
Надо сделать так чтоб программа которая создает файл с базой даннз вывела мне на экран все что до...

Составить фразу "текстовый редактор" из слов "тесто", "редакция", "мотор", "который"
1) Составить фразу "текстовый редактор" из слов "тесто", "редакция", "мотор", "который".


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru