CCAT-S1试题-图书管理系统

2023-11-03 08:40

本文主要是介绍CCAT-S1试题-图书管理系统,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

/*
*程序的版权和版本声明部分:
*Copyright(c)2014,烟台大学计算机学院学生
*All rights reserved.
*文件名称:
*作者:田成琳
*完成日期:2014 年 5 月 18 日
*版本号:v1.0
*对任务及求解方法的描述部分:
*输入描述: -
*问题描述:图书信息管理系统
*程序输出:图书信息
*问题分析:
*算法设计:
*/
#include<iostream>
#include<cstdlib>
#include<iomanip>
#include<string>
using namespace std;
void menu(); //菜单
void findMenu(); //查书界面
void showBook(int);//显示图书信息
int size=0; //记录当前图书数量
class Book
{
public:void addBook(); //增加图书void findBookName(string); //名称查找图书void findBookNumber(string);//编号查找图书void findBookAuthor(string);//作者查找图书void findBookAddress(string);//出版社查找图书void display(); //显示所有图书信息string getName(){return name;}string getNumber(){return number;}string getAuthor(){return author;}string getAddress(){return address;}double getPrice(){return price;}
private:string name,author,number,address; //书名,作者,编号,出版社double price; //价格
};
Book b[20];int main()
{int choose;do{menu();cin>>choose;if(choose==1)b[size].addBook();else if(choose==2)findMenu();else if(choose==3)b[size].display();else if(choose==0)exit(0);elsemenu();}while(choose!=0);return 0;
}void Book::addBook()
{char yrn;cout<<"图书编号:";cin>>b[size].number;cout<<"图书名称:";cin>>b[size].name;cout<<"作者:";cin>>b[size].author;cout<<"出版社:";cin>>b[size].address;cout<<"价格:";cin>>b[size].price;cout<<"增加成功!"<<endl;showBook(size);size+=1;cout<<"是否继续添加?是(Y/y)否(N/n)";cin>>yrn;if(yrn=='y'||yrn=='Y')Book::addBook();
}void findBookNumber(string Bnumber)
{bool flag=false;int i;for(i=0; i<=size; ++i){if(b[i].getNumber()==Bnumber){flag=true;break;}}if(flag)showBook(i);elsecout<<"查无此书!";findMenu();
}void findBookName(string Bname)
{bool flag=false;int i;for(i=0; i<=size; ++i){if(b[i].getName()==Bname){flag=true;break;}}if(flag)showBook(i);elsecout<<"查无此书!";findMenu();
}void findBookAuthor(string Bauthor)
{bool flag=false;int i;for(i=0; i<=size; ++i){if(b[i].getAuthor()==Bauthor){flag=true;break;}}if(flag)showBook(i);elsecout<<"查无此书!";findMenu();
}void findBookAddress(string Baddress)
{bool flag=false;int i;for(i=0; i<=size; ++i){if(b[i].getAddress()==Baddress){flag=true;break;}}if(flag)showBook(i);elsecout<<"查无此书!";findMenu();
}void Book::display()
{for(int i=0; i<size; ++i)showBook(i);findMenu();
}void showBook(int n)
{cout<<"-------------------------------------------------------"<<endl;cout<<"图书编号      图书名称      作者        出版社      价格"<<endl;cout<<b[n].getNumber()<<setw(20)<<b[n].getName();cout<<setw(8)<<b[n].getAuthor()<<setw(16)<<b[n].getAddress();cout<<setw(6)<<b[n].getPrice()<<endl;cout<<"-------------------------------------------------------"<<endl;
}void findMenu()
{bool flag=true;int choose;string name,number,address,author;while(flag){cout<<"-----------------------"<<endl;cout<<"---  1  根据图书编号---"<<endl;cout<<"---  2  根据图书名称---"<<endl;cout<<"---  3  根据图书作者---"<<endl;cout<<"---  4  根据出版社-----"<<endl;cout<<"---  5  返回主菜单-----"<<endl;cin>>choose;switch(choose){case 1:cout<<"请输入编号:";cin>>number;findBookNumber(number);break;case 2:cout<<"请输入书名:";cin>>name;findBookName(name);break;case 3:cout<<"请输入作者:";cin>>author;findBookAuthor(author);break;case 4:cout<<"请输入出版社:";cin>>address;findBookAddress(address);break;case 5:flag=false;break;}}
}void menu()
{cout<<"------------------------"<<endl;cout<<"----- 图书管理系统----- "<<endl;cout<<"------------------------"<<endl<<endl;cout<<"------------------------"<<endl;cout<<"----   1  增加图书  ----"<<endl;cout<<"----   2  查找图书  ----"<<endl;cout<<"----   3  显示全部  ----"<<endl;cout<<"----   0  退出系统  ----"<<endl;cout<<"请选择业务:";
}


运行结果:

心得体会:有点像数据库

这篇关于CCAT-S1试题-图书管理系统的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/336965

相关文章

2024年流动式起重机司机证模拟考试题库及流动式起重机司机理论考试试题

