как использовать векторы в этой программе (используя строку)? Переполнение стека

Как бы я использовал векторы в моей текущей программе; «использовать доллар США номиналом 1, 2, 5,
10, 20, 50 и 100 в векторе. «

int main()
{

int i, dollar[7] = {0}, denom[7] = {1,2,5,10,20,50,100}, total = 0;
string names[7] = {
"1-Dollar bill",
"2-Dollar bill",
"5-Dollar bill",
"10-Dollar bill",
"20-Dollar bill",
"50-Dollar bill",
"100-Dollar bill"};

for(i = 0; i < 7; i++)
{
cout << "How many " << setw(5) << names[i];
if(i == 0)
cout << "s";
else
cout << "s";
cout << " do you have? ";
cin >> dollar[i];
}

for(i = 0; i < 7; i++)
{
cout <<  "You have" << setw(5) << dollar[i] << " " << names[i] << right;
if(i == 0)
if(dollar[i] == 1)
cout << " ";
else
cout << "s ";
else if(dollar[i] != 1)
cout << "s ";
total += dollar[i] * denom[i];
cout << endl;
}

cout << "The value of all your bills is $" << total << endl;
return 0;
}

В основном мой вывод выглядит следующим образом => «Стоимость всех ваших счетов составляет $» независимо от суммы ввода «»

Я прочитал мою книгу и использовал YouTube, но все еще не совсем понимаю, как использовать векторы в этом задании; также я правильно использую «правильное обоснование» в setw (5)?

-1

Решение

Это не может быть намного проще, заменить

string names[7]= {
"1-Dollar bill",
"2-Dollar bill",
"5-Dollar bill",
"10-Dollar bill",
"20-Dollar bill",
"50-Dollar bill",
"100-Dollar bill"};

с

vector<string> names(7); /* note round brackets not square brackets */
names[0] = "1-Dollar bill";
names[1] = "2-Dollar bill";
names[2] = "5-Dollar bill";
names[3] = "10-Dollar bill";
names[4] = "20-Dollar bill";
names[5] = "50-Dollar bill";
names[6] = "100-Dollar bill";

То же самое с dollar а также denom и вы сделали.

2

Другие решения

int main()
{
std::vector<int>dollar;             //This makes an empty vector of ints
std::vector<int>denom;              //so does this.
int total = 0;

std::vector<std::string> names;     //this makes an empty vector of strings.
names.push_back("1-Dollar bill");    //push_back means add to the end of the vector
names.push_back("2-Dollar bill");
names.push_back("5-Dollar bill");
names.push_back("10-Dollar bill");
names.push_back("20-Dollar bill");
names.push_back("50-Dollar bill");
names.push_back("100-Dollar bill");

cout << names[0]; //This prints "1-Dollar bill"}

Надеюсь, это поможет вам начать.

0

По вопросам рекламы [email protected]