【发布时间】:2016-05-16 02:03:49
【问题描述】:
我正在尝试创建一种超市软件,但遇到了一个问题。
当我添加一个客户时,我立即说它的 ID 是列表中的下一个,但是如果手动更改列表,它将创建重复的 ID,所以我试图找到一种方法让 ID 成为下一个可用的 ID .但是,如果 ID 列表是这样的:
6
5
1
2
它将属性ID 6 不可用...
如果向量的完整运行没有找到相等的数字,我怎样才能只更改它的 ID?
ID = clientsV.size() + 1;
for (unsigned int g = 0; i < clientsV.size(); g++)
{
if (ID == clientsV.at(g).getClientID)
ID++;
};
【问题讨论】:
-
“你对管道的考虑越多,它就会堵塞排水管”——斯科蒂,星际迷航 III。为什么不简单地在
clientsV中找到最高ID,然后将其加1,而不是所有这些歌舞套路。如果clientsV为空,则您的 id 为 0 或 1(任您选择)。否则,扫描一次数组,找到最高的ID,然后加1。 -
@SamVarshavchik 谢谢,但我该怎么做呢?如何找到最大的 ID?
-
将暂定的最大 id 设置为数组中的第一个值。遍历数组的内容。对于数组中的每个值:如果该值大于暂定最大 id 值,则用该值更新暂定最大 id 值。遍历整个数组后,您现在拥有数组中的最大值。
标签: c++ arrays algorithm list verification