C++程序 生成车辆号码

C++程序 生成车辆号码

在本文中,我们将创建一个简单的 Java 程序来生成一个唯一的车牌号码。为此,让我们了解一下可以生成号码牌的格式。

车辆的号码牌由 4 部分组成:

  1. 状态代码: 前两个字母代表车辆注册所在的状态或联合领土。
  2. 区县代码: 一个两位数分配给所在州或联合领土内的一个区县。
  3. 单个或多个字母: 这表示号码牌的唯一字母。
  4. 1 到 9999 之间的编号: 它按顺序分配,并对每个注册都是唯一的。

注意: 我们将考虑这种生成号码牌的标准方法,根据国家,它可能有某些变化。

所以让我们开始实现吧:

第一步: 我们将创建一个列表,其中将包含所有州的列表。

第二步: 基于选定的州,我们将在所有区县可用范围内生成一个数字。

第三步: 在这里,我们将生成一个唯一的字母和一个介于 1 到 9999 之间的数字。

第四步: 在这里,我们将把所有的东西合并到一个单一的变量中以打印出来。

显示带有其代码的州数据的表

让我们创建一个映射,它将把州名作为键,总可用区县数作为值。

用于构建号码牌的元素

州名称+区县代码(在州内随机生成)+唯一生成字母+随机数字

例如:

古吉拉特邦有 33 个区县,因此键将是 GJ,值将是 37(生成 1 到 37 的任意数字)

让我们分解一下格式以理解。

例如: GJ 01 BC 0000

举个例子: 我们已经在该州使用了 1-37 的随机数字作为区县号码,但如果您想使用,则需要创建另一个嵌套映射,其中我们将存储所有区县的名称并将其与区县代码关联起来。

// C++程序,用于实现
// 车牌分配
#include <bits/stdc++.h>
using namespace std;

void states_information(
    unordered_map<string, string>& states)
{
    states.insert({ "Andhra Pradesh", "AD" });
    states.insert({ "Arunachal Pradesh", "AR" });
    states.insert({ "Assam", "AS" });
    states.insert({ "Bihar", "BR" });
    states.insert({ "Chattisgarh", "CG" });
    states.insert({ "Delhi", "DL" });
    states.insert({ "Goa", "GA" });
    states.insert({ "Gujarat", "GJ" });
    states.insert({ "Haryana", "HR" });
    states.insert({ "Himachal Pradesh", "HP" });
    states.insert({ "Jammu and Kashmir", "JK" });
    states.insert({ "Jharkhand", "JH" });
    states.insert({ "Karnataka", "KA" });
    states.insert({ "Kerala", "KL" });
    states.insert({ "Lakshadweep Islands", "LD" });
    states.insert({ "Madhya Pradesh", "MP" });
    states.insert({ "Maharashtra", "MH" });
    states.insert({ "Manipur", "MN" });
    states.insert({ "Meghalaya", "ML" });
    states.insert({ "Mizoram", "MZ" });
    states.insert({ "Nagaland", "NL" });
    states.insert({ "Odisha", "OD" });
    states.insert({ "Pondicherry", "PY" });
    states.insert({ "Punjab", "PB" });
    states.insert({ "Rajasthan", "RJ" });
    states.insert({ "Sikkim", "SK" });
    states.insert({ "Tamil Nadu", "TN" });
    states.insert({ "Telangana", "TS" });
    states.insert({ "Tripura", "TR" });
    states.insert({ "Uttar Pradesh", "UP" });
    states.insert({ "Uttarakhand", "UK" });
    states.insert({ "West Bengal", "WB" });
    states.insert({ "Andaman and Nicobar Islands", "AN" });
    states.insert({ "Chandigarh", "CH" });
    states.insert({ "Dadra & Nagar Haveli and Daman & Diu",
                    "DNHDD" });
    states.insert({ "Ladakh", "LA" });
}

