日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

车牌生成代码车牌后5位生成代码

發(fā)布時間:2023/12/8 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 车牌生成代码车牌后5位生成代码 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

車牌后5位序號編碼規(guī)則有三種,分別是:??

1、序號的每一位都使用阿拉伯數(shù)字;??

2、序號的每一位可單獨使用英文字母,26個英文字母中O和I不能使用;??

3、序號中允許出現(xiàn)2位英文字母,26個英文字母中O和I不能使用。

由于本人使用的是QT開發(fā)工具,下面就用QT來寫這個

//字母數(shù)組,不含I O const QStringList PLATE_EN{"A","B", "C", "D", "E", "F", "G", "H", "J", "K", "L", "M","N", "P", "Q", "R", "S", "T", "U", "V", "W", "X","Y", "Z"}; //獲取車牌代碼函數(shù) void GenPlate::genCarNumber() {int count=0;//統(tǒng)計個數(shù)變量//存儲Txt文件QFile file("car_num.txt");//只寫模式file.open(QIODevice::WriteOnly);//第一步:寫入00000-99999號碼for(int i=0;i<100000;i++){count++;//格式化數(shù)字為5位數(shù),不足補0QString tmpNum=QString("%1\r\n").arg(i,5,10,QLatin1Char('0'));//寫入文件file.write(tmpNum.toUtf8());}//第二步:獲取含有1位字母的號碼QStringList oneLetterNum=getNumStr(5);for(QString numStr:oneLetterNum){count++;//寫入文件file.write((numStr+"\r\n").toUtf8());}//第三步:獲取含有2位字母的號碼for(int n=1;n<5;n++){//獲取含有1位字母長度為n的號碼QStringList numsList=getNumStr(n);//將獲取含有1位字母長度為n的號碼+每A-Z個字母+后面的數(shù)字for(QString num:numsList){for(QString str:PLATE_EN){QString numStr=num+str;//當前不是第五位,則加后面的數(shù)字if(n<4){for(int j=0;j<qPow(10,4-n);j++){count++;//保留后面有幾位數(shù),不夠補0QString tmpNum=numStr+QString("%1").arg(j,4-n,10,QLatin1Char('0'))+"\r\n";file.write(tmpNum.toUtf8());}}//當前是第五位,后面沒有數(shù)字else{count++;file.write((numStr+"\r\n").toUtf8());}}}}file.flush();file.close();//輸出總數(shù)是多少qDebug()<<count; }//獲取含有1位字母長度為n的號碼 QStringList GenPlate::getNumStr(int m) {QStringList numStrs;for(int n=0;n<m;n++){//循環(huán)前面的數(shù)字位數(shù)qPow(10,n)為10的n次方(例如兩位數(shù)最大為10*10 =100即0-99)for(int k=0;k<qPow(10,n);k++){QString numStr="";for(QString str:PLATE_EN){if(n>0){//前面有數(shù)字,加上numStr=QString("%1").arg(k,n,10,QLatin1Char('0'))+str;}else{ //前面沒有數(shù)字,第一位是字母numStr=str;}//如果不是最后一位,加上所有后面的數(shù)字if(n<m-1){for(int j=0;j<qPow(10,m-n-1);j++){//格式化位數(shù),存數(shù)組QString tmpStr=QString("%1").arg(j,m-n-1,10,QLatin1Char('0'));numStrs<<numStr+tmpStr;}}else{//存數(shù)組numStrs<<numStr;}}}}return numStrs; }

執(zhí)行代碼后:

?輸出count為:7060000個從00000-999ZZ

?

?

總結(jié)

以上是生活随笔為你收集整理的车牌生成代码车牌后5位生成代码的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。