首页 > 代码库 > QT学习之路(1):彩票绝对不中模拟器

QT学习之路(1):彩票绝对不中模拟器

//============================================
//绝对不中,彩票开奖模拟器
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QHash>
#include <QDebug>

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

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

void MainWindow::on_pushButton_2_clicked()
{
    //开奖原理
    //从hash中随机找某个key,如果没有,就说明开出的奖不会有人中
    //知识点4 QString
    QString t;


    // qDebug()<<rand() % 10;

    for(int i=0;i<1000;i++)

    {
        //5 字符串直接赋值
        t = "";
        for(int j=0;j<6;j++)
        {
            //6 ascii值-->qchar字符
            t.append( QChar(1+rand()%32));

        }
        t.append(QChar(1+rand()%15));

        //7 hash元素访问,op重载
        if(cp[t]<=0){
            QString t2="";
            QByteArray a;
            a=t.toLatin1(); //8 QString ==> QByteArray
            for(int j=0;j<7;j++)
            {
                t2 = t2 + QString::number(a[j])+","; //9 QString::number将int-- > Qstring
            }
            ui->lineEdit->setText(t2); //10 ui元素访问
            ui->label->setText("特等奖注数:0");
        }
    }


}

void MainWindow::on_pushButton_clicked()
{

    QString t;


    // qDebug()<<rand() % 10;

    for(int i=0;i<1000000;i++)
    {
        t = "";
        for(int j=0;j<6;j++)
        {
            t.append( QChar(1+rand()%32));

        }
        t.append(QChar(1+rand()%15));

        cp[t] = cp[t] + 1; //hashmap 元素值 + 1
    }

}

源码工程下载