#include <string>
#include <iostream>
#include <sstream>
using namespace std;
stringstream ss; //全域變數,后面用來將int型別資料轉換成字串型別
class Reader{
private:
string readerName; //讀者姓名
int readerAge; //讀者年齡
string readerGender; //讀者性別
string readerCode; //讀者編號
public:
Reader(string name, int age, string gender, string code):readerName(name), readerAge(age), readerGender(gender), readerCode(code){} //建構式-1
string getName(){ return readerName;} //獲取讀者姓名-1
int getAge(){return readerAge;} //獲取讀者年齡-1
string getGender(){return readerGender;} //獲取讀者性別-1
string getCode(){return readerCode;} //獲取讀者編號-1
void setCode(string code){ readerCode = code;} //設定讀者編號-1
void setName(string name){ readerName = name;} //設定讀者姓名-1
void setAge(int age){ readerAge = age;} //設定讀者年齡-1
void setGender(string gender){ //設定讀者性別-1
while(true){ //用來判斷性別的屬性值是否輸入正確,不正確則重新輸入到正確為止
if(gender == "男" || gender == "女"){
readerGender = gender;
break;
} else{
cout<<"性別屬性值不對,請重新輸入:"<<endl;
cin>>gender;
}
}
}
};
class Books{
private:
string booksName; //書名
string booksID; //圖書id
int booksCount; //圖書數量
public:
Books(string name, string id, int count):booksName(name), booksID(id), booksCount(count){} //建構式-1
string getName(){return booksName;} //獲取圖書名字-1
string getID(){return booksID;} //獲取圖書編號-1
int getCount(){return booksCount;} //獲取圖書數量-1
void setID(string id){booksID = id;} //設定圖書id-1
void addBooksCount(int count){ //添加圖書數量-1
int bCount = getCount(); //獲取修改前圖書的數量
bCount += count;
booksCount = bCount;
}
void deleteBooksCount(int count){ //減少圖書數量-1
int bCount = getCount(); //獲取修改前圖書的數量
bCount -= count;
booksCount = bCount;
}
void showBooksMessage(){ //展示圖書資訊-1
int count = getCount(); //獲取圖書數量
//下面兩步操作將int型別轉換為字串型別
ss<<count;
string s = ss.str();
cout<<"該圖書名字是:" + getName() + "---編號是:" + getID() + "---數量為:" + s + "本。"<<endl;
}
};
class Library{
private:
string libraryName; //圖書館名字
void initLibrary(){ //初始化圖書館-1
int i;
for(i = 0; i < 100; i++){
books[i].setID(" "); //初始化圖書館所有圖書id為“ ”,初始值統一,方便后續陣列增刪操作
}
for(i = 0; i < 100; i++){
readers[i].setCode(" "); //初始化圖書館所有讀者編號為“ ” ,初始值統一,方便后續陣列增刪操作
}
libraryName = "愛尚鼠";
}
public:
static Reader readers[100]; //用來存盤讀者物件
static Books books[100]; //用來存盤圖書物件
Library(){initLibrary();} //建構式-1
void bringBooksCome(Books books){ //圖書館引入圖書-1
int i;
for(i = 0; i < 100; i++){
if(books.getID() == Library::books[i].getID()){ //根據圖書id值判斷,存在則說明有該圖書,直接在原來數量的基礎上增加數量
Library::books[i].addBooksCount(books.getCount());
//以下兩步將int轉換為string
ss<<Library::books[i].getCount();
string s = ss.str();
cout<<"該圖書已經存在,數量增加"+ s +"本。"<<endl;
} else if(books.getID() != Library::books[i].getID() && Library::books[i].getID() != " "){ //引入的圖書的id值和圖書館內不一樣
// 并且當前圖書館內的圖書id值不是“”,說明這個索引處有圖書,直接跳過本次回圈
continue;
} else if(books.getID() != Library::books[i].getID() && Library::books[i].getID() == " "){ //引入的圖書的id值和圖書館內不一樣
// 但是當前圖書館內的圖書id值是“”,說明這個索引處沒有圖書,將引入的圖書添加至這個索引處
Library::books[i] = books; //直接傳圖書物件
//以下兩步將int轉換為string
ss<<Library::books[i].getCount();
string s = ss.str();
cout<<"該圖書不存在,現已經添加該圖書到圖書館中,數量增加"+ s +"本。"<<endl;
}
}
}
void takeBooksGo(Reader reader){ //讀者借走圖書-1
int i;
for(i = 0; i < 100; i++){
if(reader.getCode() == readers[i].getCode()){ //根據讀者編號判斷,相等則說明已注冊該讀者,可以借閱圖書
cout<<"該讀者已經注冊賬號,可以借閱圖書。"<<endl;
cout<<"下面給出您圖書編號對應的圖書以及圖書的存盤數量"<<endl;
int j;
for(j = 0; j < 100; j++){ //將圖書館圖書資訊提供給讀者,指導讀者選擇圖書
//將int轉換為string
ss<<Library::books[i].getCount();
string s = ss.str();
cout<<books[j].getID() + "---" + books[j].getName() + "---" + s + "本。"<<endl;
}
cout<<"請輸入您想要借閱的圖書編號:"<<endl;
string booksTakeByReader; //讀者想要借的圖書的編號
cin>>booksTakeByReader;
int k;
for(k = 0; k < 100; k++){ //根據圖書編號判斷,編號存在且圖書數量大于0則可以借閱
if(booksTakeByReader == books[k].getID() && books[k].getCount() > 0){
books[k].deleteBooksCount(1); //借閱成功,庫存數量減1
} else if(booksTakeByReader == books[k].getID() && books[k].getCount() == 0){ //編號存在且圖書數量等于0,不可以借閱
cout<<"該圖書已經沒有庫存,借閱失敗!"<<endl;
}
}
}
}
}
void booksBackFromReader(Reader reader){ //讀者歸還圖書-1
int i;
for(i = 0; i < 100; i++){
cout<<"請輸入您想要歸還的圖書名:"<<endl;
string name;
cin>>name;
if(name == Library::books[i].getName()){ //根據書名來判斷,存在則讀者可以歸還,數量加1
Library::books[i].addBooksCount(1);
cout<<"感謝您歸還圖書,歡迎再次使用~"<<endl;
} else if(name != Library::books[i].getName()){ //不存在說明圖書編號被洗掉,或者沒有這類書籍,總之已經不存在
cout<<"您歸還的圖書不存在或者已經被圖書管理員洗掉!"<<endl;
break;
}
}
}
};
Reader Library::readers[100] = {}; //用來存盤讀者物件
Books Library::books[100] = {}; //用來存盤圖書物件
int main(){
Library library; //創建圖書館物件,建構式內呼叫了初始化函式
while(true){
cout<<"歡迎進入圖書館系統,進入讀者管理界面請輸入1,進入圖書管理界面請輸入2,退出請輸入其他數字~"<<endl;
int comeNum; //進入其他系統或者退出圖書館系統的密匙
cin>>comeNum;
if(comeNum == 1){ //讀者管理界面-1
while(true){
cout<<"歡迎進入讀者管理界面~"<<endl;
int readerCode; //操作讀者資訊的密匙
cout<<"添加讀者資訊請輸入1,洗掉讀者資訊請輸入2,修改讀者資訊請輸入3,退出讀者管理界面請輸入其他數字"<<endl;
cin>>readerCode;
if(readerCode == 1){ //添加讀者資訊-1
cout<<"請輸入讀者姓名:"<<endl;
string name;
cin>>name;
cout<<"請輸入讀者年齡:"<<endl;
int age;
cin>>age;
cout<<"請輸入讀者性別:"<<endl;
string gender;
cin>>gender;
cout<<"請輸入讀者編號:"<<endl;
string code;
cin>>code;
//創建讀者物件
Reader reader(name, age, gender, code);
int i;
for(i = 0; i < 100; i++){
if(reader.getCode() == Library::readers[i].getCode()){ //根據讀者編號判斷,若存在則退出添加讀者操作的回圈
cout<<"該讀者已經存在!"<<endl;
break;
} else if(reader.getCode() != Library::readers[i].getCode() && Library::readers[i].getCode() != " "){ //想要添加的讀者編號和圖書館的存盤的讀者編號不一致
// 并且該索引處讀者編號不為“”,說明此索引已經有讀者,則跳出本次回圈
continue;
} else { //想要添加的讀者編號和圖書館的存盤的讀者編號不一致,并且該索引處讀者編號為“”,說明此索引沒有讀者,且可以說明該陣列內也沒有該讀者,可以進行添加
Library::readers[i] = reader;
cout<<"成功添加該讀者,歡迎再次使用~"<<endl;
break;
}
}
} else if(readerCode == 2){ //洗掉讀者資訊-1
cout<<"請輸入讀者編號:"<<endl;
string code;
cin>>code;
int i;
for(i = 0; i < 100; i++){
if(Library::readers[i].getCode() == code){ //根據讀者編號判斷,若存在則洗掉讀者
int j;
for(j = i; j < 100; j++){ //將下一個索引處的讀者物件添加到該索引處,并且回圈此操作
Library::readers[j] = Library::readers[j + 1];
}
cout<<"添加成功!"<<endl;
break; //添加成功退出for回圈 (洗掉操作)
} else if(Library::readers[i].getCode() != code && Library::readers[i].getCode() != " "){ //編號不一致,并且該索引處存盤的編號不為“”,則跳出本次回圈
continue;
} else{ //編號不一致,并且該索引處存盤的編號為“”,可以說明本陣列中不存在該讀者,
cout<<"該讀者不存在!"<<endl;
break; //退出for回圈(洗掉操作)
}
}
} else if(readerCode == 3){ //修改讀者資訊-1
cout<<"請輸入讀者編號:"<<endl;
string code;
cin>>code;
int i;
for(i = 0; i < 100; i++){
if(Library::readers[i].getCode() == code){ //根據讀者編號判斷,若存在則進入修改讀者資訊頁面
cout<<"如果您想修改讀者姓名請輸入1,修改讀者年齡請輸入2,修改讀者性別請輸入3,退出請輸入其他數字"<<endl;
int flushNum; //修改讀者資訊密匙
while(true){
cin>>flushNum;
if(flushNum == 1){ //修改讀者姓名-1
cout<<"請輸入您想要修改的名字"<<endl;
string flushName;
cin>>flushName;
Library::readers[i].setName(flushName);
} else if(flushNum == 2){ //修改讀者年齡-1
cout<<"請輸入您想要修改的年齡"<<endl;
string flushAge;
cin>>flushAge;
Library::readers[i].setName(flushAge);
} else if(flushNum == 3){ //修改讀者性別-1
cout<<"請輸入您想要修改的性別,男或女"<<endl;
string flushGender;
cin>>flushGender;
Library::readers[i].setName(flushGender);
} else{ //退出修改操作-1
cout<<"修改成功!"<<endl;
break; //修改成功,退出可修改頁面(死回圈)
}
}
} else if(Library::readers[i].getCode() != code && Library::readers[i].getCode() != " "){ //編號不一致并且該索引處編號不為“”,
// 說明該索引處有其他讀者,則跳過本次回圈
continue;
} else { //編號不一致并且該索引處為“” 說明本陣列中沒有該讀者資訊
cout<<"該讀者不存在!"<<endl;
break; // 退出修改頁面(for回圈)
}
}
} else{ //退出讀者管理界面-1
cout<<"成功退出讀者管理界面,歡迎再次使用~"<<endl;
break;
}
}
} else if(comeNum == 2){ //圖書管理界面
cout<<"歡迎進入圖書管理界面~"<<endl;
while(true){
int booksCode;
cout<<"添加圖書資訊請輸入1,洗掉圖書資訊請輸入2,修改圖書資訊請輸入3,退出圖書管理界面請輸入其他數字"<<endl;
cin>>booksCode;
if(booksCode == 1){ //添加圖書資訊-1
cout<<"請輸入圖書名字"<<endl;
string name;
cin>>name;
cout<<"請輸入圖書編號"<<endl;
string id;
cin>>id;
cout<<"請輸入圖書數量"<<endl;
int count;
cin>>count;
int i;
for(i = 0; i < 100; i++){
if(Library::books[i].getID() == id && Library::books[i].getName() == name){ //根據圖書id值判斷。若id相等并且書名一致則可以進行添加圖書操作
Library::books[i].addBooksCount(count);
cout<<"添加成功!"<<endl;
break; //則退出添加圖書頁面
} else if(Library::books[i].getID() == id && Library::books[i].getName() != " " && Library::books[i].getName() != name){ //若id相等但是書名不一致
// 說明該id被占用,則退出添加圖書頁面
cout<<"該id值已經被占用!"<<endl;
break;
} else if(Library::books[i].getID() != id && Library::books[i].getID() != " " ){ //id不相等,并且該索引處不為“”說明該索引出有圖書,則跳過本次回圈
continue;
}
}
} else if(booksCode == 2){ //洗掉圖書資訊-1
cout<<"請輸入圖書編號"<<endl;
string id;
cin>>id;
int i;
for(i = 0; i < 100; i++){
if(Library::books[i].getID() == id){ //根據圖書id進行判斷,存在則進行洗掉操作
int j;
for(j = i; j < 100; j++){
Library::books[j] = Library::books[j + 1]; //將下一索引處的圖書資訊存盤到當前索引處,并且回圈操作此步驟
}
cout<<"洗掉成功!"<<endl;
break; //洗掉成功,退出洗掉圖書界面
} else { //id不一致,跳出本次回圈
cout<<"圖書id值可能不存在!"<<endl;
continue;
}
}
uj5u.com熱心網友回復:
僅幫整理格式和消除編譯錯誤:#include <string>
#include <iostream>
#include <sstream>
using namespace std;
stringstream ss; //全域變數,后面用來將int型別資料轉換成字串型別
class Reader {
private:
string readerName; //讀者姓名
int readerAge; //讀者年齡
string readerGender; //讀者性別
string readerCode; //讀者編號
public:
Reader() {}
Reader(string name, int age, string gender, string code):readerName(name), readerAge(age), readerGender(gender), readerCode(code) {} //建構式-1
string getName() {
return readerName;
} //獲取讀者姓名-1
int getAge() {
return readerAge;
} //獲取讀者年齡-1
string getGender() {
return readerGender;
} //獲取讀者性別-1
string getCode() {
return readerCode;
} //獲取讀者編號-1
void setCode(string code) {
readerCode = code;
} //設定讀者編號-1
void setName(string name) {
readerName = name;
} //設定讀者姓名-1
void setAge(int age) {
readerAge = age;
} //設定讀者年齡-1
void setGender(string gender) { //設定讀者性別-1
while(true) { //用來判斷性別的屬性值是否輸入正確,不正確則重新輸入到正確為止
if(gender == "男" || gender == "女") {
readerGender = gender;
break;
} else {
cout<<"性別屬性值不對,請重新輸入:"<<endl;
cin>>gender;
}
}
}
};
class Books {
private:
string booksName; //書名
string booksID; //圖書id
int booksCount; //圖書數量
public:
Books() {}
Books(string name, string id, int count):booksName(name), booksID(id), booksCount(count) {} //建構式-1
string getName() {
return booksName;
} //獲取圖書名字-1
string getID() {
return booksID;
} //獲取圖書編號-1
int getCount() {
return booksCount;
} //獲取圖書數量-1
void setID(string id) {
booksID = id;
} //設定圖書id-1
void addBooksCount(int count) { //添加圖書數量-1
int bCount = getCount(); //獲取修改前圖書的數量
bCount += count;
booksCount = bCount;
}
void deleteBooksCount(int count) { //減少圖書數量-1
int bCount = getCount(); //獲取修改前圖書的數量
bCount -= count;
booksCount = bCount;
}
void showBooksMessage() { //展示圖書資訊-1
int count = getCount(); //獲取圖書數量
//下面兩步操作將int型別轉換為字串型別
ss<<count;
string s = ss.str();
cout<<"該圖書名字是:" + getName() + "---編號是:" + getID() + "---數量為:" + s + "本。"<<endl;
}
};
class Library {
private:
string libraryName; //圖書館名字
void initLibrary() { //初始化圖書館-1
int i;
for(i = 0; i < 100; i++) {
books[i].setID(" "); //初始化圖書館所有圖書id為“ ”,初始值統一,方便后續陣列增刪操作
}
for(i = 0; i < 100; i++) {
readers[i].setCode(" "); //初始化圖書館所有讀者編號為“ ” ,初始值統一,方便后續陣列增刪操作
}
libraryName = "愛尚鼠";
}
public:
static Reader readers[100]; //用來存盤讀者物件
static Books books[100]; //用來存盤圖書物件
Library() {
initLibrary();
} //建構式-1
void bringBooksCome(Books books) { //圖書館引入圖書-1
int i;
for(i = 0; i < 100; i++) {
if(books.getID() == Library::books[i].getID()) { //根據圖書id值判斷,存在則說明有該圖書,直接在原來數量的基礎上增加數量
Library::books[i].addBooksCount(books.getCount());
//以下兩步將int轉換為string
ss<<Library::books[i].getCount();
string s = ss.str();
cout<<"該圖書已經存在,數量增加"+ s +"本。"<<endl;
} else if(books.getID() != Library::books[i].getID() && Library::books[i].getID() != " ") { //引入的圖書的id值和圖書館內不一樣
// 并且當前圖書館內的圖書id值不是“”,說明這個索引處有圖書,直接跳過本次回圈
continue;
} else if(books.getID() != Library::books[i].getID() && Library::books[i].getID() == " ") { //引入的圖書的id值和圖書館內不一樣
// 但是當前圖書館內的圖書id值是“”,說明這個索引處沒有圖書,將引入的圖書添加至這個索引處
Library::books[i] = books; //直接傳圖書物件
//以下兩步將int轉換為string
ss<<Library::books[i].getCount();
string s = ss.str();
cout<<"該圖書不存在,現已經添加該圖書到圖書館中,數量增加"+ s +"本。"<<endl;
}
}
}
void takeBooksGo(Reader reader) { //讀者借走圖書-1
int i;
for(i = 0; i < 100; i++) {
if(reader.getCode() == readers[i].getCode()) { //根據讀者編號判斷,相等則說明已注冊該讀者,可以借閱圖書
cout<<"該讀者已經注冊賬號,可以借閱圖書。"<<endl;
cout<<"下面給出您圖書編號對應的圖書以及圖書的存盤數量"<<endl;
int j;
for(j = 0; j < 100; j++) { //將圖書館圖書資訊提供給讀者,指導讀者選擇圖書
//將int轉換為string
ss<<Library::books[i].getCount();
string s = ss.str();
cout<<books[j].getID() + "---" + books[j].getName() + "---" + s + "本。"<<endl;
}
cout<<"請輸入您想要借閱的圖書編號:"<<endl;
string booksTakeByReader; //讀者想要借的圖書的編號
cin>>booksTakeByReader;
int k;
for(k = 0; k < 100; k++) { //根據圖書編號判斷,編號存在且圖書數量大于0則可以借閱
if(booksTakeByReader == books[k].getID() && books[k].getCount() > 0) {
books[k].deleteBooksCount(1); //借閱成功,庫存數量減1
} else if(booksTakeByReader == books[k].getID() && books[k].getCount() == 0) { //編號存在且圖書數量等于0,不可以借閱
cout<<"該圖書已經沒有庫存,借閱失敗!"<<endl;
}
}
}
}
}
void booksBackFromReader(Reader reader) { //讀者歸還圖書-1
int i;
for(i = 0; i < 100; i++) {
cout<<"請輸入您想要歸還的圖書名:"<<endl;
string name;
cin>>name;
if(name == Library::books[i].getName()) { //根據書名來判斷,存在則讀者可以歸還,數量加1
Library::books[i].addBooksCount(1);
cout<<"感謝您歸還圖書,歡迎再次使用~"<<endl;
} else if(name != Library::books[i].getName()) { //不存在說明圖書編號被洗掉,或者沒有這類書籍,總之已經不存在
cout<<"您歸還的圖書不存在或者已經被圖書管理員洗掉!"<<endl;
break;
}
}
}
};
Reader Library::readers[100] = {}; //用來存盤讀者物件
Books Library::books[100] = {}; //用來存盤圖書物件
int main() {
Library library; //創建圖書館物件,建構式內呼叫了初始化函式
while(true) {
cout<<"歡迎進入圖書館系統,進入讀者管理界面請輸入1,進入圖書管理界面請輸入2,退出請輸入其他數字~"<<endl;
int comeNum; //進入其他系統或者退出圖書館系統的密匙
cin>>comeNum;
if(comeNum == 1) { //讀者管理界面-1
while(true) {
cout<<"歡迎進入讀者管理界面~"<<endl;
int readerCode; //操作讀者資訊的密匙
cout<<"添加讀者資訊請輸入1,洗掉讀者資訊請輸入2,修改讀者資訊請輸入3,退出讀者管理界面請輸入其他數字"<<endl;
cin>>readerCode;
if(readerCode == 1) { //添加讀者資訊-1
cout<<"請輸入讀者姓名:"<<endl;
string name;
cin>>name;
cout<<"請輸入讀者年齡:"<<endl;
int age;
cin>>age;
cout<<"請輸入讀者性別:"<<endl;
string gender;
cin>>gender;
cout<<"請輸入讀者編號:"<<endl;
string code;
cin>>code;
//創建讀者物件
Reader reader(name, age, gender, code);
int i;
for(i = 0; i < 100; i++) {
if(reader.getCode() == Library::readers[i].getCode()) { //根據讀者編號判斷,若存在則退出添加讀者操作的回圈
cout<<"該讀者已經存在!"<<endl;
break;
} else if(reader.getCode() != Library::readers[i].getCode() && Library::readers[i].getCode() != " ") { //想要添加的讀者編號和圖書館的存盤的讀者編號不一致
// 并且該索引處讀者編號不為“”,說明此索引已經有讀者,則跳出本次回圈
continue;
} else { //想要添加的讀者編號和圖書館的存盤的讀者編號不一致,并且該索引處讀者編號為“”,說明此索引沒有讀者,且可以說明該陣列內也沒有該讀者,可以進行添加
Library::readers[i] = reader;
cout<<"成功添加該讀者,歡迎再次使用~"<<endl;
break;
}
}
} else if(readerCode == 2) { //洗掉讀者資訊-1
cout<<"請輸入讀者編號:"<<endl;
string code;
cin>>code;
int i;
for(i = 0; i < 100; i++) {
if(Library::readers[i].getCode() == code) { //根據讀者編號判斷,若存在則洗掉讀者
int j;
for(j = i; j < 100; j++) { //將下一個索引處的讀者物件添加到該索引處,并且回圈此操作
Library::readers[j] = Library::readers[j + 1];
}
cout<<"添加成功!"<<endl;
break; //添加成功退出for回圈 (洗掉操作)
} else if(Library::readers[i].getCode() != code && Library::readers[i].getCode() != " ") { //編號不一致,并且該索引處存盤的編號不為“”,則跳出本次回圈
continue;
} else { //編號不一致,并且該索引處存盤的編號為“”,可以說明本陣列中不存在該讀者,
cout<<"該讀者不存在!"<<endl;
break; //退出for回圈(洗掉操作)
}
}
} else if(readerCode == 3) { //修改讀者資訊-1
cout<<"請輸入讀者編號:"<<endl;
string code;
cin>>code;
int i;
for(i = 0; i < 100; i++) {
if(Library::readers[i].getCode() == code) { //根據讀者編號判斷,若存在則進入修改讀者資訊頁面
cout<<"如果您想修改讀者姓名請輸入1,修改讀者年齡請輸入2,修改讀者性別請輸入3,退出請輸入其他數字"<<endl;
int flushNum; //修改讀者資訊密匙
while(true) {
cin>>flushNum;
if(flushNum == 1) { //修改讀者姓名-1
cout<<"請輸入您想要修改的名字"<<endl;
string flushName;
cin>>flushName;
Library::readers[i].setName(flushName);
} else if(flushNum == 2) { //修改讀者年齡-1
cout<<"請輸入您想要修改的年齡"<<endl;
string flushAge;
cin>>flushAge;
Library::readers[i].setName(flushAge);
} else if(flushNum == 3) { //修改讀者性別-1
cout<<"請輸入您想要修改的性別,男或女"<<endl;
string flushGender;
cin>>flushGender;
Library::readers[i].setName(flushGender);
} else { //退出修改操作-1
cout<<"修改成功!"<<endl;
break; //修改成功,退出可修改頁面(死回圈)
}
}
} else if(Library::readers[i].getCode() != code && Library::readers[i].getCode() != " ") { //編號不一致并且該索引處編號不為“”,
// 說明該索引處有其他讀者,則跳過本次回圈
continue;
} else { //編號不一致并且該索引處為“” 說明本陣列中沒有該讀者資訊
cout<<"該讀者不存在!"<<endl;
break; // 退出修改頁面(for回圈)
}
}
} else { //退出讀者管理界面-1
cout<<"成功退出讀者管理界面,歡迎再次使用~"<<endl;
break;
}
}
} else if(comeNum == 2) { //圖書管理界面
cout<<"歡迎進入圖書管理界面~"<<endl;
while(true) {
int booksCode;
cout<<"添加圖書資訊請輸入1,洗掉圖書資訊請輸入2,修改圖書資訊請輸入3,退出圖書管理界面請輸入其他數字"<<endl;
cin>>booksCode;
if(booksCode == 1) { //添加圖書資訊-1
cout<<"請輸入圖書名字"<<endl;
string name;
cin>>name;
cout<<"請輸入圖書編號"<<endl;
string id;
cin>>id;
cout<<"請輸入圖書數量"<<endl;
int count;
cin>>count;
int i;
for(i = 0; i < 100; i++) {
if(Library::books[i].getID() == id && Library::books[i].getName() == name) { //根據圖書id值判斷。若id相等并且書名一致則可以進行添加圖書操作
Library::books[i].addBooksCount(count);
cout<<"添加成功!"<<endl;
break; //則退出添加圖書頁面
} else if(Library::books[i].getID() == id && Library::books[i].getName() != " " && Library::books[i].getName() != name) { //若id相等但是書名不一致
// 說明該id被占用,則退出添加圖書頁面
cout<<"該id值已經被占用!"<<endl;
break;
} else if(Library::books[i].getID() != id && Library::books[i].getID() != " " ) { //id不相等,并且該索引處不為“”說明該索引出有圖書,則跳過本次回圈
continue;
}
}
} else if(booksCode == 2) { //洗掉圖書資訊-1
cout<<"請輸入圖書編號"<<endl;
string id;
cin>>id;
int i;
for(i = 0; i < 100; i++) {
if(Library::books[i].getID() == id) { //根據圖書id進行判斷,存在則進行洗掉操作
int j;
for(j = i; j < 100; j++) {
Library::books[j] = Library::books[j + 1]; //將下一索引處的圖書資訊存盤到當前索引處,并且回圈操作此步驟
}
cout<<"洗掉成功!"<<endl;
break; //洗掉成功,退出洗掉圖書界面
} else { //id不一致,跳出本次回圈
cout<<"圖書id值可能不存在!"<<endl;
continue;
}
}
}
}
}
}
}
uj5u.com熱心網友回復:
太感謝了,大家看起來就很方便了,之前發的代碼太亂了謝謝!!
uj5u.com熱心網友回復:
大佬能說明一下您對哪里的內容做了變動嗎,我運行了一下您改后的代碼成功了,太感謝了!!
uj5u.com熱心網友回復:
第13行Reader() {}
和
第56行
Books() {}
是我添加的。
uj5u.com熱心網友回復:
注意應在346行后插入} else if (booksCode == 3) { //修改圖書資訊-1
……
應該是你在#1粘貼的內容太多,后面的被截斷了。
uj5u.com熱心網友回復:
我明白了,謝謝您!!uj5u.com熱心網友回復:
明白了,太謝謝了!!
uj5u.com熱心網友回復:
還真是,沒想到這個粘貼的內容有限,我說結尾的return 0怎么沒有了

轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/265680.html
標籤:C++ 語言
上一篇:設計模式:創建型-單例模式
下一篇:C開發分類
