#include "stdafx.h"

#include "ImgUtil.h"

std::wstring g_ImageErrorStr[] =
{
	L"Успешно.",
	L"Недостаточно памяти.",
	L"Невозможно открыть файл образа.",
	L"Невозможно создать файл образа.",
	L"Файл образа не открыт.",
	L"Файл образа защищён от записи.",
	L"Ошибка позиционирования в файле образа.",
	L"Ошибка чтения файла образа.",
	L"Ошибка записи в файл образа.",
	L"Невозможно создать директорию.",
	L"Файл не найден.",
	L"Ошибки в формате файловой системы.",
	L"Файл с таким именем уже существует.",
	L"Директория с таким именем уже существует.",
	L"Директории с таким именем не существует.",
	L"Каталог заполнен.",
	L"Диск заполнен.",
	L"Диск сильно фрагментирован, нужно провести сквизирование.",
	L"Директория не пуста.",
	L"Нарушена структура каталога.",
	L"Это не директория.",
	L"Это не файл.",
	L"Файловая система не поддерживает директории.",
	L"Файл защищён от удаления.",
	L"" //на будущее
};

//получим номер окончания слова в зависимости от числа num (предполагаем, что нет отрицательных чисел)
unsigned int GetWordEndIdx(unsigned int num)
{
	static const unsigned int nn[10] = { 2, 0, 1, 1, 1, 2, 2, 2, 2, 2 };

	//исключение 10..19, здесь всегда 2
	if ((num >= 10) && (num <= 19))
	{
		return 2;
	}

	//все остальные окончания определяются по одной крайней правой цифре.
	//вот её и получим
	num %= 10;
	return nn[num];
}
