//============================================
//絕對不中,彩票開獎模擬器
#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
}
}
源碼工程下載