图书管理系统C++代码
0.0
荆楚理工学院
课程设计成果
学院:计算机工程学院 班 级: 09计算机应用与技术1班 学生姓名: 秦小平 学 号: 2009304030141 学生姓名: 孔盼 学 号: 2009304030130
设计地点(单位)_ A5----201__________________ 设计题目:_________图书信息管理系统______________ 完成日期: 2011 年 6 月 13 日
指导教师评语:_______ _______ ________________________________________________________________________________________________________________________________
成绩(五级记分制):_____ _ __________ 教师签名:__________ _______________
0.0
#include <iostream> #include <iomanip> #include <string> #include <fstream>
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); }
0.0
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; } }
0.0
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;
0.0
}
file.close(); }
void clear() {
top=-1; }
int addStudent(int n,char *na)//查找是否存在 {
Student *p=equal(n); if (p==NULL) {
top++;
read[top].addStudent(n,na); return 1; }
return 0; }
Student *equal(int Studentid)//按编号查找 {
for (int i=0;i<=top;i++)
if (read[i].getnumber()==Studentid &&
read[i].gettag()==0) {
return &read[i]; }
return NULL; }
void output() {
for (int i=0;i<=top;i++)
read[i].output(); }
0.0
void Studentdata();//读者库维护
~RData() //析构函数,将read[]写到Student.txt文件中 {
fstream file("Student.txt",ios::out);
for (int i=0;i<=top;i++)
if (read[i].gettag()==0)
file.write((char *)&read[i],sizeof(read[i]));
file.close(); } };
void RData::Studentdata() {
char choice; char rname[20]; int Studentid; Student *r;
while (choice!='0') {
cout<<" ┏━━━━━━━━━━━━━┓\n"; cout<<" ┃ 读 者 维 护 ┃\n"; cout<<" ┃━━━━━━━━━━━━━┃\n"; cout<<" ┃1.新 增 ┃\n"; cout<<" ┃━━━━━━━━━━━━━┃\n"; cout<<" ┃2.更 改 ┃\n"; cout<<" ┃━━━━━━━━━━━━━┃\n"; cout<<" ┃3.删 除 ┃\n"; cout<<" ┃━━━━━━━━━━━━━┃\n"; cout<<" ┃4.查 找 ┃\n"; cout<<" ┃━━━━━━━━━━━━━┃\n"; cout<<" ┃5.显 示 ┃\n"; cout<<" ┃━━━━━━━━━━━━━┃\n"; cout<<" ┃6.全 删 ┃\n";
0.0
cout<<" ┃━━━━━━━━━━━━━┃\n"; cout<<" ┃0.退出 ┃\n"; cout<<" ┗━━━━━━━━━━━━━┛\n"; //cout<<
cin >> choice;
switch (choice) {
case '1':
cout << "输入读者编号:"; cin >> Studentid;
cout << "输入读者姓名:"; cin >> rname;
addStudent (Studentid,rname); break;
case '2':
cout << "输入读者编号:"; cin >> Studentid; r=equal(Studentid);
if (r==NULL) {
cout << " 该读者不存在 "<<endl; break; }
cout << "输入新的姓名:"; cin >> rname;
r->setname(rname); break;
case '3':
cout << " 输入读者编号:"; cin >> Studentid; r=equal(Studentid);
if (r==NULL) {
cout <<" 该读者不存在" << endl; break; }
0.0
r->delbook(); break;
case '4':
cout << "读入读者编号:"; cin >> Studentid; r=equal(Studentid); if (r==NULL) {
cout <<"该读者不存在"<< endl; break; }
r->output(); break; …… 此处隐藏:4573字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [幼儿教育]【完整版】2019-2025年中国药物发现外
- [幼儿教育]2018-2019年初中信息技术广东初一竞赛
- [幼儿教育]最新外研版(一起)小学英语五年级上册《
- [幼儿教育]农业推广与创新管理专业 -中农大毕业论
- [幼儿教育]2017-2022年中国更年期用药行业市场深
- [幼儿教育]数学1.1.2第1课时棱柱、棱锥和棱台的结
- [幼儿教育]二年级群文阅读课例欣赏
- [幼儿教育]2010-2015年中国保险行业投资分析及深
- [幼儿教育]厄运打不垮的信念第一课时
- [幼儿教育]巧用文本,让表达在言语中绽放论文
- [幼儿教育]中学生百科知识竞赛题及答案
- [幼儿教育]八大菜系英文简介
- [幼儿教育]中国男装牛仔裤市场发展研究及投资前景
- [幼儿教育]远程数字视频监控系统在银行的应用
- [幼儿教育]光纤光缆制造工艺及设备
- [幼儿教育]国家安全法试题及答案
- [幼儿教育]2011高中提前招生及竞赛试题(物理卷1)
- [幼儿教育]宁夏第三产业房地产业、科学研究和技术
- [幼儿教育]中兴通讯 ME3000模块用户硬件设计手册_
- [幼儿教育]紫外线灯管的辐照强度问题
- 苏联东欧剧变的原因和历史教训浅析
- 人工智能导论实验报告(学生)
- 思科ITE章考试原题及答案
- 《学习雷锋好榜样》主题班会教案
- 加油站建设项目安全评价报告
- 剖析社保卡管理系统
- 2017-2018年影视剧新媒体版权运营行业
- 2017-2018学年四川省成都市高一上学期
- 2019最新高中数学 第三章 3.2.1 几类不
- 2011-2015年中国基酸市场调查及行业前
- 人教版新课标选修八Unit 1 课件Warming
- 郭溪燎原小学辅导学生记录表
- 教师资格证统考综合素质写作秘笈
- 国外校园绿色建筑研究方向与建设实践
- 15.1 动物运动的方式 课件(北师大版八
- 民用飞机空调系统
- 长安侠文化传统与唐诗的任侠主题
- 《中国近现代史纲要》名词解释
- 11金本《保险学概论》复习资料
- 民用建筑机电安装工程专业施工图图纸会




