Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 06.05.2010, 21:56   #1
Leo705
Пользователь
 
Регистрация: 13.04.2010
Сообщений: 16
Радость Нужен совет

Добрый вечер господа...
Мне была поставлена задача:
Сведения об автомобиле состоят из его марки, номера и фамилии владельца. Дан файл , содержащий сведения о нескольких автомобилях. Найти:
а) фамилии владельцев и номера автомобилей данной марки;
б) количество автомобилей каждой марки.

Задачу я написал, вроде все работает. Нужен совет, можно ли как то уменьшить код.

P.S. И еще вопрос можно ли как то узнать количество записанных блоков в бинарном файле

код во влажении (не знаю как еще добавить длинный код )).....юзвер):
Текстовый документ.txt

Последний раз редактировалось Leo705; 06.05.2010 в 22:35.
Leo705 вне форума Ответить с цитированием
Старый 07.05.2010, 11:39   #2
mrChester
Я
Форумчанин
 
Аватар для mrChester
 
Регистрация: 24.04.2010
Сообщений: 693
По умолчанию

Цитата:
Сообщение от Leo705 Посмотреть сообщение
Задачу я написал, вроде все работает. Нужен совет, можно ли как то уменьшить код.
Для хранения данных в твоем случае лучше использовать структуры, код от этого не уменшится, но доходчивость и практичность увеличится.
Код:
struct Car
{char marka[50];
  //и т.д. все данные об автомобиле
} cars[50];
Таким образом мы создали массив из 50 автомобилей, считаешь все из файла в этот массив и работаешь уже с ним...
Все персонажи вымышлены, все совпадения случайны.
Если жизнь игра, тогда я её разработчик ©.
mrChester вне форума Ответить с цитированием
Старый 07.05.2010, 11:51   #3
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,065
По умолчанию

Цитата:
Сообщение от Leo705 Посмотреть сообщение
Нужен совет, можно ли как то уменьшить код.
Зачем? Код есть, работает, объем кода никак не связан со скоростью выполнения программы. Я бы скорее наоборот его "увеличил" с целью повышения читабельности.
Цитата:
Сообщение от Leo705 Посмотреть сообщение
P.S. И еще вопрос можно ли как то узнать количество записанных блоков в бинарном файле
Можно. Размер файла делим на размер блока и получаем количество блоков. Размер файла (раз уж всё равно его открываем и работаем с ним) можно определить следующим образом:
1) Переходим в конец файла посредством вызова fseek с соответствующими параметрами
2) Определяем текущую позицию в файле (функция ftell)
3) Делим текущую позицию на размер блока и получаем число блоков в файле
4) Не забываем вернуться в начала файла, чтобы потом нормально из него всё прочитать.
pu4koff вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Нужен совет Ryrik87 Безопасность, Шифрование 1 29.10.2009 01:43
Нужен совет Vergiliy БД в Delphi 2 13.01.2009 08:58
Нужен совет Eretic Общие вопросы .NET 3 31.10.2008 13:57
Нужен совет Kler Свободное общение 0 27.03.2008 23:44