C++ programı çalışmıyor

Musa B.

Kilopat
Katılım
1 Ekim 2017
Mesajlar
1.633
Makaleler
4
Çözümler
13
Daha fazla  
Cinsiyet
Erkek
Merhaba, QT ile GUI programlar tasarlamaya adım attım. Tabirler konusunda yanlışım olursa affedile. İlk olarak bir sayı tahmin uygulaması tasarladım daha doğrusu Udemy üzerinden aldığım kursta onu tasarlattı. Benim amacım programın sadece bende değil arkadaşlarımda da çalışması yani elde edilebilir bir ".exe" edinmek. INNO ile bir kurulum dosyası oluşturup gerekli dll´leri de o kurulumun içine attım. Programı sorunsuz olarak kurulum dosyası oluştu, programı kurdum ve açmayı denediğimde şu hatayı alıyorum:

1618919290933.png


İnternette araştırdığımda Python ile ilgili bir şeyler çözüm olarak önermişler fakat bilgisayarımda Python dahi kurulu değil ve programı C++ ile yazıyorum. Tekrar kurmayı da denedim bu arada.
Kodlar da şöyle;

[CODE lang="cpp" title="Header Dosyası"]#ifndef WIDGET_H
#define WIDGET_H

#include <QWidget>

QT_BEGIN_NAMESPACE
namespace Ui { class Widget; }
QT_END_NAMESPACE

class Widget : public QWidget
{
Q_OBJECT

public:
Widget(QWidget *parent = nullptr);
~Widget();

private slots:
void on_guessButton_clicked();

void on_startOverButton_clicked();

private:
Ui::Widget *ui;
int secretNumber, guessNumber, falseGuess = 0, trueGuess = 0;
};
#endif // WIDGET_H
[/CODE]

[CODE lang="cpp" title="main.cpp"]#include "widget.h"

#include <QApplication>

int main(int argc, char *argv[])
{
QApplication a(argc, argv);
Widget w;
w.show();
return a.exec();
}
[/CODE]

[CODE lang="cpp" title="widget.cpp"]#include "widget.h"
#include "ui_widget.h"
#include <stdlib.h>
#include <time.h>
#include <QDebug>

Widget::Widget(QWidget *parent)
: QWidget(parent)
, ui(new Ui::Widget)
{
ui->setupUi(this);

srand(time(NULL));

secretNumber = rand() % 10 + 1;

qDebug() << "Secret number generated: " << QString::number(secretNumber);

ui->startOverButton->setDisabled(true);
}

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

void Widget::eek:n_guessButton_clicked()
{
guessNumber = ui->spinBox->value();
qDebug() << "Guess number is: " << QString::number(guessNumber);
ui->startOverButton->setDisabled(false);
if(guessNumber == secretNumber)
{
trueGuess++;
ui->trueGuessCount->setText("Doğru: "+QString::number(trueGuess));
ui->messagDisplayBox->setText("Adam ADAM! Bildin lan kerata seni!\nYeni sayın hazır! Bul bakalım.");
secretNumber = rand() % 10 + 1;
}
else
{
falseGuess++;
ui->falseGuessCount->setText("Yanlış: "+QString::number(falseGuess));
if(secretNumber < guessNumber)
{
ui->messagDisplayBox->setText("Yükseklerdesin paşam! Alçak ezcük");
}
if(secretNumber > guessNumber)
{
ui->messagDisplayBox->setText("İstikbal göklerde aslan parçası!");
}
}

if(trueGuess == 5)
{
ui->messagDisplayBox->setText("Anlaşılan balla gusül alınmış!");
}
if(trueGuess == 10)
{
ui->messagDisplayBox->setText("Zemzemle abdest almışsın maşallah!");
}
if(trueGuess == 20)
{
ui->messagDisplayBox->setText("Pü pü pü pü maşallah! Yavrum benim be!");
}
if(trueGuess == 50)
{
ui->messagDisplayBox->setText("Çıkar gölgesinde serinleyelim reis!");
}
if(falseGuess == 5)
{
ui->messagDisplayBox->setText("İpucu verdiğim halde 5 yanlış ne lan!");
}
if(falseGuess == 10)
{
ui->messagDisplayBox->setText("Nasıl olsa kimse görmüyo götünden at!\nYani sanırım görmüyo ;)");
}
if(falseGuess == 20)
{
ui->messagDisplayBox->setText("Niyet ettim Allah rızası için gusül abdesti\nalmaya!");
}
if(falseGuess == 100)
{
ui->messagDisplayBox->setText("Yürü git gözüm görmesin!\nSıfırdan başlatıyorum adam ol!");

ui->spinBox->setValue(1);

secretNumber = rand() % 10 + 1;

trueGuess = 0;
falseGuess = 0;
ui->falseGuessCount->setText("Yanlış: "+QString::number(falseGuess));
ui->trueGuessCount->setText("Doğru: "+QString::number(trueGuess));
}
}

void Widget::eek:n_startOverButton_clicked()
{
ui->spinBox->setValue(1);

secretNumber = rand() % 10 + 1;

ui->messagDisplayBox->setText("");
trueGuess = 0;
falseGuess = 0;
ui->falseGuessCount->setText("Yanlış: "+QString::number(falseGuess));
ui->trueGuessCount->setText("Doğru: "+QString::number(trueGuess));
}
[/CODE]
 
Son düzenleyen: Moderatör:
Hangi dereleyiciyi kullanıyorsunuz?
QT.
Sorunumu Qt´nin kendi uygulamasıyla çözdüm. Programı release olarak bir kez çalıştırıp oluşan ".exe"yi masaüstünde açtığım boş klasöre attım ve Qt MinGW´i açıp {windeployqt "klasor_yolu"} komutunu girdim ve uygulama çalışır hale geldi diğer bilgisayarlarda da.
 
Son düzenleme:

Yeni konular

Geri
Yukarı