1-goldbach/{v1.0 → v1.1}/MainWindow.h RENAMED
@@ -1,68 +1,72 @@
1
  #ifndef MAINWINDOW_H
2
  #define MAINWINDOW_H
3
 
4
  #include <QMainWindow>
5
 
6
  namespace Ui {
7
  class MainWindow;
8
  }
9
 
 
 
 
10
  class MainWindow : public QMainWindow
11
  {
12
  Q_OBJECT
13
 
14
  private:
15
  Ui::MainWindow* ui = nullptr;
 
16
  bool userStopped = false;
17
 
18
  public:
19
  explicit MainWindow(QWidget *parent = nullptr);
20
  ~MainWindow() override;
21
 
22
  private slots:
23
  void on_lineEditNumber_textEdited(const QString &arg1);
24
 
25
  void on_pushButtonCalculate_clicked();
26
 
27
  void on_pushButtonStop_clicked();
28
 
29
  private:
30
  /**
31
  * @brief Calcula las sumas de Goldbach para el numero dado y las agrega a una pizarra
32
  * @param number El numero dado por el usuario
33
  * @return La cantidad de sumas encontradas
34
  */
35
  long long calculate(long long number);
36
  /**
37
  * Calcula todas las sumas de dos primos que equivalen al numero dado, y las presenta
38
  * en el area resultado. Incrementa la barra de progreso mientras realiza el calculo
39
  * de la conjetura fuerte de Goldbach, por ejemplo:
40
  *
41
  * 4 == 2 + 2
42
  * 6 == 3 + 3
43
  * 10 == 3 + 7 == 5 + 5
44
  *
45
  * @param numero Un numero entero par mayor o igual a 4
46
  * @return la cantidad de sumas de dos primos encontradas
47
  */
48
  long long calculateEvenGoldbach(long long number);
49
  /**
50
  * Calcula todas las sumas de tres primos que equivalen al numero dado, y las presenta
51
  * en el area resultado. Incrementa la barra de progreso mientras realiza el calculo
52
  * de la conjetura debil de Goldbach, por ejemplo:
53
  *
54
  * 7 == 2 + 2 + 3
55
  * 9 == 2 + 2 + 5 == 3 + 3 + 3
56
  *
57
  * @param numero Un numero entero impar mayor o igual a 7
58
  * @return la cantidad de sumas de tres primos encontradas
59
  */
60
  long long calculateOddGoldbach(long long number);
61
  /**
62
  * Retorna true si numero es primo, false si numero no es primo o menor que 2
63
  * Por definicion 1 no es primo ni compuesto, este metodo retorna false
64
  */
65
  static bool isPrime(long long numero);
66
  };
67
 
68
  #endif // MAINWINDOW_H
1
  #ifndef MAINWINDOW_H
2
  #define MAINWINDOW_H
3
 
4
  #include <QMainWindow>
5
 
6
  namespace Ui {
7
  class MainWindow;
8
  }
9
 
10
+ // Forward declaration
11
+ class QProgressBar;
12
+
13
  class MainWindow : public QMainWindow
14
  {
15
  Q_OBJECT
16
 
17
  private:
18
  Ui::MainWindow* ui = nullptr;
19
+ QProgressBar* progressBar = nullptr;
20
  bool userStopped = false;
21
 
22
  public:
23
  explicit MainWindow(QWidget *parent = nullptr);
24
  ~MainWindow() override;
25
 
26
  private slots:
27
  void on_lineEditNumber_textEdited(const QString &arg1);
28
 
29
  void on_pushButtonCalculate_clicked();
30
 
31
  void on_pushButtonStop_clicked();
32
 
33
  private:
34
  /**
35
  * @brief Calcula las sumas de Goldbach para el numero dado y las agrega a una pizarra
36
  * @param number El numero dado por el usuario
37
  * @return La cantidad de sumas encontradas
38
  */
39
  long long calculate(long long number);
40
  /**
41
  * Calcula todas las sumas de dos primos que equivalen al numero dado, y las presenta
42
  * en el area resultado. Incrementa la barra de progreso mientras realiza el calculo
43
  * de la conjetura fuerte de Goldbach, por ejemplo:
44
  *
45
  * 4 == 2 + 2
46
  * 6 == 3 + 3
47
  * 10 == 3 + 7 == 5 + 5
48
  *
49
  * @param numero Un numero entero par mayor o igual a 4
50
  * @return la cantidad de sumas de dos primos encontradas
51
  */
52
  long long calculateEvenGoldbach(long long number);
53
  /**
54
  * Calcula todas las sumas de tres primos que equivalen al numero dado, y las presenta
55
  * en el area resultado. Incrementa la barra de progreso mientras realiza el calculo
56
  * de la conjetura debil de Goldbach, por ejemplo:
57
  *
58
  * 7 == 2 + 2 + 3
59
  * 9 == 2 + 2 + 5 == 3 + 3 + 3
60
  *
61
  * @param numero Un numero entero impar mayor o igual a 7
62
  * @return la cantidad de sumas de tres primos encontradas
63
  */
64
  long long calculateOddGoldbach(long long number);
65
  /**
66
  * Retorna true si numero es primo, false si numero no es primo o menor que 2
67
  * Por definicion 1 no es primo ni compuesto, este metodo retorna false
68
  */
69
  static bool isPrime(long long numero);
70
  };
71
 
72
  #endif // MAINWINDOW_H