《算法与数据结构》 课程设计实验报告 设计题目:图书管理 专业: 计算机科学与技术 班级: 学生姓名: 学号: 指导教师: 2011 年 7 月 烟台大学计算机学院 一 题目要求 1 目的要求 本课程设计任务的目的是要求学生按照分析、设计、编码、调试和测试的软件开发过程独立完成管理系统设计,以及 C 语言算法的掌握,并能最终实现本系统的功能要求,通过这个程序可以学习到以前调试短程序没有的的经验。 2、题目要求 实现图书管理信息系统的设计。要求实现图书添加、显示全部图书、查询、借阅和归还。主要考查利用文件的操作! 二 总体设计 图书数据:书号,书名,图书 ID,图书状态,借阅次数 1. 借书模块:输入图书 ID 如果存在提示借阅成功,如果没有或已借出提示借阅失败 2.还书模块:输入图书 ID 进行还书操作 3.图书管理:对书库中书进行管理 新书入库 对库存量进行统计和查询 4.查询模块:对书库中书进行查询 根据图书ID 进行查询 三 编码实现 定义图书结构体 struct Book { int id; //图书的编号 char name[20]; //图书名字 int type; //图书类型 int status; //图书现在状态 int count; // 图书借出的次数 }; 定义图书类型 typedef struct Book Book; Book data[Max]; int all = 0; // 添加图书类型,用户信息显示 char BookTypes[][32] = { "文学", "中文社科", "自然科学", "计算机", "报刊/杂志", "", }; 添加图书状态 char BookStatus[][32] = { "在架上", "已借出", "", }; 图书管理菜单 char BookMenu[][32] = { "添加图书", "列出图书", "查找图书", "借书", "还书", "退出", "", }; 实现程序对文件的读取 void Read() { int i=0; int j=0; ifstream in("Libra.txt",ios::out); in>>i; all=i; if(i>0&&i<=Max) { for(j=1;j<=i;j++) { in>>data[j].id>>data[j].name>>data[j].type>>data[j].status>>data[j].count; } } in.close(); } 对写入信息进行保存 void Save() { int i=0; ofstream outfile; //在Libra.txt 文件中输入数据 outfile.open("Libra.txt",ios::trunc); outfile<
0;all--) { i++; outfile<