int main()
{
    // 声明Map以存储州和状态代码
    unordered_map<string, string> states;

    // 调用函数更新数据
    states_information(states);

    string number_allotted = "";

    // 输入州名称
    string place;
    cout << "输入你的州名称:";
    cin >> place;

    string temp = to_string((rand() % 31) + 10);
    char char1 = (rand() % 26) + 64;
    char char2 = (rand() % 26) + 64;

    int last_digits = rand() % 9999;

    cout << "恭喜,你得到的号码是: \n";

    // 计算分配的号码
    number_allotted = states[place] + " " + temp + " "
                      + char1 + char2 + " "
                      + to_string(last_digits);
    cout << number_allotted << endl;

    return 0;
}
// 实现号牌分配的Java程序
import java.util.*;
 
public class Main {
    public static HashMap<String, String> state_code;
 
    // 更新state和state_code的函数
    public static void
    state_data(HashMap<String, String> states)
    {
        states.put("Andhra Pradesh", "AD");
        states.put("Arunachal Pradesh", "AR");
        states.put("Assam", "AS");
        states.put("Bihar", "BR");
        states.put("Chattisgarh", "CG");
        states.put("Delhi", "DL");
        states.put("Goa", "GA");
        states.put("Gujarat", "GJ");
        states.put("Haryana", "HR");
        states.put("Himachal Pradesh", "HP");
        states.put("Jammu and Kashmir", "JK");
        states.put("Jharkhand", "JH");
        states.put("Karnataka", "KA");
        states.put("Kerala", "KL");
        states.put("Lakshadweep Islands", "LD");
        states.put("Madhya Pradesh", "MP");
        states.put("Maharashtra", "MH");
        states.put("Manipur", "MN");
        states.put("Meghalaya", "ML");
        states.put("Mizoram", "MZ");
        states.put("Nagaland", "NL");
        states.put("Odisha", "OD");
        states.put("Pondicherry", "PY");
        states.put("Punjab", "PB");
        states.put("Rajasthan", "RJ");
        states.put("Sikkim", "SK");
        states.put("Tamil Nadu", "TN");
        states.put("Telangana", "TS");
        states.put("Tripura", "TR");
        states.put("Uttar Pradesh", "UP");
        states.put("Uttarakhand", "UK");
        states.put("West Bengal", "WB");
        states.put("Andaman and Nicobar Islands", "AN");
        states.put("Chandigarh", "CH");
        states.put("Dadra & Nagar Haveli and Daman & Diu",
                   "DNHDD");
        states.put("Ladakh", "LA");
    }
 
    public static void main(String[] args)
    {
 
        HashMap<String, String> states = new HashMap<>();
        Random rand = new Random();
 
        Scanner scn = new Scanner(System.in);
 
        state_data(states);
 
        int no_of_states = states.size();
 
        // 随机获取一个数组列表中的索引
        int random_index = rand.nextInt(no_of_states);
 
        String number = String.valueOf(
            rand.nextInt(9999)); // 0到9999
 
        System.out.println(
            "输入从给定图像中给出的州名:");
        String str2 = scn.nextLine();
 
        String selected_State = states.get(str2);
 
        // 现在根据所选的州,我们将它与所有可用行政区划的哈希映射
        // 生成一个城市号牌号码
        // 为所选州的可用总城市号牌号码范围内
        String selected_District_Code
            = String.valueOf(rand.nextInt(37));
 
        // 如果行政区划代码小于9,则在前缀中添加0
        selected_District_Code
            = (Integer.parseInt(selected_District_Code)
               < 10)
                  ? "0" + selected_District_Code
                  : selected_District_Code;
 
        // 现在我们将生成2个唯一的字母
        char c = (char)('A' + rand.nextInt(26));
        char c2 = (char)('A' + rand.nextInt(26));
 
        // 将所有事物组合起来
        String vehicle_NumberPlate
            = selected_State + " " + selected_District_Code
              + "" " + c + c2 + " " + number;
 
        System.out.println(
            "恭喜您分配的号码是:");
        System.out.println(vehicle_NumberPlate);
    }
}  

输出:

C++程序 生成车辆号码

程序的输出结果

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

C++ 示例