Skip to content

Instantly share code, notes, and snippets.

@ernado
Created March 28, 2013 15:02
Show Gist options
  • Save ernado/5263824 to your computer and use it in GitHub Desktop.
Save ernado/5263824 to your computer and use it in GitHub Desktop.
// заголовочный файл
// ИУ5-22 Разумов Александр
// 28.03.2013 18:51
#include <string>
#include <iostream>
/**
* шаблон для вывода значения переменной с пояснением.
* формат: var_name delimiter val \n
* пример: eq("Переменная",5); // переменная = 5 \n
* @param var_name название переменной
* @param val значение переменной
* @param newline наличие переноса строки
* @param delimiter разделитель (по умолчанию символ '=')
*/
template <class T> void eq (std::string var_name, T val, bool newline = true, char delimiter = '=')
{
std::cout << var_name << ' ' << delimiter << ' ' << val << " ";
if (newline)
std::cout << std::endl;
}
/**
* шаблон для ввода с последующим выводом
* @param var_name название переменной
* @param &val ссылка на переменную
* @param verbose необходимость подтверждать выводом введенного значения (по умолчанию отключена)
*/
template <class T> void promt (std::string var_name, T &val, bool verbose = false)
{
std::cout << "Введите " << var_name << ": "; std::cin >> val;
if (verbose)
eq("Введено", val);
}
/**
* функция для вывода названия подпункта с автоинкрементом
* @param section_name название подпункта
* @param v_m номер подпункта
* @param v_n номер пункта
*/
void section(std::string section_name, int v_m = -1, int v_n = -1)
{
static int n=4, m=4;
if (v_n != -1)
n = v_n;
if (v_m != -1)
m = v_m;
std::cout << '\n' << n << "." << m << ' ' << section_name << std::endl; m++;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment