| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Центр помощи > [C++] Функции и файлы |
| Автор: Nobel88 2.6.2006, 17:05 | ||
Для хранения данных о ноутбуках описать структуру вида(при необходимости ее дополнив):
Написать функцию, которая читает данные о ноутбуках из файла note.txt в структуру приведенного вида. Написать функцию, которая записывает содержимое структуры в конец бинарного файла. Структура бинарного файла: первые два байта - целое число записей в файле; далее записи в формате структуры NOTEBOOK. Написать программу, в которой на основе разработанных функций осуществляет запись в двоичный файл данных только о тех ноутбуках, вес которых менее 7 кг, отсортированных в порядке возрастания цены. Пример файла note.txt: Acer Note Light 2699 5.6 02.0x11.8x08.3 100 40 10.4 1 1024x0768 60 0.774 ASW ND5123T 3489 7.2 02.3x11.8x10.1 133 32 12.1 2 1024x0768 70 1.300 ARMNote TS80CD 3699 7.2 02.0x11.5x08.8 133 64 11.3 1 1024x0768 75 1.300 AST Ascentia P50 4499 7.5 02.3x11.3x09.0 133 40 11.3 1 0800x0600 70 0.774 BSI NP8657D 2605 8.0 02.3x11.8x09.3 133 40 11.3 1 1024x0768 60 0.810 BSI NP5265A 3765 8.2 02.5x12.0x09.0 150 32 12.1 2 1024x0768 70 1.300 Dell Xpi P100SD 3459 6.0 02.3x11.0x08.8 100 40 10.3 1 1024x0768 60 0.773 Digital HINote 4799 4.0 01.3x11.0x08.8 120 40 10.4 1 0800x0600 56 1.000 Gateway Solo S5 4499 5.6 02.0x11.9x08.8 133 40 11.3 2 1024x0768 60 0.686 Hertz Z-Optlma NB 3995 8.0 02.3x11.9x09.0 150 40 11.2 2 1024x0768 75 1.000 HP OmnlBook 5500 6120 7.1 02.0x11.5x09.0 133 64 11.4 1 1024x0768 75 1.300 IBM ThinkPad 560 3749 4.1 01.3x11.8x08.8 120 40 12.1 2 1024x0768 85 0.774 NEC Versa 4080H 4780 6.6 02.3x11.8x09.5 120 48 10.4 1 0800x0600 70 0.776 Polywell Poly 500 3300 7.9 02.3x11.9x09.0 120 40 10.4 1 1024x0768 72 1.000 Samsung SENS 810 3667 8.7 02.3x11.5x09.5 100 32 11.4 2 1024x0768 75 0.773 Twinhead Slimnote 2965 7.4 02.0x11.6x08.0 075 64 10.4 1 1024x0768 70 0.772 В файле note.txt находится текстовая информация о ноутбуках. Каждая строка содержит данные об одной модели. Данные в строке размещаются в следующих полях: 1:20 - наименование модели; 21:24 — цена в долларах (целое число); 26:28 — масса ноутбука в кг (число с десятичной точкой из четырех символов); 30:43 - габаритные размеры ноутбука в дюймах (ВЫСОТАхДЛИНАхШИРИНА — три числа с десятичной точкой (4 символа, включая точку, разделенные 'х'); 44:47 — частота процессора в МГц (целое число из трех символов); 49:50 — максимальный объем ОЗУ в мегабайтах (целое число из двух символов); 52:55 — размер диагонали дисплея в дюймах (число с десятичной точкой из че¬тырех символов, включая точку); 57 — размер видеопамяти в мегабайтах — целое число из одного символа; 59:67 — разрешающая способность дисплея в пикселях (два целых числа, разде¬ленные 'х'); 69:70 — частота регенерации дисплея в Гц (целое число из двух символов); 7276 — объем HDD в гигабайтах (число с десятичной точкой из пяти символов). Все неописанные позиции заполнены пробелами. |
| Автор: londinium 2.6.2006, 17:11 |
| Найти решебник Павловской и посмотреть решении чего-то подобного, поскольку задача явно оттуда. |
| Автор: Nobel88 2.6.2006, 17:13 |
| подскажите ссыслку на решебник по Павловской? |
| Автор: Oleg_Ci 3.6.2006, 13:52 | ||
Кстати, написано в Microsoft Visual Studio 2003. И ещё - забыл что программа в начале записи в файл "должна первые два байта - целое число" записывать. А ещё, я тебя сдесь в других топиках нашёл, и оказывается тебе надо на Turbo C++ писать надобыло. Так-что извеняй, сообщать в начале надобыло. |
| Автор: eldarovich 3.6.2006, 17:59 |
| Олег4, плюсик тебе могут ставить только опытные форумчане с >100 постов, а за задачу просто большое человеческое Спасибо! У меня похожая, переделаю |
| Автор: Nobel88 4.6.2006, 10:09 |
| Спасибо, что помогли решить задачу! |
| Автор: Nobel88 4.6.2006, 12:46 |
| Олег4 ты написал на Visual(using не определяется), а нужно на Turbo C++( все равно спасибо). |
| Автор: Oleg_Ci 4.6.2006, 13:52 | ||
| Да там includ <... .h> поменять надо и помойму всё. Вот переделал под Turbo C++ 3.0. Но файл с текстом надо тогда набрать в каком-нибудь DOS редакторе надо, а то галиматья получается.
|
| Автор: Nobel88 4.6.2006, 18:21 |
| Спасибо, что помог! |