2013-02-21 3 views
2

У меня есть шесть комбинированных ящиков, которые содержат одинаковые значения. Я хочу, чтобы пользователь был вынужден выбрать уникальное значение для каждого из них. Есть ли эффективный способ сделать это, а не сравнивать каждую пару отдельно? Кроме того, существует ли более эффективный способ присвоения им одинакового значения, а не только индивидуально?Убедитесь, что индекс нескольких комбинированных полей уникален.

+0

Звучит плохой дизайн интерфейса! То, что вы по существу делаете, - это попросить пользователя заказать набор значений. –

+0

Да, я думал, что это не лучший метод, но мне нужно, чтобы пользователь назначил шесть случайных значений для шести характеристик, и я не мог придумать лучшего способа. Если у вас есть какие-либо предложения, они будут высоко оценены. –

ответ

1

Если я правильно понимаю это, вы хотите, чтобы пользователь выбирал значения из 6 полем со списком и был вынужден выбрать другое значение из предыдущих полей, выбранных пользователем.

В этом случае вы можете добавить массив значений bool, равный количеству значений, которые могут быть выбраны из ваших списков, и инициализировать их до значения false, и каждый раз, когда пользователь выбирает значение, проверьте, , проверьте соответствующий элемент в вашем массиве, и если он прав, ошибка. Если оно ложно, переверните его с false на true и продолжите.

Вы по существу ищете структуру данных, в которой будет храниться определенная информация: было ли выбрано значение или нет. Это может быть реализовано с использованием массива или вектора логических чисел или целых чисел или того, что у вас есть.

Редактировать: массив должен быть доступен функциями, используемыми для захвата ввода из пользовательского интерфейса. В диалоговом приложении MFC это будет где-то в YourProjectNameDlg.h.

+0

Да, это почти то, о чем я прошу. благодаря –

Смежные вопросы