我用c++做了一个图书存储程序。这是一个循环超过 3 次的程序,因此用户可以输入 3 本书,但现在我希望用户选择用户想要输入的书籍数量,但我不知道该怎么做。这会很有帮助,这是我的代码
#include <iostream>
#include <string>
#include <sstream>
using namespace std;
struct Book{
string name;
int release;
}Issue[3];
int main(){
//local variable
int i;
string release_dte;
//interface
cout << "Welcome to Book Storage CPP" << endl;
//for handler
for (i = 0; i < 3; i++){
cout << "Book: ";
getline(cin, Issue[i].name);
cout << "Release Date: ";
getline(cin, release_dte);
Issue[i].release = atoi(release_dte.c);
}
cout << "These are your books" << endl;
for ( i = 0; i < 3; i++){
cout << "Book: " << Issue[i].name << " Release Date: " << Issue[i].release << endl;
}
system("pause");
return 0;
}
最佳答案
最好的方法是使用 std::vector。例如
#include <vector>
//...
struct Book{
string name;
int release;
};
int main()
{
size_t issue_number;
std::cout << "Enter number of books: ";
std::cin >> issue_number;
std::vector<Book> Issue( issue_number );
//...
否则你应该自己动态分配数组。例如
Book *Issue = new Book[issue_number];
在程序结束时你需要释放分配的内存
delete []Issue;
关于C++数组结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21516001/