国产亚洲精品福利在线无卡一,国产精久久一区二区三区,亚洲精品无码国模,精品久久久久久无码专区不卡

當(dāng)前位置: 首頁(yè) > news >正文

廣州哪里做網(wǎng)站品牌營(yíng)銷(xiāo)策劃方案怎么做

廣州哪里做網(wǎng)站,品牌營(yíng)銷(xiāo)策劃方案怎么做,蘇州做網(wǎng)站需要多少錢(qián),昆明黨風(fēng)廉政建設(shè)網(wǎng)站項(xiàng)目源碼和資源:科目一考試系統(tǒng): qt實(shí)現(xiàn)科目一考試系統(tǒng) 一.項(xiàng)目概述 該項(xiàng)目是一個(gè)基于Qt框架開(kāi)發(fā)的在線(xiàn)考試系統(tǒng),主要實(shí)現(xiàn)了考試題目的隨機(jī)抽取、考試時(shí)間限制、成績(jī)統(tǒng)計(jì)等功能。用戶(hù)可以通過(guò)界面操作進(jìn)行考試,并查看自己的考試成績(jī)。 二.技…

項(xiàng)目源碼和資源:科目一考試系統(tǒng): qt實(shí)現(xiàn)科目一考試系統(tǒng)

?一.項(xiàng)目概述

該項(xiàng)目是一個(gè)基于Qt框架開(kāi)發(fā)的在線(xiàn)考試系統(tǒng),主要實(shí)現(xiàn)了考試題目的隨機(jī)抽取、考試時(shí)間限制、成績(jī)統(tǒng)計(jì)等功能。用戶(hù)可以通過(guò)界面操作進(jìn)行考試,并查看自己的考試成績(jī)。
?

二.技術(shù)棧

Qt框架、C++語(yǔ)言、GUI設(shè)計(jì)、數(shù)據(jù)結(jié)構(gòu)、算法等。

三.界面展示

1.登錄界面

2.答題界面

3.提交界面

四.代碼展示

1.核心要點(diǎn)

整體項(xiàng)目共分為兩個(gè)部分,登錄界面和答題界面,登錄界面使用的qt設(shè)計(jì)器進(jìn)行手動(dòng)設(shè)計(jì),登錄界面核心的點(diǎn)在于使用正則表達(dá)式對(duì)已有賬號(hào)進(jìn)行分析,答題界面核心則是對(duì)文件中的試題進(jìn)行處理。

?2.登錄界面代碼

