Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.02.2016, 16:05   #21
oxana.pal
Пользователь
 
Регистрация: 23.02.2016
Сообщений: 23
По умолчанию

Цитата:
Сообщение от p51x Посмотреть сообщение
Ну так и записывайте в матрицу, а не в 0
Код:
void Board::Load(const char* fileName)
{
	std::ifstream file(fileName);
	if (file)
	{
		for (int row = 0; row < kSize; ++row)
		{
			for (int col = 0; col < kSize; ++col)
				file >> mCells[row][col];
		}		
	}
}
от так, но оно выдает ошибку на
Код:
file >> mCells[row][col];
oxana.pal вне форума Ответить с цитированием
Старый 24.02.2016, 16:11   #22
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,759
По умолчанию

Какую ошибку? Какого типа у вас mCells?
p51x вне форума Ответить с цитированием
Старый 24.02.2016, 16:25   #23
oxana.pal
Пользователь
 
Регистрация: 23.02.2016
Сообщений: 23
По умолчанию

Цитата:
Сообщение от p51x Посмотреть сообщение
Какую ошибку? Какого типа у вас mCells?
State mCells[kSize][kSize];
Error 1 error C2678: binary '>>' : no operator found which takes a left-hand operand of type 'std::ifstream' (or there is no acceptable conversion) d:\git\projects\dungeon crawl\board.cpp 108 1 Dungeon Crawl
oxana.pal вне форума Ответить с цитированием
Старый 24.02.2016, 16:28   #24
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

При сохранении вы сами конвертировали State в символ, а тут решили, что оно само магическим образом конвертирует символ в State.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 24.02.2016, 16:34   #25
oxana.pal
Пользователь
 
Регистрация: 23.02.2016
Сообщений: 23
По умолчанию

Цитата:
Сообщение от Alex11223 Посмотреть сообщение
При сохранении вы сами конвертировали State в символ, а тут решили, что оно само магическим образом конвертирует символ в State.
)) Я переделала код
Код:
void Board::Save(const char* fileName)
{	
	std::ofstream file(fileName);
	if (file)
	{

		for (int row = 0; row < kSize; ++row)
		{
			for (int col = 0; col < kSize; ++col)
				file << mCells[row][col];
		}
	}
}

void Board::Load(const char* fileName)
{
	std::ifstream file(fileName);
	if (file)
	{
		for (int row = 0; row < kSize; ++row)
		{
			for (int col = 0; col < kSize; ++col)
				file >> mCells[row][col];
		}		
	}
	}
oxana.pal вне форума Ответить с цитированием
Старый 24.02.2016, 16:40   #26
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Наверно скастовать к State надо как-то так:
Код:
int stateNum;
file >> stateNum;
mCells[row][col] = static_cast<State>(stateNum); // или = (State) stateNum
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 24.02.2016, 22:33   #27
GulyaiVasko77
 
Регистрация: 24.02.2016
Сообщений: 2
По умолчанию

Цитата:
Сообщение от oxana.pal Посмотреть сообщение
тут также можно?
Код:
void Board::Print() const
{
	for (int row = 0; row < kSize; ++row)
	{
		for (int col = 0; col < kSize; ++col)
		{
			if (mCells[row][col] == State_Free)
				std::cout << '0';
			else if (mCells[row][col] == State_Player)
				std::cout << '1';
			else if (mCells[row][col] == State_Finish)
				std::cout << '9';
			else if (mCells[row][col] == State_Trap)
				std::cout << '*';
			else if (mCells[row][col] == State_Monster)
				std::cout << '!';
			std::cout << ' ';
		}
		std::cout << "\n";
	}
}
Вместо cout пишите ofsteam.
GulyaiVasko77 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
VBA Вставить формат ячеек. Zzema Microsoft Office Excel 1 30.09.2013 13:49
Сохранить адрес ячеек, которые редактировали JulyMar Microsoft Office Excel 1 01.08.2013 21:41
Процентное соотношение ячеек одного содержания по отношению ко всем ячейкам tibhar940 Microsoft Office Excel 5 23.11.2012 14:01
Поиск содержания ячеек, удовлетворяющих диапазону и выгрузка строк или удаление лишних. tibhar940 Microsoft Office Excel 26 07.08.2012 12:33
Вставить и удалить значения, в диапазоне ячеек. segail Microsoft Office Excel 9 02.07.2010 11:20