明天要交,能写完的,我追加200分

kingteng 2009-01-12 11:19:48
图书的详细信息应存储在一个名为 book.dat 的文件中,该文件应包含下列详细信息:

 代码(从 1 开始按顺序编码);
 名称(最多 30 个字符);
 出版商的名字(最多 30 个字符);
 作者的名字(最多 30 个字符);
 出版日期;
 价格;
 可用性状态(“A”代表可借阅,“I”代表已被借阅);

期刊的详细信息应存储在一个名为 periodical.dat 的文件中,该文件应包含下列详细信息:

 代码(从 1 开始按顺序编码);
 名称(最多 30 个字符);
 出版商的名字(最多 30 个字符);
 周期(“F”代表两周,“M”代表一个月,“S”代表六个月,“Y”代表一年);

每种期刊每一期的详细信息应保存在一个名为 issue.dat 的文件中,该文件应包含下列详细信息:

 期刊代码;
 发行期数;
 发行日期;
 价格;
 可用性状态(“A”代表可借阅,“I”代表已被借阅);

资料库管理系统应以下列菜单开始:

LIBRARY MANAGEMENT SYSTEM

1. Add new Book details
2. Add new Periodical details
3. Record Issue/Return details
4. Delete old Periodical Issue details
5. View Available Books/Periodicals
6. Exit

Enter choice:
根据用户的选择,将执行下列操作:

 Add new Book details(添加新书的详细信息)

通过访问 book.dat 文件中最后一本书的代码并将其加 1 生成新图书代码,接受图书的详细信息,确保书名、出版商名及作者名不为空,接受出版日期,确认书的价格大于 0,书的可用性状态不应接受,而应设为“A”,将记录保存到 book.dat 文件中。
 Add new Periodical details(添加新期刊的详细信息)

询问用户是添加新期刊详细信息还是添加期刊的新一期的详细信息,根据用户的输入,执行下列任务:

• 新期刊:通过访问 periodical.dat 文件中最后一种期刊的代码并将其加 1 生成新期刊代码,接受新期刊的详细信息,确保期刊的名称和出版商的名字不为空,确认输入的周期是有效值,将记录保存到 periodical.dat 文件中。

• 新一期:接受期刊代码,并确保 periodical.dat 文件中存在该代码,接受发行期数,并确认 issue.dat 文件中不存在该期的详细信息,接收发行日期,确认该期的价格大于 0,该期的可用性状态不应被接受,而应设为“A”,将记录保存到 issue.dat 文件中。

添加期刊新一期详细信息的屏幕如图 4 所示,其中,必须输入特定期刊的发行期数、日期和价格,例如,假设接受一个名为“Oracle 杂志”的月刊,从一月开始,则可以输入 1 作为一月份的发行期数,该期刊二月份的发行期数为 2 ,依次类推。 Record Issue/Return details(记录借阅/归还的详细信息)

接受用户的事务类型,询问用户本次事务是关于图书还是关于期刊的某一期,根据事务的类型,更新该图书或该期期刊的可用性状态,如果事务类型是“Issue”,则状态应设置为“I”,如果类型是“Return”,则状态应设置为“A”。

 Delete old Periodical Issue details(删除旧期刊某一期的详细信息)

接受期刊代码和发行期数,从 issue.dat 文件中删除所有小于输入的发行期数的那些期的记录。
 View Available Books/Periodicals(查看可用的图书/期刊)

询问用户要查看图书还是期刊的详细信息,根据用户的输入,显示可用图书或期刊各期的清单。

 Exit(退出)

关闭程序,并退出资料库管理系统。

应在整个系统中应用面向对象编程的概念,在系统的所有功能点处显示相应的消息。

第四部分:对应的知识点

一:高级函数特性

显示菜单并接受选项,根据输入的选项,调用函数以显示相应的消息,告知用户所选择的选项。

二:流

为图书、期刊和期刊的某一期创建类,接受并显示每一个类的数据。

三:文件操作和异常

根据菜单选项创建函数,调用函数来添加图书、添加期刊,并执行借出和归还、删除和查看等操作。

新书将添加到 book.dat 文件中,新期刊将被写入 periodical.dat 文件,而期刊各期的详细信息将存储在 issue.dat 文件中。

使用文件输入/输出流 (fstream) 函数来执行下列操作:

- open 打开文件;
- close 关闭文件;
- seekg 设置 get 指针的位置;
- write 将字符序列写入文件;
- read 读取数据块;

四:多态

将图书和期刊类的公共元素合并到基类中,适当地修改图书类和期刊类的数据项和函数来继承基类。
...全文
109 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
Wolf0403 2009-01-12
  • 打赏
  • 举报
回复
不点评了,直接锁。
flydream1980 2009-01-12
  • 打赏
  • 举报
回复
顶1楼说的好啊
waizqfor 2009-01-12
  • 打赏
  • 举报
回复
so so long 啊 这么长的说明 看来这题也不能太难 课程设计题 LZ把class定义好 然后写几个调用函数就行了
不太想写这样程序 LS说得有道理 把代码给你了 等于害你
arong1234 2009-01-12
  • 打赏
  • 举报
回复
分不是万能的,不要把这种东西当作“交易”的对象,作业是只有无聊的人才帮你做的

这样对你自己页没好处,有机会学习,就认真一点,否则找工作时就苦了
内容概要:本文围绕“粒子群优化算法驱动的永磁同步电机电流环多参数协同辨识研究”,提出一种基于Simulink仿真实现的高精度参数辨识方法,旨在解决永磁同步电机(PMSM)在高性能电流控制中因关键参数(如电感、电阻、永磁磁链等)不准确或时变所导致的控制性能下降问题。研究构建了PMSM的精确数学模型,并在Simulink环境中搭建整的电流环控制系统仿真平台,创新性地引入粒子群优化算法(PSO)对多个关键参数进行在线或多工况下的协同辨识。文中详细阐述了PSO算法的核心机制、适应度函数的设计原则(通常基于模型输出与实际响应的误差最小化)、参数初始化与收敛判据,并通过大量仿真实验验证了该方法在不同负载和运行条件下的辨识精度、收敛速度与强鲁棒性,有效提升了电流环的动态响应能力、抗干扰性和整体控制系统的稳定性。; 适合人群:具备电机控制理论、现代智能优化算法基础及MATLAB/Simulink仿真能力,从事电气工程、自动化控制、新能源汽车电驱动系统等领域的高校研究生、科研人员及企业研发工程师。; 使用场景及目标:①应用于高精度伺服驱动、电动汽车电驱系统等对电机参数敏感的高端装备中,实现控制器的精细化标定与自适应;②为智能优化算法在复杂非线性系统参数辨识领域的工程应用提供整的仿真案例和技术范本;③服务于电机控制系统的故障诊断、性能评估及下一代自整定控制器的研发。; 阅读建议:建议读者结合提供的Simulink模型与MATLAB代码进行动手实践,重点剖析PSO算法与电机模型的耦合机制,深入理解适应度函数的构建逻辑,并可进一步尝试将该方法拓展至温度补偿、磁饱和等非线性因素的联合辨识,或迁移至其他类型的电机(如感应电机)控制中,以深化对数据驱动与模型驱动融合控制策略的理解。

65,210

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