-2
你好我試圖做一個簡單的圖書館服務計劃C++類變量整數拿到
類代碼
class bookEntry {
public:
int copies;
char name[30];
char author[30];
};
class library {
public:
bookEntry database[50];
int numBooks = 0;
void insertBook (char bookName[], char author[], int c); // Add
void deleteBook (char bookName[]); // Delete
//bookEntry *search(char bookName[]); // Not worked yet
void print(void); // Print_List
};
主代碼不同的值
void library::insertBook(char bookName[], char author[], int c) { // AddBook
int i, j;
cout << bookName << author << c;
for (i = 0; i < numBooks+1; i++) {
string a = (database[i].name); // Compare Book Title
if ((a.compare(bookName)) == 0) { // If it's same
database[i].copies += c; // add to copies and pass
break;
}
else {
database[numBooks].copies = c;
strcpy(database[numBooks].name, bookName); // Add New Book
strcpy(database[numBooks].author, author);
}
}
numBooks += 1;
}
void library::print(void) { // Print Books
cout << "BookName Author Copies" << endl;
for (int i = 0; i <= numBooks; i++) {
cout << database[i].name << " " << database[i].author << " " << database[i].copies << endl;
}
}
Numbooks
=總計數的不同圖書的種類
我得到的結果正確的第一個值o n數組bookEntry
。 但是當我把另一個值,數字(copies
)得到不同的數字,然後我插入。另外,當我把價值,我插入之前,工作得很好。 LIKE Result
爲什麼會發生這種情況?我把變量錯了嗎?
來源:Main_File
'numBooks'應該是不同書的數量,還是書的所有副本的總數? –
您需要使用調試器遍歷代碼,並觀察插入代碼處理第二本書時會發生什麼。 –
@PhilM這是用於不同類型圖書的總計數 – Gomtting