图书管理系统课程设计实验报告C++(完整版内含课程设计日志6篇纯手写)

图书管理系统课程设计

说明一下这是最近博主做的一篇C++课程设计报告形式的,代码的话我是测试过的应该没有bug,如果有问题的话可以在评论@我。
在这里插入图片描述
第一章 问题描述
要求以图书馆管理业务为背景,设计并实现一个“图书馆管理信息系统”软件,使用该系统可以方便查询图书的信息、借阅者的个人等信息,实现借书与还书等功能。
要求:(1)实现图书信息的录入、修改、删除和查看(2)实现借阅者分类及借阅者个人信息的录入、修改和删除(3)实现借书和还书功能(4)可图书信息查询和读者信息查询(5)对用户信息管理及权限分配
第二章 需求分析
根据题目的任务要求,对将要实现的系统做功能分析及数据分析如下:
(1)功能分析(操作需求)
根据问题描述与设计要求,本系统应具备如下功能:
 图书系统的创建:系统启动时,从图书馆功能文件加载图书信息,如果图书馆功能文件不存在,应初始化图书馆功能文件;
 添加图书信息:增加新的图书信息到图书信息系统中;
 修改图书信息:修改现有的图书的基本信息;
 删除图书信息:从图书信息系统中删除一个已经存在的图书信息;
 查找图书信息:查找图书是否存在。
 显示图书信息:显示图书信息。
 全删图书信息:把图书信息全部清空。
 读者信息系统的创建:系统启动时,从图书馆功能文件加载读者信息;
 添加读者信息:增加新的读者信息到读者信息系统中;
 修改读者信息:修改现有的读者的基本信息;
 删除读者信息:从读者信息系统中删除一个已经存在的读者信息;
 查找读者信息:查找读者是否存在。
 显示读者信息:显示读者信息。
 全删读者信息:把读者信息全部清空。
 借书管理系统的创建:系统启动时,从图书馆功能文件加载借书管理系统;
 借书功能:输入借书图书信息,查找该图书并取走该书,并进行记录借阅者信息。
 还书功能:输入借书图书信息,查找该图书并插入。
 退出系统管理的创建:关闭正运行的系统回到到图书管理系统 。

(2)数据分析
根据问题描述确定图书信息包括:书名,编号;借阅者的信息有:姓名,编号;借书信息包括:读者信息,书籍信息。
具体的流程图
第三章 编程实现

#include <iostream>
#include <iomanip>
#include <cstring>
#include <fstream>
#include <stdlib.h>
using namespace std;
const int Reader=100;     //给读者分配储存空间
const int Maxb=100;     //给图书分配储存空间
const int Bor=5;
class Student
{
   
   
private:
    int tag;
    int number;
    char name[10];                //读者名称
    int borbook[Bor];
public:
    Student() {
   
    }
    char *getname()
    {
   
   
        return name;
    }
    int gettag()
    {
   
   
        return tag;
    }
    int getnumber()
    {
   
   
        return number;
    }
    void setname(char *na)
    {
   
   
        strcpy(name,na);
    }
    void delbook()
    {
   
   
        tag=1;
    }
    void addStudent(int n,char *na)
    {
   
   
        tag=0;
        number=n;
        strcpy(name,na);
        for(int i=0; i<Bor; i++)
            borbook[i]=0;
    }
    void borrowbook(int bookid)        //借书操作
    {
   
   
        for(int i=0; i<Bor; i++)
        {
   
   
            if (borbook[i]==0)
            {
   
   
                borbook[i]=bookid;
                return;
            }
        }
    }
    int retbook(int bookid)            //还书操作
    {
   
   
        for(int i=0; i<Bor; i++)
        {
   
   
            if(borbook[i]==bookid)
            {
   
   
                borbook[i]=0;
                return 1;
            }
        }
        return 0;
    }
    void output()                 //读出读者信息
    {
   
   
        cout << setw(5) << number <<setw(10) << name<<"借书编号:[";
        for(int i=0; i<Bor; i++)
            if(borbook[i]!=0)
                cout << borbook[i] << "|";
        cout << "]"<<endl;
    }
};
class RData
{
   
   
private:
    int top;             //读者记录指针
    Student read[Reader];
public:
    RData()               //构造函数,将Student.txt读到read[]中
    {
   
   
        Student s;
        top=-1;
        fstream file("Student.txt",ios::in);         //打开一个输入文件
        while (1)
        {
   
   
            file.read((char *)&s,sizeof(s));
            if (!file)break;
            top++;
            read[top]=s;
        }
        file.close();
    }
    void clear()
    {
   
   
        top=-1;
    }
    int addStudent(int n,char *na
评论 17
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

王多鱼变成鱼

谢谢宝贝们支持

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值