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

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

Вернуться   Форум программистов > Низкоуровневое программирование > Win Api
Регистрация

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 02.05.2011, 16:42   #1
Alex_under
 
Регистрация: 11.10.2009
Сообщений: 8
Восклицание интерпретатор Brainfuck на winapi

Доброго времени суток!
Столкнулся с проблемой, при попытке корректно вывести интерпретированный код.
допустим, при вводе +++. интерпретированный вариант выглядит так: .++., т.е. первая "." это интерпретированное значение, и ещё остаток кода.
Возможно всё очевидно, но я этого в упор не вижу.
Заранее спасибо!

Код:
case BUTTON2:
			std::stack <int> stack;

			CodeLength = GetWindowTextLength (hEditBf) + 1;
			char *BFCode = new char [CodeLength];
			memset (BFCode, 0, CodeLength);
			GetWindowText (hEditBf, BFCode, CodeLength);
			char *pointer;
			pointer = &BFCode[0];
			for (int i = 0; i < CodeLength; i++)
			{
				switch (BFCode [i])
				{
				case '+':
					(*pointer) ++;
					break;
				case '-':
					(*pointer) --;
					break;
				case '>':
					pointer ++;
					break;
				case '<':
					pointer --;
					break;
				case '[':
					stack.push(i);
					break;
				case ']':
					if ((*pointer) != 0)
					{
						if (stack.empty())
						{
							MessageBox (hWnd, "Ошибка: различное количество скобок", "Ошибка", NULL);
							break;
						}
						i = stack.top();
					}
					else
						stack.pop();
					break;
				case '.':
					SetWindowText (hEditC, pointer);
					break;
				case ',':
					//GetWindowText (hEditBf, cells[pointer], CodeLength);
					break;
				}
			} 
			break;
		}	
	default:
		return DefWindowProc (hWnd, msg, wParam, lParam);
		break;
	}
	return 0;
}
Alex_under вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
BrainFuck anGeee Помощь студентам 1 04.08.2016 13:37
Интерпретатор Brainfuck Alex_under Общие вопросы C/C++ 6 01.05.2011 17:28
Процедурный Brainfuck tunyash Софт 0 17.06.2010 08:55
Интерпретатор Volkodav2411 Фриланс 6 04.02.2010 21:17
командный интерпретатор <Dusha> Общие вопросы C/C++ 4 16.08.2008 18:27