图书管理系统(含源代码)c语言 数据结构课程设计报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《算法与数据结构》
课程设计实验报告
设计题目:图书管理
专业:计算机科学与技术
班级:
学生姓名:
学号:
指导教师:
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;
// 图书借出的次数
};
定义图书类型typedefstruct Book Book;
Book data[Max];
int all = 0;
// 添加图书类型,用户信息显示charBookTypes[][32] =
{
"文学",
"中文社科",
"自然科学",
"计算机",
"报刊/杂志",
"",
};
添加图书状态
charBookStatus[][32] =
{
"在架上",
"已借出",
"",
};
图书管理菜单
charBookMenu[][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;
ofstreamoutfile; //在Libra.txt文件中输入数据
outfile.open("Libra.txt",ios::trunc);
outfile< for(;all>0;all--) { i++; outfile< outfile< outfile< outfile< outfile< } cout< outfile.close(); //exit(1); } Main函数 int main() { intch = 0,i,loop = 1; while(loop) { Read(); print_menu(BookMenu); scanf("%d",&ch); if (ch< 1 || ch> 6) { printf("\n没有所输选项,请确定所输入选项为1-6中的选项!!\n"); printf("\n"); } switch(ch) { case 1://添加图书信息 PutInfor(); break; case 2: Read(); Printall(); break; case 3: system("cls"); Read(); searchBook(); break; case 4: system("cls"); Read(); Borrow(); break; case 5: system("cls"); Read(); Return(); break; case 6: loop=0; break; default: break; } printf("\n-------------------------------分割线----------------------------------\n\n"); } return 0;