程序说明:
(1) 定义一个图书馆类Library,其主要功能是记录读者的借书卡号和书名
(2) 定义一个学生类Student,它的主要作用是记录读者的姓名
(3) 定义一个通过读者类Reader,它是Library和Student的派生类,它除了继承这两个类的数据成员, 还定义自己的 数据成员,通过该类可以了解到读者的上述所有信息,还记录读者的借还书日期
程序代码:
#include <iostream>
#include <time.h>
#include <string>
using namespace std;
class Library
{
protected:
char Card[10];
char Book[30];
public:
void SetLib();
void DispLib()
{
cout << "读者卡号: " <<Card<<endl;
cout << "书名: " << Book <<endl;
}
};
class Student
{
protected:
char Name[10];
public:
void SetStu()
{
cout << "请输入姓名: ";
cin >> Name;
}
void DispStu()
{
cout << "姓名: "<<Name<<endl;
}
};
//定义读者类,它是图书馆类学生类的派生类
class Reader:public Student,public Library
{
char datebuf[9]; //存放当前日期
int Date1[3]; //存放借书日期
int Date2[3]; //存放还书日期
public:
Reader();
void SetBor(); //输入读者信息
int Find(char n[]); //查找函数
void Display(); //显示函数
};
Reader::Reader()
{
_strdate(datebuf); //获取当前日期
//将字符型日期转换为整型,作为借书日期
Date1[0]=(datebuf[0]-'0')*10+datebuf[1]-'0'+2000;
Date1[1]=(datebuf[6]-'0')*10+datebuf[7]-'0';
Date1[2]=(datebuf[3]-'0')*10+datebuf[4]-'0';
//计算还书日期,忽略每月天数
Date2[2]=Date1[2];
if ((Date1[1]+1)>12)
{
Date2[1]=(Date1[1]+1)%12;
Date2[0]=Date1[0]+1;
}
else
{
Date2[0]=Date1[0];
Date2[1]=Date1[1]+1;
}
}
void Library::SetLib()
{
cout << "请输入借书卡号:";
cin >> Card;
cout <<"请输入书名: ";
cin >>Book;
cout <<endl;
}
void Reader::SetBor()
{
SetStu();
SetLib();
}
int Reader::Find(char *n)
{
if (strcmp(Name,n)==0) return 1;
else return 0;
}
void Reader::Display()
{
cout << "读者信息: "<<endl;
DispStu();
DispLib();
cout << "借书日期: "<<Date1[0]-1 <<"年"<<Date1[1]+1<<"月"<<Date1[2]<<"日"<<endl;
cout << "还书日期: "<<Date2[0]-1 <<"年"<<Date2[1]+1<<"月"<<Date2[2]<<"日"<<endl;
}
void main()
{
Reader *Stu;
char n[30];
int i,m;
cout <<"请输入人数: ";
cin >>m;
Stu=new Reader[m];
for (i=0;i<m;i++)
{
cout<<"\n请输入第"<<i+1<<"人信息:"<<endl;
Stu[i].SetBor();
}
for(i=0;i<m;i++)
Stu[i].Display();
cout <<"\n请输入要查找的人的姓名: ";
cin >>n;
for (i=0;i<m;i++)
{
if (Stu[i].Find(n))
{
Stu[i].Display();
cout<<endl;
break;
}
}
if (i==m)
cout << "没此人信息!"<<endl;
}
运行结果:
- 大小: 11.9 KB
分享到:
相关推荐
本项目是一个基于C++语言开发的简易图书馆管理系统,旨在帮助用户实现对图书的基本操作,如添加、查看和删除图书信息。该程序设计与实现充分体现了C++语言的面向对象特性,同时也展示了如何在实际应用中运用C++的...
这段代码展示了一个简单的图书馆管理系统的基础功能,包括读者信息的添加、查询、显示,以及书籍的借阅和归还。通过文件流实现了数据的持久化存储,使得系统能够在重启后仍然保留之前的数据。虽然代码结构相对简单,...
总结来说,这个“图书馆管理程序”是一个结合了VB编程技术和Access数据库管理的实用案例,它充分展示了如何利用信息技术优化图书馆的日常运营,提高了工作效率,并为读者提供了更好的服务体验。对于学习编程和数据库...
《Java版简易图书馆管理系统详解》 图书馆管理系统是一个典型的业务应用软件,它可以帮助图书馆进行书籍管理、读者服务等一系列操作。本文将深入探讨一个基于Java的小型图书馆管理系统,它利用了Java 2 Standard ...
本资源提供了一个使用C++编写的简单图书馆管理程序的设计,其主要功能包括图书管理、读者管理和借阅管理。该程序使用面向对象编程的设计思想,定义了两个主要类:CBook(图书类)和CReader(借阅人类)。下面将对该...
C++简单程序设计图书管理系统 C++简单程序设计图书管理系统 前段时间自己写的一个小的图书管理系统,分享一下,高手就别看了....
《我的第一个Java程序:简单图书管理系统》 在Java编程的世界里,开发一个简单的图书管理系统是一项基础但实用的任务,它能帮助我们理解面向对象编程的基本概念,数据库连接以及数据操作。这个项目采用Java语言编写...
《图书馆管理程序——基于控制台的程序》是一个初级的C语言项目,旨在模拟实际图书馆的运作流程,提供书籍管理的基本功能。在这个程序中,我们主要会涉及到以下几个关键知识点: 1. **C语言基础**:该项目是用C语言...
1. **图书管理**:在系统中,每个图书可以看作是一个对象,包含如书名、作者、出版社、ISBN号等属性。这些属性可以定义在一个名为`Book`的类中。此外,还需要一个`Library`类来存储和管理所有的图书对象,实现添加、...
通过上述知识点,我们可以看出,一个简单的Java图书管理程序涉及到了Java编程的多个核心领域,包括UI设计、数据库操作、对象建模以及错误处理。这样的项目对于学习和掌握Java编程和数据库管理是一个很好的实践机会。
在这个Access图书管理程序中,核心表可能包括“书籍信息”、“作者信息”、“出版社信息”以及“借阅记录”。每个表应包含相关的字段,如书籍ID、书名、ISBN号、作者名、出版社、库存数量等。为了确保数据的一致性和...
此图书馆管理程序利用了Common Lisp Object System (CLOS) 的特性来构建一个灵活且可扩展的图书馆物品管理系统。系统中的核心类为`library-item`,它被定义为所有图书馆物品的基类。而具体的物品类型如书籍(`book`...
本项目“java入门程序(模拟图书馆管理)”是针对初学者设计的一个简单的学习资源,它通过使用链表这种数据结构来实现对图书馆书籍的管理功能,帮助初学者理解Java编程以及链表的基本概念。 链表是一种线性数据结构...
【标题】:“图书馆管理系统Java”是一个基于Java编程语言开发的简易图书管理软件。这个系统旨在为小型图书馆或个人书库提供便捷的书籍管理和借阅服务。通过Java技术,该系统可以实现诸如图书信息录入、查询、借阅、...
图书馆流通系统内,有书、读者、借书证、管理人员、借书还书行为等对象和事件,他们分别各是一个群体。例如每个图书馆都有几万甚至几十万册图书,每册图书都是一个对象,它们形成图书类(在此暂时用Item款目表示)。...
本系统——“MFC简单图书馆管理系统”,就是利用MFC这一强大的工具,实现了一个针对图书馆日常运营的基础管理功能。 首先,该系统的核心功能是图书的借阅与归还。在MFC中,这通常涉及到数据库操作,例如使用ODBC...
在本项目中,我们将深入探讨一个基于C++的图书馆管理系统的设计与实现,这是一个常见的课程设计任务,对于学习C++编程语言的学生来说具有重要的实践意义。《C++课程设计案例精编》这本书为这个项目提供了宝贵的指导...
总结来说,C#/.NET技术在图书馆管理系统中的应用涉及数据库设计、用户界面开发、业务逻辑实现、系统架构设计等多个方面。理解并掌握这些关键知识点,能帮助开发者构建出功能完备、稳定高效的图书馆管理系统。