题库来源:安全生产模拟考试一点通公众号小程序 2024年流动式起重机司机证模拟考试题库及流动式起重机司机理论考试试题是由安全生产模拟考试一点通提供,流动式起重机司机证模拟考试题库是根据流动式起重机司机最新版教材,流动式起重机司机大纲整理而成(含2024年流动式起重机司机证模拟考试题库及流动式起重机司机理论考试试题参考答案和部分工种参考解析),掌握本资料和学校方法,考试容易。流动式起重机司机考试技

Vue3项目开发——新闻发布管理系统(六)

文章目录 八、首页设计开发1、页面设计2、登录访问拦截实现3、用户基本信息显示①封装用户基本信息获取接口②用户基本信息存储③用户基本信息调用④用户基本信息动态渲染 4、退出功能实现①注册点击事件②添加退出功能③数据清理 5、代码下载 八、首页设计开发 登录成功后,系统就进入了首页。接下来,也就进行首页的开发了。 1、页面设计 系统页面主要分为三部分,左侧为系统的菜单栏,右侧

工厂ERP管理系统实现源码(JAVA)

工厂进销存管理系统是一个集采购管理、仓库管理、生产管理和销售管理于一体的综合解决方案。该系统旨在帮助企业优化流程、提高效率、降低成本,并实时掌握各环节的运营状况。 在采购管理方面,系统能够处理采购订单、供应商管理和采购入库等流程,确保采购过程的透明和高效。仓库管理方面,实现库存的精准管理,包括入库、出库、盘点等操作,确保库存数据的准确性和实时性。 生产管理模块则涵盖了生产计划制定、物料需求计划、

CSP 2023 提高级第一轮 CSP-S 2023初试题 完善程序第二题解析 未完

一、题目阅读 (最大值之和)给定整数序列 a0,⋯,an−1,求该序列所有非空连续子序列的最大值之和。上述参数满足 1≤n≤105 和 1≤ai≤108。 一个序列的非空连续子序列可以用两个下标 ll 和 rr(其中0≤l≤r<n0≤l≤r<n)表示,对应的序列为 al,al+1,⋯,ar​。两个非空连续子序列不同,当且仅当下标不同。 例如,当原序列为 [1,2,1,2] 时,要计算子序列 [

STL经典案例(四)——实验室预约综合管理系统(项目涉及知识点很全面,内容有点多,耐心看完会有收获的!)

项目干货满满,内容有点过多,看起来可能会有点卡。系统提示读完超过俩小时,建议分多篇发布,我觉得分篇就不完整了,失去了这个项目的灵魂 一、需求分析 高校实验室预约管理系统包括三种不同身份:管理员、实验室教师、学生 管理员:给学生和实验室教师创建账号并分发 实验室教师:审核学生的预约申请 学生:申请使用实验室 高校实验室包括:超景深实验室(可容纳10人)、大数据实验室(可容纳20人)、物联网实验

使用Spring Boot集成Spring Data JPA和单例模式构建库存管理系统

引言 在企业级应用开发中,数据库操作是非常重要的一环。Spring Data JPA提供了一种简化的方式来进行数据库交互,它使得开发者无需编写复杂的JPA代码就可以完成常见的CRUD操作。此外,设计模式如单例模式可以帮助我们更好地管理和控制对象的创建过程,从而提高系统的性能和可维护性。本文将展示如何结合Spring Boot、Spring Data JPA以及单例模式来构建一个基本的库存管理系统

【干货分享】基于SSM的体育场管理系统的开题报告(附源码下载地址)

中秋送好礼 中秋佳节将至,祝福大家中秋快乐,阖家幸福。本期免费分享毕业设计作品:《基于SSM的体育场管理系统》。 基于SSM的体育场管理系统的开题报告 一、课题背景与意义 随着全民健身理念的深入人心,体育场已成为广大师生和社区居民进行体育锻炼的重要场所。然而,传统的体育场管理方式存在诸多问题,如资源分配不均、预约流程繁琐、数据统计不准确等,严重影响了体育场的使用效率和用户体验。

基于SSM+Vue+MySQL的可视化高校公寓管理系统

系统展示 管理员界面 宿管界面 学生界面 系统背景   当前社会各行业领域竞争压力非常大,随着当前时代的信息化,科学化发展,让社会各行业领域都争相使用新的信息技术,对行业内的各种相关数据进行科学化,规范化管理。这样的大环境让那些止步不前,不接受信息改革带来的信息技术的企业随时面临被淘汰,被取代的风险。所以当今,各个行业领域,不管是传统的教育行业

图书管理系统系统分享

分享一个图书管理系统,Java、SpringBoot、Vue和MySQL开发的图书馆管理系统 gitee项目地址:https://gitee.com/yuanmomoya/open-source-project/tree/master/books-management-system GitHub项目地址:https://github.com/yuanmomoya/open-source-pro

基于springboot+vue+uniapp的“共享书角”图书借还管理系统小程序

开发语言:Java框架:springboot+uniappJDK版本:JDK1.8服务器:tomcat7数据库:mysql 5.7(一定要5.7版本)数据库工具:Navicat11开发软件:eclipse/myeclipse/ideaMaven包:Maven3.3.9 系统展示 后台登录界面 管理员功能界面 出借者管理 图书信息管理 图书归还管理 出租收入管理