#ifndef LOGINDIALOG_H
#define LOGINDIALOG_H#include <QDialog>QT_BEGIN_NAMESPACE
namespace Ui { class LoginDialog; }
QT_END_NAMESPACEclass LoginDialog : public QDialog
{Q_OBJECTpublic:LoginDialog(QWidget *parent = nullptr);~LoginDialog();private slots:void on_pushButtonOk_clicked();void on_pushButtonCancel_clicked();private:Ui::LoginDialog *ui;private:void InitUI();
};
#endif // LOGINDIALOG_H
#include "logindialog.h"
#include "ui_logindialog.h"
#include<QIcon>
#include<QMessageBox>
#include<QFile>
#include<QTextStream>LoginDialog::LoginDialog(QWidget *parent): QDialog(parent), ui(new Ui::LoginDialog)
{ui->setupUi(this);InitUI();
}LoginDialog::~LoginDialog()
{delete ui;
}void LoginDialog::InitUI()
{//設(shè)置窗口大小int wide=ui->labelimage->width();int height=ui->labelimage->height();this->setGeometry(600,300,wide,height);this->setWindowTitle("科目一考試系統(tǒng)");this->setWindowFlags(Qt::Dialog|Qt::WindowTitleHint);}void LoginDialog::on_pushButtonOk_clicked()
{QRegExp rx("^[a-zA-Z][\\w]{5,17}@([A-Za-z0-9\\-]+\\.)+[A-Za-z]{2,6}$");bool res = rx.exactMatch(ui->lineEditaccount->text());if(!res){//匹配不成功QMessageBox::information(this,"提示","非法的郵箱地址,請(qǐng)你重新輸入!");ui->lineEditaccount->clear();ui->lineEditpassword->clear();ui->lineEditaccount->setFocus();//設(shè)置光標(biāo)return;}else{//匹配成功了QString filename;   //賬號(hào)密碼數(shù)據(jù)文件QString strAccInput;//用戶(hù)輸入的賬號(hào)QString strCode;    //用戶(hù)輸入的密碼QString strLine;    //每次讀取的一行數(shù)據(jù)QStringList strList;//保存分割讀取的一行數(shù)據(jù)filename = "account.txt";//發(fā)布時(shí)要進(jìn)行修改strAccInput = ui->lineEditaccount->text();//賬號(hào)strCode = ui->lineEditpassword->text();//密碼QFile file(filename);QTextStream stream(&file);if( file.open(QIODevice::ReadOnly | QIODevice::Text) ){while(!stream.atEnd()){strLine = stream.readLine();strList = strLine.split(",");if(strAccInput == strList.at(0))//賬號(hào)匹配成功{if(strCode == strList.at(1)){//密碼匹配成功QMessageBox::information(this,"提示","歡迎進(jìn)入科目一考試系統(tǒng)!");file.close();done(Accepted);return;}else{QMessageBox::information(this,"提示","您輸入的密碼有誤,請(qǐng)重新輸入!");ui->lineEditpassword->clear();ui->lineEditpassword->setFocus();file.close();return;}}QMessageBox::information(this,"提示","您輸入的賬號(hào)有誤,請(qǐng)重新輸入!");ui->lineEditaccount->clear();ui->lineEditpassword->clear();ui->lineEditaccount->setFocus();file.close();return;}}else{QMessageBox::information(this,"提示","讀取賬號(hào)數(shù)據(jù)文件失敗!");return;}}}void LoginDialog::on_pushButtonCancel_clicked()
{//關(guān)閉窗口this->close();
}

?3.答題界面代碼

#ifndef EXAMDIALOG_H
#define EXAMDIALOG_H
#include <QDialog>
#include <QTimer>
#include <QTextEdit>
#include <QLabel>
#include <QRadioButton>
#include <QCheckBox>
#include <QGridLayout>
#include <QButtonGroup>class ExamDialog : public QDialog
{Q_OBJECT
public:ExamDialog(QWidget* parent = 0);void initTimer();   //初始化計(jì)時(shí)器void initLayout();  //初始化布局管理器bool initTextEdit();//初始化文本編輯器void initButtons(); //初始化按鈕及標(biāo)簽bool hasNoSelect(); //判斷題目是否有未完成的
private:QTimer *m_timer;    //計(jì)時(shí)器int m_timeGo;       //考試已用時(shí)QTextEdit *m_textEdit;  //考試題庫(kù)顯示QLabel *m_titleLabels[10];  //題目標(biāo)簽QButtonGroup *m_btnGroups[9];   //單項(xiàng)按鈕分組QRadioButton *m_radioBtns[32];  //單選題按鈕QCheckBox *m_checkBtns[4];      //多選題按鈕QRadioButton *m_radioA;         //判斷題A選項(xiàng)QRadioButton *m_radioB;         //判斷題B選項(xiàng)QGridLayout *m_layout;          //布局管理器QStringList m_answerList;       //答案private slots:void freshTime();   //刷新考試時(shí)間void getScore();    //獲取考試成績(jī)
};#endif // EXAMDIALOG_H
#include "examdialog.h"
#include <QFile>
#include <QTextStream>
#include <QMessageBox>
#include <QApplication>
#include <QPushButton>ExamDialog::ExamDialog(QWidget* parent):QDialog(parent)
{//設(shè)置字體大小QFont font;font.setPointSize(12);setFont(font);//設(shè)置窗體背景顏色setPalette(QPalette(QColor(209,215,255)));setWindowTitle("考試已用時(shí):0分0秒");setWindowFlags(Qt::Dialog | Qt::WindowCloseButtonHint);resize(800,900);initTimer();initLayout();if(!initTextEdit()){QMessageBox::information(this,"提示","初始化題庫(kù)數(shù)據(jù)文件失敗!");QTimer::singleShot(0,qApp,SLOT(quit()));}initButtons();show();
}void ExamDialog::initTimer()
{m_timeGo = 0;m_timer = new QTimer(this);m_timer->setInterval(1000);m_timer->start();connect(m_timer,SIGNAL(timeout()),this,SLOT(freshTime()));
}void ExamDialog::initLayout()
{m_layout = new QGridLayout(this);m_layout->setSpacing(10);   //設(shè)置控件間的間距m_layout->setMargin(10);    //設(shè)置窗體與控件間的間隙
}bool ExamDialog::initTextEdit()
{QString strLine;        //保存文件中讀取到的一行數(shù)據(jù)QStringList strList;    //保存讀取到的答案行QString fileName("exam.txt");QFile file(fileName);QTextStream stream(&file);stream.setCodec("UTF-8");if( file.open(QIODevice::ReadOnly | QIODevice::Text) ){m_textEdit = new QTextEdit(this);m_textEdit->setReadOnly(true);QString strText;    //用于保存顯示到文本編輯器的數(shù)據(jù)int nLines = 0;while(!stream.atEnd()){//過(guò)濾首行if(nLines == 0){stream.readLine();nLines++;continue;}//過(guò)濾答案行if( (nLines >= 6 && nLines <= 6 * 9 && (nLines % 6 == 0) )|| (nLines == 6 * 9 + 4) ){strLine = stream.readLine();strList = strLine.split(" ");m_answerList.append(strList.at(1));strText += "\n";nLines++;continue;}strText += stream.readLine();strText += "\n";nLines++;}m_textEdit->setText(strText);m_layout->addWidget(m_textEdit,0,0,1,10);file.close();return true;}else{return false;}
}void ExamDialog::initButtons()
{QStringList strList = {"A","B","C","D"};for(int i = 0; i <10; i++){//題目標(biāo)簽m_titleLabels[i] = new QLabel(this);m_titleLabels[i]->setText("第" + QString::number(i+1) + "題");m_layout->addWidget(m_titleLabels[i],1,i);//判斷題if(i == 9){m_radioA = new QRadioButton(this);m_radioB = new QRadioButton(this);m_radioA->setText("正確");m_radioB->setText("錯(cuò)誤");m_layout->addWidget(m_radioA,2,9);m_layout->addWidget(m_radioB,3,9);m_btnGroups[8] = new QButtonGroup(this);m_btnGroups[8]->addButton(m_radioA);m_btnGroups[8]->addButton(m_radioB);break;}if(i < 8) m_btnGroups[i] = new QButtonGroup(this);//選擇題for(int j = 0; j < 4; j++){if( i == 8){//多項(xiàng)多選題m_checkBtns[j] = new QCheckBox(this);m_checkBtns[j]->setText(strList.at(j));m_layout->addWidget(m_checkBtns[j],2+j,8);}else{//單項(xiàng)選擇題m_radioBtns[4 * i + j] = new QRadioButton(this);m_radioBtns[4 * i + j]->setText(strList.at(j));m_layout->addWidget(m_radioBtns[4 * i + j],2+j,i);m_btnGroups[i]->addButton(m_radioBtns[4 * i + j]);}}}QPushButton *submitBtn = new QPushButton(this);submitBtn->setText("提交");submitBtn->setFixedSize(100,35);connect(submitBtn,SIGNAL(clicked(bool)),this,SLOT(getScore()));m_layout->addWidget(submitBtn,6,9);
}bool ExamDialog::hasNoSelect()
{int radioSelects = 0;for(int i = 0; i < 8; i++){if( m_btnGroups[i]->checkedButton() )radioSelects++;}if(radioSelects != 8)return true;int checkSelects = 0;for(int i = 0; i < 4; i++){if(m_checkBtns[i]->isChecked())checkSelects++;}if(checkSelects == 0 || checkSelects == 1)return true;if(!m_radioA->isChecked() && !m_radioB->isChecked())return true;return false;
}void ExamDialog::freshTime()
{m_timeGo++;QString min = QString::number(m_timeGo / 60);QString sec = QString::number(m_timeGo % 60);setWindowTitle("考試已用時(shí):" + min + "分" + sec + "秒");
}void ExamDialog::getScore()
{if(hasNoSelect()){QMessageBox::information(this,"提示","您有未完成的題目,請(qǐng)完成考試!","是");return;}int scores = 0;for(int i = 0; i < 10; i++){//單選題計(jì)分if( i < 8)if(m_btnGroups[i]->checkedButton()->text() == m_answerList.at(i))scores += 10;//多項(xiàng)選擇題計(jì)分if(i == 8){QString answer = m_answerList.at(i);bool hasA = false;bool hasB = false;bool hasC = false;bool hasD = false;if( answer.contains("A") ) hasA = true;if( answer.contains("B") ) hasB = true;if( answer.contains("C") ) hasC = true;if( answer.contains("D") ) hasD = true;bool checkA = m_checkBtns[0]->checkState();bool checkB = m_checkBtns[1]->checkState();bool checkC = m_checkBtns[2]->checkState();bool checkD = m_checkBtns[3]->checkState();if( hasA != checkA) continue;if( hasB != checkB) continue;if( hasC != checkC) continue;if( hasD != checkD) continue;scores += 10;}//判斷題計(jì)分if(i == 9){if(m_btnGroups[8]->checkedButton()->text() == m_answerList.at(i))scores += 10;}}QString str = "您的分?jǐn)?shù)是:" + QString::number(scores) + "分,是否重新考試?";int res = QMessageBox::information(this,"提示",str,QMessageBox::Yes | QMessageBox::No);if(res == QMessageBox::Yes)return;elseclose();
}

?

http://aloenet.com.cn/news/47861.html

相關(guān)文章:

  • 網(wǎng)站建設(shè)分金手指排名四私域流量和裂變營(yíng)銷(xiāo)
  • 徐州企業(yè)網(wǎng)站排名優(yōu)化外貿(mào)網(wǎng)站建設(shè)報(bào)價(jià)
  • 怎么創(chuàng)建一個(gè)博客網(wǎng)站嗎cba最新積分榜
  • 網(wǎng)站建設(shè)設(shè)計(jì)案例網(wǎng)站logo實(shí)驗(yàn)報(bào)告教育培訓(xùn)機(jī)構(gòu)營(yíng)銷(xiāo)方案
  • 網(wǎng)站制作眼寫(xiě)軟文的app
  • python做網(wǎng)站還是java東莞seo軟件
  • 哪里有網(wǎng)站開(kāi)發(fā)公司媒體推廣
  • 怎么給自己的網(wǎng)站做seo百度賬號(hào)查詢(xún)
  • 室內(nèi)在線(xiàn)設(shè)計(jì)網(wǎng)站網(wǎng)站推廣手段
  • 湖北省建設(shè)廳造價(jià)官方網(wǎng)站網(wǎng)站seo優(yōu)化總結(jié)
  • 太原建網(wǎng)站的公司深圳搜索排名優(yōu)化
  • 國(guó)家城鄉(xiāng)建設(shè)部投訴網(wǎng)站福州網(wǎng)站開(kāi)發(fā)公司
  • 網(wǎng)站安全狗 攔截301網(wǎng)絡(luò)推廣公司哪家做得好
  • 0基礎(chǔ)的怎么轉(zhuǎn)行互聯(lián)網(wǎng)太原seo排名優(yōu)化公司
  • 土豆做視頻在線(xiàn)觀看網(wǎng)站網(wǎng)絡(luò)營(yíng)銷(xiāo)策劃包括哪些內(nèi)容
  • 電子商務(wù)概念seo關(guān)鍵詞有話(huà)要多少錢(qián)
  • 如何做電商網(wǎng)站成都seo的方法
  • 鄭州的做網(wǎng)站公司有哪些好搜搜索
  • 做網(wǎng)站即墨鄭州競(jìng)價(jià)托管公司哪家好
  • 賀卡制作優(yōu)化資訊
  • 榆次建設(shè)局網(wǎng)站普通話(huà)手抄報(bào)簡(jiǎn)單又漂亮
  • 個(gè)人網(wǎng)站建站指南他達(dá)那非片能延時(shí)多久
  • php做網(wǎng)站的好處寧波seo外包推廣渠道
  • 購(gòu)物網(wǎng)站圖片的放大怎么做的seo網(wǎng)絡(luò)推廣教程
  • html5網(wǎng)站下載建站模板哪個(gè)好
  • 網(wǎng)絡(luò)營(yíng)銷(xiāo)應(yīng)該這樣做seo優(yōu)化交流
  • 保定企業(yè)網(wǎng)站制作電商數(shù)據(jù)統(tǒng)計(jì)網(wǎng)站
  • 目前流行的網(wǎng)站開(kāi)發(fā)技術(shù)浙江專(zhuān)業(yè)網(wǎng)站seo
  • 高端網(wǎng)站定制策劃長(zhǎng)沙官網(wǎng)seo技巧
  • 可以做書(shū)的網(wǎng)站全國(guó)疫情最新公布