4. Тагин, М.А. Стандартная библиотека функций [Текст] : учеб. пособие / М. А. Тагин. – М. : Программирование, 2002. – 265 с.
#include "face.h"
#include "Description.cpp"
//Главная функция программы
int main ( ){
//Вызов функции реализации меню
menu ( );
return 0;
} ___________________________________________________________________________
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <iostream>
#include <fstream>
#include <iomanip>
//NUMBER хранит максимальный размер массива
#define NUMBER 100
//Установка области действия имен
using namespace std;
void showHeadTable ( );
void showSeparator ( );
void showEndTable ( );
void menu ( );
#include "face.h"
//Описание класса множества данных – городов страны
class city{
private:
//количество жителей в тысячах
float population;
//название
char* name;
//главная достопримечательность
char* attraction;
public:
//Описание конструкторов
city ( );
city ( char* );
city ( float, char*, char* );
//Функция установки количества жителей
void setPopulation ( );
//Функция установки названия города
void setName ( );
//Функция установки главной достопримечательности
void setAttraction ( );
//Функция, возвращающая количество жителей
float getPopulation ( ) {return population;}
//Функция, возвращающая название города
char* getName ( ) {return name;}
//Функция, возвращающая главную достопримечательность
char* getAttraction ( ) {return attraction;}
//Функция вывода значения текужего элемента
void show ( const char* );
//Виртуальная функция, возвращающая строковое значение административного уровня города
//Из экземпляров данного функция ни разу вызваться не должна
virtual char* getLevel ( ){ return NULL; };
//Виртуальная функция, возвращающая числовое значение административного уровня города
//Из экземпляров данного функция ни разу вызваться не должна
virtual int getIntLevel ( ){ return -1; };
};
//Инициализация конструктора без параметров
city::city ( ){
population = 0.0;
name = NULL;
attraction = NULL;
}
//Инициализация конструктора с параметром в виде строки значений, разделенных точкой с запятой
city::city ( char* tmpStr ){
char temp [ 50 ];
int i = 0, p = 0;
//Читаем количество жителей
while ( tmpStr [ p ] != ';' && p < strlen ( tmpStr ) ){
temp [ i++ ] = tmpStr [ p++ ];
}
temp [ i ] = 0;
population = atof ( temp );
//Читаем название города
p++;
i = 0;
while ( tmpStr [ p ] != ';' && p < strlen ( tmpStr ) ){
temp[ i++ ] = tmpStr [ p++ ];
}
temp [ i ] = 0;
name = new char [ strlen ( temp ) + 1 ];
strcpy( name, temp );
//Читаем главную достопримечательность
p++;
i = 0;
while ( tmpStr [ p ] != ';' && p < strlen ( tmpStr ) ){
temp[ i++ ] = tmpStr [ p++ ];
}
temp [ i ] = 0;
attraction = new char [ strlen ( temp ) + 1 ];
strcpy( attraction, temp );
}
//Инициализация конструктора с тремя параметрами-значениями
city::city( float p, char* n, char* a ) : population ( p ){
name = new char [ strlen ( n ) + 1 ];
strcpy( name, n );
attraction = new char [ strlen ( a ) + 1 ];
strcpy( attraction, a );
};
//Функция вывода информации
void city::show ( const char* str ){
//Если параметром в функцию передана строка "element", то вывод в формате единичного элемента
if ( str == "element" ){
cout << name << ": " << endl;
cout << "Population: " << population << "thousand people." << endl;
cout << "Main attraction: " << attraction << endl;
cout << "Administrative level: " << getLevel ( ) << endl;
}
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.