21xrx.com
2024-12-22 20:18:39 Sunday
登录
文章检索 我的文章 写文章
C++实验4》教程分享
2023-07-02 06:34:16 深夜i     --     --
C++ 实验 教程 分享 编程语言

C++是一门非常流行的编程语言,它被广泛应用于软件开发、游戏开发、嵌入式系统、图形界面等多个领域。对于初学者来说,学习C++不仅有助于提高编程能力,还可以增加就业竞争力,因此,掌握C++是非常有必要的。

在C++学习的旅程中,实验是非常重要的一部分。实验可以帮助学生巩固所学的知识,提高编程能力。以下是一篇C++实验4的教程分享,希望对正在学习C++的同学有帮助。

实验题目:使用对象实现图书管理系统

实验要求:通过面向对象的编程方式,实现一个简单的图书管理系统,包括图书的增删改查等基本功能。

实验步骤:

1.定义图书类

首先,我们需要定义一个图书类,用来存储每一本图书的信息。具体实现方式如下:

class Book{

private:

string name; //图书名称

string author; //图书作者

string publisher; //图书出版社

double price; //图书价格

public:

Book(){};

Book(string n, string a, string p, double pr)

name = n;

author = a;

publisher = p;

price = pr;

void setName(string n)

name = n;

string getName()

return name;

void setAuthor(string a)

author = a;

string getAuthor()

return author;

void setPublisher(string p)

publisher = p;

string getPublisher()

return publisher;

void setPrice(double pr)

price = pr;

double getPrice()

return price;

};

2.定义图书管理类

接下来,我们需要定义一个图书管理类,用来实现图书的增删改查等基本功能。具体实现方式如下:

class BookManager{

private:

vector bookList; //图书列表

public:

BookManager(){};

//增加图书

void addBook(Book book){

bookList.push_back(book);

}

//删除图书

void deleteBook(string name){

for(vector ::iterator it = bookList.begin(); it != bookList.end();){

if(it -> getName() == name){

bookList.erase(it);

}else{

it++;

}

}

}

//修改图书

void modifyBook(string name, Book book){

for(vector ::iterator it = bookList.begin(); it != bookList.end(); it++){

if(it -> getName() == name){

it -> setName(book.getName());

it -> setAuthor(book.getAuthor());

it -> setPublisher(book.getPublisher());

it -> setPrice(book.getPrice());

break;

}

}

}

//查找图书

Book findBook(string name){

for(vector ::iterator it = bookList.begin(); it != bookList.end(); it++){

if(it -> getName() == name){

return *it;

}

}

}

};

3.测试图书管理系统

最后,我们需要编写一个测试图书管理系统的程序,用来测试我们实现的图书管理系统是否正确。具体实现方式如下:

int main(){

Book book1("C++ Primer", "Lippman", "People's Posts and Telecommunications Press", 99.0);

Book book2("Thinking in Java", "Bruce Eckel", "Prentice Hall", 88.0);

BookManager manager;

manager.addBook(book1);

manager.addBook(book2);

Book book3 = manager.findBook("C++ Primer");

cout << book3.getName() << " " << book3.getAuthor() << " " << book3.getPublisher() << " " << book3.getPrice() << endl;

manager.deleteBook("Thinking in Java");

Book book4("C++ Primer Plus", "Stephen Prata", "People's Posts and Telecommunications Press", 85.0);

manager.modifyBook("C++ Primer", book4);

Book book5 = manager.findBook("C++ Primer");

cout << book5.getName() << " " << book5.getAuthor() << " " << book5.getPublisher() << " " << book5.getPrice() << endl;

return 0;

}

通过运行上述程序,我们可以看到图书管理系统的基本功能已经实现。但是,这个系统仍然有很多不足之处,比如没有进行数据持久化操作,不能保存图书信息,每次程序运行都需要重新添加图书信息。针对这些问题,我们可以在后续的学习中逐步完善图书管理系统。

总结:

本文主要介绍了使用对象实现图书管理系统的C++实验4。通过本次实验,我们学习了如何定义类,如何使用类实现面向对象编程,实现了图书的增删改查等基本功能。同时,本文也提到了图书管理系统仍然有很多不足之处,需要在后续的学习中逐步完善。希望本文对正在学习C++的同学有所帮助。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复