Пример 2: Программа, которая находит квадратный корень числа

Программа будет находить неотрицательный корень вещественного числа. Квадратный корень можно вычислить, только если подкоренное выражение неот­рицательно, поэтому при недопустимом введенном значении программа будет вы­давать сообщение об ошибке. Сообщение об ошибке может быть достаточно пространным, поэтому для вывода результата используем элемент Text Edit, который автоматически переносит текст на другую строку. 

Спроектируйте диалоговое окно как показано на рисунке. Элементы, которые вы должны добавить: Label, Line Edit, Push Button и Text Edit. Верхние три элемента выровняйте, выделив их и нажав кнопку Lay Out Vertically. Text Edit не включайте в Layout, чтобы иметь возможность изменять его размеры.

Создайте слот для кнопки «Корень» и напишите код, показанный ниже.

#include "dialog.h"

#include "ui_dialog.h"

#include <math.h>

#include <QTextCodec>

Dialog::Dialog(QWidget *parent):

QDialog(parent),

ui(new Ui::Dialog)

{

ui->setupUi(this);

adjustSize(); // делаем размеры окна минимально-необходимыми

}

Dialog::~Dialog()

{

delete ui;

}

void Dialog::on_pushButton_clicked()

{

 QTextCodec* codec = QTextCodec::codecForName("UTF-8");

QTextCodec::setCodecForCStrings(codec);

// 2 строчки, приведенные выше, позволяют выводить текст на русском языке

 

double x = ui->lineEdit->text().toDouble(); // считываем число

double y;

if (x>=0)

{

  y=sqrt(x); // извлекаем квадратный корень

  ui->textEdit->setText(QString::number(y,'f',5));

// выводим число с точностью 5 цифр после точки

}

else ui->textEdit->setText("Число должно быть >= 0");

 // выводим сообщение об ошибке

}

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


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: