//============================================
//绝对不中,彩票开奖模拟器
#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
    }

}

源码工程下载

QT学习之路(1):彩票绝对不中模拟器的更多相关文章

  1. QT学习之路--创建一个对话框

    Q_OBJECT:这是一个宏,凡是定义信号槽的类都必须声明这个宏. 函数tr()全名是QObject::tr(),被他处理过的字符串可以使用工具提取出来翻译成其他语言,也就是做国际化使用. 对于QT学 ...

  2. 转载: Qt 学习之路 2归档

    Qt 学习之路 2归档 http://www.devbean.net/2012/08/qt-study-road-2-catelog/

  3. Qt学习之路

      Qt学习之路_14(简易音乐播放器)   Qt学习之路_13(简易俄罗斯方块)   Qt学习之路_12(简易数据管理系统)   Qt学习之路_11(简易多文档编辑器)   Qt学习之路_10(Qt ...

  4. Qt 学习之路 2

    Qt 学习之路 2 | DevBean Tech World Qt 学习之路 2 Qt 学习之路 2 目录

  5. Qt 学习之路 2(76):QML 和 QtQuick 2

    Home / Qt 学习之路 2 / Qt 学习之路 2(76):QML 和 QtQuick 2 Qt 学习之路 2(76):QML 和 QtQuick 2  豆子  2013年12月18日  Qt ...

  6. Qt 学习之路 2(74):线程和 QObject

    Home / Qt 学习之路 2 / Qt 学习之路 2(74):线程和 QObject Qt 学习之路 2(74):线程和 QObject  豆子  2013年12月3日  Qt 学习之路 2  2 ...

  7. Qt 学习之路 2(73):Qt 线程相关类

    Home / Qt 学习之路 2 / Qt 学习之路 2(73):Qt 线程相关类 Qt 学习之路 2(73):Qt 线程相关类  豆子  2013年11月26日  Qt 学习之路 2  7条评论 希 ...

  8. Qt 学习之路 2(72):线程和事件循环

    Qt 学习之路 2(72):线程和事件循环 <理解不清晰,不透彻>  --  有需求的话还需要进行专题学习  豆子  2013年11月24日  Qt 学习之路 2  34条评论 前面一章我 ...

  9. Qt 学习之路 2(71):线程简介

    Qt 学习之路 2(71):线程简介 豆子 2013年11月18日 Qt 学习之路 2 30条评论 前面我们讨论了有关进程以及进程间通讯的相关问题,现在我们开始讨论线程.事实上,现代的程序中,使用线程 ...

随机推荐

  1. PHP源码安装经常会碰到的问题及解决办法

    错误:configure: error: freetype-config not found. 解决:yum install freetype-devel 错误:configure: error: l ...

  2. Requests库的文档高级用法

    高级用法 本篇文档涵盖了 Requests 的一些高级特性. 会话对象 会话对象让你能够跨请求保持某些参数.它也会在同一个 Session 实例发出的所有请求之间保持 cookie, 期间使用 url ...

  3. JXS In Depth

    [JXS In Depth] 1.Spread Attributes If you already have props as an object, and you want to pass it i ...

  4. linux shell 学习笔记01

    1.命令历史记录history !$     :调用上一条命令的执行结果 !100   :运行history记录里的第100条命令 !ser   :调用以ser开头的最后一次执行的命令 ctrl+r  ...

  5. leetcode 中等题(1)

    2. Add Two Numbers(中等) /** * Definition for singly-linked list. * struct ListNode { * int val; * Lis ...

  6. POJ-3279.Fliptile(二进制状态压缩 + dfs) 子集生成

    昨天晚上12点刷到的这个题,一开始一位是BFS,但是一直没有思路.后来推了一下发现只需要依次枚举第一行的所有翻转状态然后再对每个情况的其它田地翻转进行暴力dfs就可以,但是由于二进制压缩学的不是很透, ...

  7. JMeter快速入门之Badboy录制

    1. 前言 JMeter录制有两种方式,一种是JMeter自带录制方法,另一种是下面要学习的Badboy录制,个人推荐使用此方法 下面教程不设计Badboy安装,可以百度一下. 2. 录制步骤: 2. ...

  8. python之图像识别

    1. 安装配置 1.pip install pytesseract 2.pip install pillow 3.安装tesseract-ocr:http://jaist.dl.sourceforge ...

  9. js阻止时间冒泡事件——event.stopPropagation()

    1. 作用:不再派发事件. 2. 语法: html代码: <div class="oreder-cont" ng-click="Orderdetails()&quo ...

  10. c#: 模态窗口最小化主窗口

    起源: 产品中,通常有些耗时操作比如视频转换.DVD刻录等,在模态窗口中执行.此时最小化它,主窗体不能跟着最小化,影响操作体验. 如何让主窗体最小化,并且可以还原呢?搜索一番,未找到满意结果,自己动手 ...