图书管理系统(含源代码)c语言 数据结构课程设计报告

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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;

相关文档
最新文档