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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 22.12.2012, 19:43   #1
POLISHA
 
Регистрация: 03.11.2012
Сообщений: 3
По умолчанию Определить какие типы переменных используются

// Тип записи данных

typedef enum {tipFld, podtipFld, brandFld, countryFld, priceFld, valueFld, yearFld, maxFld } FildeCode;

const int MAX_NUM_FLDS = maxFld;

int fldWidth[MAX_NUM_FLDS]; // Ширина полей
int fldAlign[MAX_NUM_FLDS]; // Выравниваие полей

struct DataRec { // Поля записи данных.
string fld[MAX_NUM_FLDS]; // Для унификации обработки все объявлены типа string
// и помещены в массив

string get ( int fldNum )
{
if (0==fldAlign[fldNum])
return fld[fldNum] + string(fldWidth[fldNum]-fld[fldNum].length(),' ');
else
return string(fldWidth[fldNum]-fld[fldNum].length(),' ') + fld[fldNum];
}

void read ( ifstream& in ) {
char bufChAr[999];
for (int i=0; i<MAX_NUM_FLDS; ++i) {
if(in.eof()) {fld[i] = "???(eof)"; continue;}
in.getline(bufChAr,99);
fld[i] = bufChAr;
}
in.getline(bufChAr,99);// Пропуск строки, разделяющей записи
}//- - -read


void write ( ofstream& out ) {
for (int i=0; i<MAX_NUM_FLDS; ++i) out<<fld[i]<<endl;
out<<"==="<<endl;// Строка, разделяющая записи
}//- - -write

};//- - - - -DataRec


DataRec fldName; // Имёна полей

// Инициализация имён полей
void initFldsNames ( void )
{
for ( int i=0; i<MAX_NUM_FLDS; ++i ) {
fldName.fld[i]="???";
fldWidth[i]=40;
fldAlign[i]=0; //Выравниваие вправо для текста
}

fldName.fld[tipFld] = "Вид";
fldName.fld[podtipFld] = "Подвид";
fldName.fld[brandFld] = "Фирма";
fldName.fld[countryFld] = "Страна";
fldName.fld[priceFld] = "Цена";
fldWidth[priceFld] = 9;
fldAlign[priceFld]=1; //Выравнивание влево для чисел
fldName.fld[valueFld] = "Характеристика";
fldWidth[valueFld] = 9;
fldAlign[valueFld]=1; //Выравнивание влево для чисел
fldName.fld[yearFld] = "Год производства";
fldWidth[yearFld] = 4;
POLISHA вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
какие инструменты используются для программирования для windows mobile 5 или 6 zazic2p Свободное общение 15 06.06.2011 08:05
Простая и сложная сортировка - какие используются? paravoz1k Помощь студентам 1 02.04.2011 13:32
какие именно из USB-портов ноутбука сейчас, например, используются флеш-картой? vedro-compota Компьютерное железо 2 07.03.2011 21:35
C/C++ Типы переменных ISV-777 Помощь студентам 3 01.11.2010 17:50
Какие типы имеют value rangel JavaScript, Ajax 0 29.07.2010 12:46