//Если параметром в функцию передана строка "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 ];
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.