• 大小: 80KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-05-28
  • 语言: C/C++
  • 标签: c++  

资源简介

c++ 课程设计报告 可直接交作业版 完整 代码 + 报告

资源截图

代码片段和文件信息

#include
#include
#include 
using namespace std;

#define LEN 5 // 车牌长度为5个字符

char getChar() //随机产生一个A到Z的字符

{
char aChar;
aChar = ‘A‘+ rand() % ((‘Z‘ + 1) - ‘A‘);
while (‘I‘ == aChar) // 设定车牌中不产生I字母
{
aChar = ‘A‘+ rand() % ((‘Z‘ + 1) - ‘A‘);
}
return aChar;
}

char getNum() //随机产生一个0到9的字符
{
char aChar;
aChar = ‘0‘+ rand() % ((‘9‘ + 1) - ‘0‘);
return aChar;
}

void setData(char * data int type) // 设置车牌号码
{
for (int i = 0; i < LEN; i++) // 随机设置车牌号码
{
int flag = rand() % 2;
if (1 == flag)
{
data[i] = getChar();
} else {
data[i] = getNum();
}
}
if (type == 1) // 需要产生的是出租车车牌
{
data[0] = ‘C‘;
data[1] = ‘Z‘; // 设置出租车车牌为CZ开头
for (int i = 2; i < LEN; i++)
{
int flag = rand() % 2;
if (1 == flag)
{
data[i] = getChar();
} else {
data[i] = getNum();
}
}
}
}

void printData(char data[][LEN + 1] int count)
{
for (int i = 0; i < count; i++)
{
cout << data[i] << endl;
}
cout << endl;
}

void main()
{
cout << “本程序设定车牌为5个字符!“ << endl;

char data[100][LEN + 1]; // 保存已经存在的车牌
for (int i = 0; i < 100; i++) // 初始化车牌
{
data[i][LEN] = ‘\0‘;
}
int count = 0;
srand((int)time(0));
for (int k = 0; k < 10; k++) // 随机产生已经存在的车牌号码
{
setData(data[count] 0);
count++;
}
cout << “已经存在的车牌“ << endl;
printData(data count);

int type = -1;
cout << “请选择产生的车牌类型:“ << endl;
cout << “  0.默认“ << endl;
cout << “  1.出租车“ << endl;
cin.sync();
cin >> type;
while ((type != 0) && (type != 1))
{
cin.sync();
cin >> type;
cout << “输入错误,重新输入...“ << endl;
continue;
}

int select = -1;
char getData[LEN + 1]; // 保存为用户产生的车牌
getData[LEN] = ‘\0‘;
bool flag = false; // 产生的车牌是否有效

int time = 2; // 设置用户最多选择两次
bool flagUser = false; // 是否根据用户的选择产生了有效车牌
bool flagExi = false;
while ((time > 0) && (flagUser == false))
{
cout << “还可以选择“ << time << “次“ << endl;
cout << “请选择产生方式:“ << endl;
cout << “  1.手动输入“ << endl;
cout << “  2.随机产生“ << endl;
cin.sync();
cin >> select;
if (1 == select)
{
flagExi = false;
flag = false;
while (flag == false)
{
cout << “请输入车牌号(例如 AB123)“ << endl;
cin.sync();
cin >> getData[0] >> getData[1] >> getData[2] >> getData[3] >> getData[4];
for (int i = 0; i < count; i++)
{
if (strcmp(getData data[count]) == 0) // 判断是否已经存在
{
cout << “已存在,请重新输入“ << endl;
flagExi = true;
break;
}
if ((1 == type) && (getData[0] != ‘C‘) && (getData[1] != ‘Z‘))
{
cout << “出租车车牌应该以CZ开头,请重新输入“ << endl;
flagExi = true;
break;
}
}
if (flagExi == true) // 车牌已经存在,重新选择
{
flagExi = false;
continue;
}
cout << “产生车牌:“ << getData << “是否使用(y or n)“ << endl;
char flagChar;
cin.sync();
cin >> flagChar;
if ((flagChar == ‘y‘) || (flagChar == ‘Y‘))
{
flagUser = true; // 车牌有效

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     文件        4364  2015-06-29 13:43  test.cpp
     文件      139264  2015-06-29 13:53  选车牌.doc

评论

共有 条评论