本文整理汇总了C++中Bag::AddItem方法的典型用法代码示例。如果您正苦于以下问题:C++ Bag::AddItem方法的具体用法?C++ Bag::AddItem怎么用?C++ Bag::AddItem使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Bag
的用法示例。
在下文中一共展示了Bag::AddItem方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: main
int main()
{
//test creation of multiple types
Bag<int> IntBag;
Bag<double> DoubleBag;
Bag<string> StringBag;
bool passed;
for (int j = 0; j < 50000; j++) {
IntBag.AddItem(j);
passed = true;
}
for (int j = 0; j < 50000; j++){
if (!IntBag.IsPresent(j)){
cout << "Error: Lost item " << j << endl;
passed = false;
}
}
if (passed) {
cout << "Retained all items \n";
}
else
cout << "Failed test\n";
passed = true;
for (int j = 50000; j < 50050; j++){
if (IntBag.IsPresent(j) || IntBag.IsPresent(j*-1)){
passed = false;
cout << "Found extra item: " << j << '\n';
}
}
if (passed) {
cout << "No extra items \n";
}
else
cout << "Failed extra-item test\n";
passed = false;
try{
IntBag.Discard(-1);
}
catch (BagException){
passed = true;
cout << "Raised expected exception on discarding nonexistent item\n";
}
if (passed) {
cout << "Handled discard of non-existent item \n";
}
else
cout << "Failed discard test\n";
IntBag.Discard(12);
if (IntBag.IsPresent(12)) {
cout << "Failed to discard item\n";
}
else
cout << "Discard-item test passed.\n";
IntBag.Clear();
if (!IntBag.IsEmpty()) {
cout << "Failed to clear Bag\n";
}
else
cout << "Cleared Bag OK. \n";
if (IntBag.IsEmpty() && IntBag.Size() != 0) {
cout << "Error: Reports empty but nonzero count.\n";
}
system("pause");
return 0;
}
示例2: main
int main()
{
int n1;
int ca = 1;
while (cin >> n1)
{
Init();
for (int i = 0; i < n1; ++i)
{
char name[50];
int cost;
scanf("%s%d", name, &cost);
item_getter.insert(make_pair(name, Item(name, cost, NOR)));
}
int n2;
cin >> n2;
for (int i = 0; i < n2; ++i)
{
char name[50];
int cost;
char list[300];
scanf("%s%d:%[^\n]", name, &cost, list);
item_getter.insert(make_pair(name, Item(name, cost, MIX)));
vector<pair<string, int> > & vList = mixture[name];
string slist = list;
int pos = 0;
// printf("list='%s'\n", list);
if(slist.size()<=1) continue;
while (true)
{
int ed = slist.find(',', pos);
string sub = slist.substr(pos, ed - pos);
int num;
sscanf(sub.c_str(), "%s%d", name, &num);
vList.push_back(pair<string, int>(name, num));
//printf("dep: %s %d!!\n", name, num);
if (ed == string::npos) break;
else pos = ed + 1;
}
}
int n3;
cin >> n3;
for (int i = 0; i < n3; ++i)
{
char name[50];
int cost;
scanf("%s%d", name, &cost);
item_getter.insert(make_pair(name, Item(name, cost, CUS)));
}
Bag bag;
int cmd_cnt;
cin>>cmd_cnt;
while(cmd_cnt--)
{
char op;
char str[1024];
scanf("%s", str);
op = str[0];
string name(str+1);
if(name[0]>='0'&&name[0]<='9')
{
bag.money += atoi(name.c_str());
}
else
{
if(op=='-') bag.RemoveItem(name);
else bag.AddItem(name);
}
//printf("money = %d\n", bag.money);
//printf("%c %s\n", op, name.c_str());
}
printf("Case %d:\n", ca++);
printf("%d\n", bag.money);
printf("%d\n", bag.items.size());
sort(bag.items.begin(), bag.items.end());
for(int i=0;i<bag.items.size();++i)
{
printf("%s: %d\n", bag.items[i].name.c_str(), bag.items[i].num);
}
puts("");
}
return 0;
}