Массив С++

  • Автор темы Denisok
  • Дата начала
D

Denisok

#1
Сформировать массив, содержащий сведения о количестве блинчиков (хот-догов или других изделий),испеченных поварами «Бистро» за неделю. Структурный тип содержит поля: фамилия повара, количество блинчиков, испеченных им ежедневно в течение шестидневной недели, т.е. раздельно в понедельник, вторник и т.д.

Написать программу, выдающую на печать:
фамилию сборщика и общее количество блинчиков, испеченных им за неделю;
фамилию сборщика испекшего наибольшее количество блинчиков, и день, когда он достиг наивысшей производительности труда.
 
K

kr0k

#2
поддерживаю предидущего аратора толь вот решать примитивную задачу в которой нужно пример из книжки минимально подправить я не буду.
 
G

Guest

#3
Есть файл, нужно разобраться с его структурой.
Файл содержит описание полей.
С идентификаторами полей и их длинами я разобрался.
С типами полей вышла заминка. Известно только, что есть поля цифровые (целые и дробные), дата и время.
Файл не раскрывается как *.dbf.
Файл создан Borland C. У меня нет С, поэтому не могу протестировать этот файл. Кое-что удалось сделать на Basic.
Нужны типы полей записи, их физическая длина на диске.

Файл прикреплю позже, если найдутся желающие помочь.
 
G

Guest

#4
Прикрепил файл, о котором говорил в предыдущем сообщении. Расширение изменил на .txt, чтобы его приняла система.
 

Вложения

J
#5
... Кое-что удалось сделать на Basic...
Basic не предназначен для работы с файлами данных.
Есть такая штука - "поисковик" называется. И даже не одна! Ищем "тип файла dbf", читаем описание.
Если уж лень установить какое-нибудь из найденных поиском приложений, тогда идем "коротким" путем:
1. Считываем файл в одномерный массив байт
2. Экспериментальным путем, считывая из этого массива куски, вылавливаем разные части заголовка и пытаемся сообразить "что-бы это значило"
3. Определив примерное начало данных (это где-то после заголовка), аналогично пытаемся преобразовать куски произвольной длины в разные типы данных.
4. Убеждаемся, что поля в таблице идут в том-же порядке, что и в заголовке.
5. С удивлением замечаем, что во-первых поля могут быть переменной длины, во-вторых что Бэйсик не со всеми типами данных дружит.
6. Бросаем "короткий" путь

Ну а дальше, пройдя "короткий" путь, всё просто. Два варианта:
0. Устанавливаем какое-нибудь приложение, работающее с файлами dbf
а. Пишем на том приложении, которое понимает файл.
б. Попытаемся вернуться к "короткому" пути: Экспортируем из файла данные например в тхт с каким-либо разделителем и дальше открываем его Бейсиком как текст. Помня о числе полей вырезаем куски текста и пользуемся функциями типа StrToInt по мере надобности и как-то пытаемся использовать полученные данные.

Лично я бы выбрал "длинный" путь, т.е. пункты "0" и "а" - получится раз в 50-100 короче и что самое странное - правильно.
 
G

Guest

#6
Jsn, спасибо за ответ.
Всё дело в том, что это файл не .dbf. Проверил Clipper'ом, Fox'ом, и Excel не помог.
Это данные метеостанции записанные в компьютер программой, написанной на Borland C.
В Basic'е удалость выделить структуру и длину записи и типы полей. С полями фиксированной длины разобрался легко. Трудность вызвали поля, содержащие дату и время - не никакой закономерности, хотя дата и время известны.
Вот я и решил, что если этот файл подсунуть Borland'у, то что-нибудь с зтими полями прояснится.
 
J
#7
Всё дело в том, что это файл не .dbf. Проверил Clipper'ом, Fox'ом, и Excel не помог.
Это данные метеостанции записанные в компьютер программой, написанной на Borland C.
В Basic'е удалость выделить структуру и длину записи и типы полей. С полями фиксированной длины разобрался легко. Трудность вызвали поля, содержащие дату и время - не никакой закономерности, хотя дата и время известны.
Вот я и решил, что если этот файл подсунуть Borland'у, то что-нибудь с зтими полями прояснится.
Ну, насколько я помню, в dBase тоже совсем не один стандарт. По данным похоже именно на файл какой-то базы данных, т.к. содержатся названия полей и ещё что-то (тип?). Если это просто file of xxxxxxxxxx (какой-нибудь структурированный тип), то откуда в нем заголовки? Если и заголовки добавлены вручную - понять логику ещё сложнее. Excel сам ничего не делает на низком уровне, с данными работает соответствующий ODBC драйвер (или аналог). Драйвера именно нужного нет - эксель бессилен. А дата и время - тип весьма специфический. Обычно что-то вроде - "дата = число дней, прошедших от ххх; время = дробная часть суток". Судя по названиям в том файле, там могут оказаться номера дней недели и часы (или смены) в виде целых чисел, байт, символов или ещё как-нибудь. Ну, например, фантазия программиста в погоне за экономией места могла зашить в младших разрядах байта часы, в старших - четверти часа, а в другом байте - температуру, скорость и направление. Да мало-ли еще как. Если есть точная расшифровка файла - гадайте шараду. Конечно если есть цель! Например перевести годы наблюдений
в удобоваримый вид. В качестве примера или шаблона такой файл не годится, а вот для тренинга/обучения - ничего.