Программа должна включать в себя следующее:
• Тип данных для хранения мешка с подарками, называемый Gift_Bag_Type. Тип данных должен позволять
хранить до 15 подарков, где каждый подарок состоит из строки.
• Read_gifts подпрограмма, имеющая параметр Gift_Bag_Type.
Подпрограмма должна позволять пользователю вводить до 15 подарков, которые будут храниться в
параметрах. Пользователь завершает ввод, вводя "DONE" или
введите 15 подарков.
• Подпрограмма print_gifts_being, имеющая параметр Gift_Bag_Type Gift_bag и буквенный параметр.
Подпрограмма должна печатать
все подарки из Gift_bag, как это облегчает знак содержимого. Если подарки не включены
письмо, "none" должен быть напечатан.
Вот как это должно выглядеть в терминале:
Enter gifts in bag:
car
table
tv
acorn
tools
perfume
apple
DONE
Enter letter: e
Gifts containing e: table, perfume, apple
Enter gifts in bag:
DONE
Enter letter: a
Gifts containing a: none
У меня возникла проблема с созданием другой подпрограммы print_gifts_being. Я думаю, что мне нужен цикл for, а в цикле for у меня есть оператор if, но я действительно не знаю, как его выполнить, и именно поэтому я задаю этот вопрос здесь, потому что мне нужна помощь. Любая помощь о том, как завершить эту программу?
ОБРАТИТЕ ВНИМАНИЕ, что мой int main не следует изменять. Только мои подпрограммы. Я закомментировал только одну вещь, чтобы мои программы компилировались.
На данный момент это мой код:
#include
#include
#include
#include
using namespace std;
struct Gift_Bag_Type {
vector gifts;
};
//function to read gifts of input gift
void read_gifts(Gift_Bag_Type & gift_bag) {
string line;
while ((line != "DONE") && (gift_bag.gifts.size() != 14)) {
getline(cin, line);
gift_bag.gifts.push_back(line);
}
}
void print_gifts_containing (Gift_Bag_Type & gift_bag,
char const letter) {
for (int i {}; i < gift_bag.gifts.size(); ++i) {
//if-statement here
}
}
int main() {
Gift_Bag_Type gift_bag;
char letter;
cout
Подробнее здесь: https://stackoverflow.com/questions/704 ... -out-gifts