ivank
вобщем прога вычесляет коллории.
при этом она хранит данные в нескольких файлах, которые представляют собой отдельные категории - мясо, хлеб, овощи, фрукты. в каждой категории хранятся данные (имя продукта и его каллорийность) неограниченного чилса продуктов. т.к. нужно чтобы юзер мог и добавить новый продукт в конкретную категорию и удалить, и править.
при этом имя продукта - чар
каллорийность - инт
потому что каллорийность будет использоваться в вычеслениях.
так вот я и думаю, как это дело организовать по умному.
Цитата:
Если мы пользуем чистый C, то есть ф-ии malloc/free/realloc. В частности, интересна ф-ия realloc, которая изменяет размер памяти выделенной с помощью malloc.
|
это я тоже нашла, но одно НО - нам этого не давали. нам файлы-то 2 дня назад без особого углубления дали. поэтому могут счесть за ненужные усложнения.
я тут порылась и придумала приблизительно такой выход:
для каждой категории заводим отдельный файл
имя продукта и его каллорийность записываем через строку, т.е:
белый хлеб
226
чёрный хлеб
214
...
когда нам нужно мы находим (юзер будет вводить имя продукта, а прога находить его каллорийность и вычеслять что там надо) каллорийность переводим его из чар в инт (т.к. я не знаю как хранить каллорийность как инт):
callor=(int)value_of_caloricity
(вроде так можно)
и делаем вычесления.
конечно был ещё "выход":
создать struct { char name[40]; int caloricity;} для каждой категории..
при этом записей должно быть какое-то колличество, т.е. arrays of records
вот я с самого начала и спросила - есть ли функция ограничения занятости памяти до заполненного коллическва ентриес в аррей...
но это ещё ладно, а вот как это дело запихать в файл и как потом от туда так же считать... я не знаю...
[s]Исправлено:
Ginger, 0:38 26-01-2004[/s]