1. Пользуйтесь тегами кода. - [code] ... [/code] 2. Точно указывайте язык, название и версию компилятора (интерпретатора). 3. Название темы должно быть информативным. В описании темы указываем язык!!!
по идее программа должна иметь две ф-ии: чтение из файла данных для структуры и запись в файл структуры в конец файла.и выполнять следующе:запись в файл информации только о тех ноутбуках ,тактовая частота которых больше 120 МГц,+их нужно отсортировать в порядке возрастания цены.
то,что у меня получилось к сожалению не работает... может посмотрите и исправите какие-то ошибки? заранее благодарна..
#include <iostream.h> #include <fstream.h>
typedef struct tagT { int disp_res_x; //разрешающая способность дисплея по горизонтали int disp_res_y; //по вертикали
Смотри... Ты переопределяешь для класса оператор присваивания, то есть, задаешь действия, которые программа должна выполнить, если ты делаешь, например:
T a, b; a = b; // <--- Вот так...
Как это сделать... Все очень просто:
#include <stdlib.h> #include <string.h>
#include <iostream.h> #include <fstream.h>
// Работаем с классами class T { // Функции "друзья" класса (имеют доступ к защищенным и приватным членам класса)
// Перегрузка операции ввода friend ostream& operator << (ostream &, const T &); // Перегрузка операции вывода friend istream& operator >> (istream &in, T ¬e);
public: // Вот это и есть перегрузка операции присваивания T& operator = (const T ¬e) { disp_res_x = note.disp_res_x; disp_res_y = note.disp_res_y; f = note.f; d = note.d; hdd = note.hdd; price = note.price; strcpy(mode, note.mode); return *this; }
// Конструктор по умолчанию T(char* _model = "", float _price = 0.0, int _f = 0, float _d = 0.0, float _hdd = 0.0, int dx = 0, int dy = 0): price(_price), f(_f), d(_d), hdd(_hdd), disp_res_x(dx), disp_res_y(dy) { strcpy(mode, _model); }
Если что непонятно в логике работы - спрашивай... Вместо вывода на консоль через cout можно открыть ofstream f_out("res.txt") и точно так же направить вывод туда:
f_out << notebook[i];
Чтение происходило вот из этого файла: NOTE.TXT ( 366 байт )
Кол-во скачиваний: 515
(он содержит для каждого ноута следующие данные:
модель, цена, масса, габариты(длина/ширина/высота), тактовая частота CPU, размер памяти, диагональ дисплея, размер видеопамяти, разрешение монитора(X/Y), рабочая частота монитора, размер хард-диска.
если у тебя формат файла данных другой, то придется подправить operator >>)