Перестановка значения Textbox в Visual C++ 2010

Доброго времени суток.
Есть тривиальная задача: на входе слово, фиксированной длины (14), буквы которого нужно поставить в обратной последовательности.

Решил на этой задаче немного освоить Ms Visual C++ 2010
Но так как опыт программирования уже стремится к нулю, призываю о помощи

Что имеем: TextBox для ввода слова, TextBox для вывода
Вроде бы все просто донельзя.
Функция перестановки
void RevStr(char* S,int l)
{
    char c;
    if (l > 1)
    {
      c=S[0];
      S[0]=S[l-1];
      S[l-1]=c;
      RevStr(S+1,l-2);
    }             
}


int main(int argc, char* argv[])
{
    textBox1->Text = "Text_new"; 
    char s[14]; 
    s = textBox1->Text;
    RevStr(S,14);
    TextBox2->Text = s; 
    return 0;
}


Но вылезает множество ошибок. Может кто-нибудь направить на путь истинный?
  • Вопрос задан
  • 2651 просмотр
Пригласить эксперта
Ответы на вопрос 1
EXL
@EXL
Энтузиаст
Может кто-нибудь направить на путь истинный?

Наставляю: воспользуйтесь Qt и забудьте про чудовищный WinApi.
nm9KbJq.png

Код "main.cpp":
#include <QApplication>
#include <QWidget>
#include <QGridLayout>
#include <QLabel>
#include <QLineEdit>
#include <algorithm>

class Widget : public QWidget
{
    Q_OBJECT
public:
    Widget() {
        gridLayout = new QGridLayout(this);
        labelString = new QLabel(tr("String:"));
        labelRevertString = new QLabel(tr("Revert string:"));

        lineEdit[0] = new QLineEdit();
        lineEdit[1] = new QLineEdit();

        gridLayout->addWidget(labelString, 0, 0);
        gridLayout->addWidget(labelRevertString, 0, 1);
        gridLayout->addWidget(lineEdit[0], 1, 0);
        gridLayout->addWidget(lineEdit[1], 1, 1);

        connect(lineEdit[0], SIGNAL(textEdited(QString)),
                this, SLOT(slotTextChanged(QString)));
        connect(lineEdit[1], SIGNAL(textEdited(QString)),
                this, SLOT(slotTextChanged(QString)));
    }
    virtual ~Widget() {}

private:
    QGridLayout *gridLayout;
    QLabel *labelString;
    QLabel *labelRevertString;
    QLineEdit *lineEdit[2];

private slots:
    void slotTextChanged(QString aString) {
        std::reverse(aString.begin(), aString.end());
        lineEdit[lineEdit[0]->hasFocus()]->setText(aString);
    }
};

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    Widget widget;
    widget.setFixedSize(widget.sizeHint());
    widget.show();
    return a.exec();
}

#include "moc_main.cpp"


Скачать исполнительный файл
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы