Я пишу код для добавления книг в библиотеку. Когда я добавляю книги в библиотеку и пытаюсь отобразить ее, в библиотеке ничего не хранится (не отображается)
Здесь я устанавливаю максимальное количество книгбиблиотека может содержать до 100.
int maxbooks = 100;векторный минибаланс (maxbooks);когда я стираю "(maxbooks)", однако код работает нормально.Но я не понимаю, почему?
#include <iostream>
#include <vector>
#include <string>
using namespace std;
//struct model a book
struct book {
string authorname;
string bookname;
}; //struct ends here
//function to display number of books in the library
void displayLibrary(vector <book> &cmini_library,int cnum_of_books);
//function to add books to the library;
void add (vector <book> &cminilibrary,book dummylibrary,int &num_of_books);
int main() {
int option;
int curr_num_of_books = 0; //current number of books in the library
int maxbooks = 100; //max number of books our library can hold
vector<book> minilibrary(maxbooks); //minilibrary vector of max capacity 100
book dummylibrary; // a variable used to hold entries for a short period
cout << "1.Display all books in the library" << endl;
cout << "2.Add a book to the library" << endl;
cout << "option entered: " << endl;
cin >> option;
switch (option) {
case 2:
add (minilibrary,dummylibrary,curr_num_of_books);
displayLibrary(minilibrary,curr_num_of_books);
break;
}
return 0;
}
void displayLibrary(vector <book> &cmini_library,int cnum_of_books)
{
for(int i=0;i<cnum_of_books;i++) {
cout << "Book name: \t" << cmini_library[i].bookname << endl;
cout << "Author: \t" << cmini_library[i].authorname << endl;
}
}
void add(vector<book> &cmini_library,book dummylibrary, int &num_of_books)
{
int booksadded=0; // number of books added to the library
cout << "How many books do you wish to add: ";
cin >> booksadded;
cin.ignore(1,'\n');
for(int i=0;i<booksadded;i++) {
cout << "Book name: ";
getline(cin,dummylibrary.bookname);
cout << endl;
cout << "Author: ";
getline(cin,dummylibrary.authorname);
cout << endl;
cmini_library.push_back(dummylibrary);
}
num_of_books = num_of_books + booksadded;
}