Описание программного комплекса. Модуль Description. Вид исходных файлов с данными, страница 6

//Если параметром в функцию передана строка "line", то вывод в формате табличного элемента

if ( str == "line" )

cout <<  setiosflags ( ios::left ) << "|" << setw ( 20 ) << name << "|" << setw ( 9 ) << setprecision ( 7 ) << population << "K|" << setw ( 20 ) << attraction << "|" << setw ( 13 ) << getLevel ( ) << "|" << endl;

}

//Функция установки значения популяции города

void city::setPopulation(){

cout << "Enter the population city of large village: " << endl;

scanf ( "%f",&population );

}

//Функция установки названия города

void city::setName ( ){

cout << "Enter the name of city: " << endl;

char str [ 30 ];

scanf ("%s", &str);

name = new char [ strlen ( str ) + 1 ];

strcpy ( name, str );

}

//Функция установки главной достопримечательности

void city::setAttraction ( ){

cout << "Enter the main attraction of the city: " << endl;

char str [ 30 ];

scanf ("%s", &str);

attraction = new char [ strlen ( str ) + 1 ];

strcpy ( attraction, str );

}

//Класс, соответствующий столичному административному уровню

class Capital: public city {

public:

//Получение административного уровня в виде строки

char* getLevel ( ){ return "Capital"; }

//Получение административного уровня в виде целого числа

int   getIntLevel ( ) { return 1; }

//Конструктор без параметров

Capital ( ) : city ( ) {}

//Конструктор с параметром в виде строки значений, разделенных точкой с запятой

Capital ( char* tmpStr ): city ( tmpStr ) {}

//Конструктор с тремя параметрами-значениями

Capital ( float p, char* n, char* a ) : city ( p, n, a ) {}

};

//Класс, соответствующий областному административному уровню

class Region: public city {

public:

//Получение административного уровня в виде строки

char* getLevel ( ){ return "Region"; }

//Получение административного уровня в виде целого числа

int   getIntLevel ( ) { return 1; }

//Конструктор без параметров

Region ( ) : city ( ) {}

//Конструктор с параметром в виде строки значений, разделенных точкой с запятой

Region ( char* tmpStr ): city ( tmpStr ) {}

//Конструктор с тремя параметрами-значениями

Region ( float p, char* n, char* a ) : city ( p, n, a ) {}

};

//Класс, соответствующий районному административному уровню

class District: public city {

public:

//Получение административного уровня в виде строки

char* getLevel ( ){ return "District"; }

//Получение административного уровня в виде целого числа

int   getIntLevel ( ) { return 1; }

//Конструктор без параметров

District ( ) : city ( ) {}

//Конструктор с параметром в виде строки значений, разделенных точкой с запятой

District ( char* tmpStr ): city ( tmpStr ) {}

//Конструктор с тремя параметрами-значениями

District ( float p, char* n, char* a ) : city ( p, n, a ) {}

};

//Класс, соответствующий административному уровню "Большая деревня"

class Village: public city {

public:

//Получение административного уровня в виде строки

char* getLevel ( ){ return "Village"; }

//Получение административного уровня в виде целого числа

int   getIntLevel ( ) { return 1; }

//Конструктор без параметров

Village ( ) : city ( ) {}

//Конструктор с параметром в виде строки значений, разделенных точкой с запятой

Village ( char* tmpStr ): city ( tmpStr ) {}

//Конструктор с тремя параметрами-значениями

Village ( float p, char* n, char* a ) : city ( p, n, a ) {}

};

//Описание класса-массива, который будет хранить в себе данные

class variety{

private:

//Объявление массива указателей

city* vector [ NUMBER ];