Qt cvičení - faktoriál

Z GeoWikiCZ
Přejít na: navigace, hledání

Napište Qt GUI aplikaci pro interaktivní výpočet faktoriálu.

Qt-faktorial.png

Třída MainWindow defnuje dva privátní atributy n a f, které jsou v konstruktoru inicialovány na hodnoty 0 a 1. S každým stisknutím tlačítka je v příslušném slotu hodnota n zvýšena o 1 (operátor ++) a vypočtena aktuální hodnota faktoriálu (operátor přensobení *=).

Protože maximílní hodnota faktoriálu, který lze zobrazit v proměnné typu int je 12!, je po výpočtu faktorálu 12 widget PushButton (tlačítko Další) skryt, tj. je zavolána metoda pushButton->hide().

#include "mainwindow.h"
#include "ui_mainwindow.h"

MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent), ui(new Ui::MainWindow)
{
    ui->setupUi(this);
    n = 0;
    f = 1;
}

MainWindow::~MainWindow()
{
    delete ui;
}

void MainWindow::on_pushButton_clicked()
{ 
    n++;
    f *= n;

    ui->label_n->setText(QString::number(n));
    ui->label_f->setText(QString::number(f));

    if (n >= 12) ui->pushButton->hide();
}

Číselné hodnoty jsou explicitně konvertovány na typ QString, který je vyžadován jako parametr metody setText.