【发布时间】:2017-09-18 21:14:24
【问题描述】:
你能检查一下我的代码有什么问题吗?我只想制作可以将信息存储在文本文件中并会显示在文本文件中的程序,如下所示:
BookID BookTitle AuthorName BookDepartment BookIssuer
但只有1本书才成功,如果我输入2本书,它将获得无穷大
#include<iostream>
#include<fstream>
#include<iomanip>
using namespace std;
void IssueBooks(){
int SIZE;
cout << "How many books you want to borrow?"<< endl;
cin >> SIZE;
string booksTitle[SIZE], department[SIZE], authorName[SIZE],
BooksIssuer[SIZE];
double booksID[SIZE];
for (int i = 0; i < SIZE; i++ ){
for (int j = 0; j < SIZE; j++){
cout << "Enter Book ID:" << endl;
cin >> booksID[j];
cout << "\nEnter Book Title:" << endl;
cin >> booksTitle[j];
cout << "\nEnter Book Author:" << endl;
cin >> authorName[j];
cout << "\nEnter Book Department:" << endl;
cin >> department[j];
cout << "\nEnter Book Issuer: " << endl;
cin >> BooksIssuer[j];
ofstream out("IssueRecord.txt");
out << setw(10) << booksID[j];
out << setw(10) << booksTitle[j];
out << setw(10) << authorName[j];
out << setw(10) << department[j];
out << setw(10) << BooksIssuer[j];
}
}
}
int main(){
IssueBooks();
return 0;
}
谢谢
【问题讨论】:
-
我认为初学者不需要外部 for 循环
-
无关:通过将所有变量设置为
IssueBooks的本地变量,您很难将收集到的信息恢复到功能之外。 -
string booksTitle[SIZE]和其他使用SIZE大小的固定大小的数组被称为“可变长度数组”,这是一种非标准的扩展,只有少数编译器支持。请改用std::vector。实际上,在这个例子中,根本不需要使用任何数组。 -
@RemyLebeau 我有时间 :) +1
-
我刚开始写 C++ 的时间还不到 3 个月。我现在至少可以做的是数组。
标签: c++