视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
课程设计实验报告模板
2025-09-29 16:35:43 责编:小OO
文档
C++程序设计课程设计报告

设计题目: 图书管理系统             

指导教师:  葛洪芳                  

姓    名                            

班    级:                          

成 绩

教 师

学    号:                          

设计时间: 2012.6.18_—2012.6.21       

一、课程设计的目的(需求分析)

设计目的:

(1)掌握面向对象程序设计的基本思路和方法;

(2)了解系统开发的需求分析、类层次设计、模块分解、编码测试、模块组装与整体调试的全过程;

(3)进一步熟悉C++中的概念。

(4)学会分析简单的实际问题,并能利用所学的知识建立系统的逻辑结构。

需求分析: 随着社会的发展,人们对知识的需求也不断地增长。在这种形势下,书籍就渐渐地成为人们获取并增长知识的主要途径,而图书馆就自然而然地在人们的生 活中占据了一定的位置,如何科学地管理图书馆不但关系到读者求知的方便程度,也关系到图书馆的发展,因此,开发一套完善的图书馆管理系统就成不可少了,面对大量的书籍信息以及两者相互作用 产生的信息。因此需要对读者资源、书籍资源、借书信息、信息进行管理,及时了解各个环节中信息的变更,有利于提高管理效率。科学技术领域为了适应读者对图书的需求,同时又大大减轻图书馆工作人 员的工作量,全面提高图书馆的管理效率及服务质量。 使用计算机软件对图书进行管理,是计算机应用的一部分。以实现图书检索 迅速、可靠性高、存储量大、寿命长、成本低等特点,能极大程度地提高图书管 理的效率,也是图书管理信息化、正规化管理的必然趋势

二、课程设计的任务(概要设计)

本系统设计了一个简单的图书管理系统:图书信息包括:书号、书名、作者、价格、出版社。实现了图书管理系统一部分的功能。各功能如下: 

系统以菜单方式工作:

(1):添加图书信息:添加书号,书名,作者,价格,出版社相关信息。

(2):查询图书信息:输入书号,显示相关信息。

(3):显示图书信息:按书号顺序显示相关信息。

(4):删除图书信息:输入书号,删除相关信息。

(5):退出:程序结束

 三、流程图(详细设计)

四、源文件,要有必要的注释语句。

#include

#include

#include

using namespace std;

class Library{

private:

class Book{

public:

  Book():next(0){}

  string id; //书号

  string title;//书名

  string author;//作者

  float price;//价格

  string publisher;//出版社

 Book *next;

};

Book *books;

public:

 Library():books(0){ };

 ~Library();

 void add();

 void search();

 void display();

 void del();

};

Library::~Library(){

 Book *b;

 b=books;

 while(b!=0){

b=books->next;

 delete books;

  books=b;

}

}

//添加函数

void Library::add(){

 Book *b=new Book;

cout<<"输入书号:";

cin>>(b->id);

cout<<"输入书名:";

cin>>(b->title);

cout<<"输入作者:";

cin>>(b->author);

cout<<"输入价格:";

cin>>(b->price);

cout<<"输入出版社:";

cin>>(b->publisher);

 //判断id是否相等

 if(books==0) books=b;

 else{

if((b->id)<(books->id)){

b->next=books;

  books=b;

  return;

}

  Book *p,*q;

  p=books;

  while(p!=0){

if((p->id)==(b->id)){

cout<<"此书号已存在"<  delete b;

  return;

}

else if((p->id)>(b->id))break;

  else{

  q=p;

p=p->next;

}

  }

b->next=p;

q->next=b;

 }

}

//查询函数

void Library::search(){

 string id;

cout<<"输入书号:";

cin>>id;

 Book *b;

 b=books;

 while(b!=0){

if((b->id)==id) break;

else b=b->next;

 }

if(b==0)cout<<"查无此书"< else{

cout<<"书号  书名  作者  价格  出版社"< cout<<(b->id)<<" "<<(b->title)<<" "<<(b->author)<<" "<price)<<" "<<(b->publisher)< }

}

//显示函数

void Library::display(){

 Book *b;

 b=books;

cout<<"书号  书名  作者  价格  出版社"< while(b!=0){

cout<<(b->id)<<" "<<(b->title)<<" "<<(b->author)<<" "<price)<<" "<<(b->publisher)< b=b->next;

 }

}

//删除函数

void Library::del(){

 string id;

cout<<"输入书号:";

cin>>id;

 Book *p,*q;

if((books->id)==id){

  p=books;

books=books->next;

  delete p;

 }

 else{

  p=books;

  while(p!=0){

if((p->id)==id) break;

   else {

   q=p;

p=p->next;

   }

  }

if(p==0) cout<<"查无此书"<  else{

q->next=p->next;

   delete p;

  }

 }

}

int main(){

 int c;

 Library l;

 do{

cout<<"1.添加图书信息  2.查询图书信息  3.显示图书信息  4.删除图书信息  5.退出"< cout<<"输入你的操作:";

cin>>c;

  if(c==1) l.add();

  else if(c==2) l.search();

  else if(c==3) l.display();

  else if(c==4) l.del();

  else if(c==5) break;

else cout<<""< }while(1);

 return 0;

}

运行结果如下图所示:

全部功能运行如下图:

五、课程设计的总结

   设计中遇到的问题:添加时价格可以输入任意类型,把价格的类型为float型,添加价格必须为数字。其他都可任意输入。

设计中出现错误自己很难解决,通过同学的帮助和网上查资料把问题解决了,做程序要考虑全面,不能考虑的太过简单,一定要思考周全,遇到问题要第一时间解决。下载本文

显示全文
专题