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

上传人:b****5 文档编号:3237108 上传时间:2022-11-20 格式:DOCX 页数:30 大小:66.20KB
下载 相关 举报
图书管理系统含源代码c语言 数据结构课程设计报告.docx_第1页
第1页 / 共30页
图书管理系统含源代码c语言 数据结构课程设计报告.docx_第2页
第2页 / 共30页
图书管理系统含源代码c语言 数据结构课程设计报告.docx_第3页
第3页 / 共30页
图书管理系统含源代码c语言 数据结构课程设计报告.docx_第4页
第4页 / 共30页
图书管理系统含源代码c语言 数据结构课程设计报告.docx_第5页
第5页 / 共30页
点击查看更多>>
下载资源
资源描述

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

《图书管理系统含源代码c语言 数据结构课程设计报告.docx》由会员分享,可在线阅读,更多相关《图书管理系统含源代码c语言 数据结构课程设计报告.docx(30页珍藏版)》请在冰豆网上搜索。

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

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

《算法与数据结构》

课程设计实验报告

 

设计题目:

图书管理

专业:

计算机科学与技术

班级:

学生姓名:

学号:

指导教师:

2011年7月

烟台大学计算机学院

一题目要求

1目的要求

本课程设计任务的目的是要求学生按照分析、设计、编码、调试和测试的软件开发过程独立完成管理系统设计,以及C语言算法的掌握,并能最终实现本系统的功能要求,通过这个程序可以学习到以前调试短程序没有的的经验。

2、题目要求

实现图书管理信息系统的设计。

要求实现图书添加、显示全部图书、查询、借阅和归还。

主要考查利用文件的操作!

二总体设计

图书数据:

书号,书名,图书ID,图书状态,借阅次数

1.借书模块:

输入图书ID

如果存在提示借阅成功,如果没有或已借出提示借阅失败

2.还书模块:

输入图书ID

进行还书操作

3.图书管理:

对书库中书进行管理

新书入库

对库存量进行统计和查询

4.查询模块:

对书库中书进行查询

根据图书ID进行查询

三编码实现

定义图书结构体

structBook

{

intid;

//图书的编号

charname[20];

//图书名字

inttype;

//图书类型

intstatus;

//图书现在状态

intcount;

//图书借出的次数

};

定义图书类型

typedefstructBookBook;

Bookdata[Max];

intall=0;

//添加图书类型,用户信息显示

charBookTypes[][32]=

{

"文学",

"中文社科",

"自然科学",

"计算机",

"报刊/杂志",

"",

};

添加图书状态

charBookStatus[][32]=

{

"在架上",

"已借出",

"",

};

图书管理菜单

charBookMenu[][32]=

{

"添加图书",

"列出图书",

"查找图书",

"借书",

"还书",

"退出",

"",

};

实现程序对文件的读取

voidRead()

{

inti=0;

intj=0;

ifstreamin("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();

}

对写入信息进行保存

voidSave()

{

inti=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函数

intmain()

{

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)

{

case1:

//添加图书信息

PutInfor();

break;

case2:

Read();

Printall();

break;

case3:

system("cls");

Read();

searchBook();

break;

case4:

system("cls");

Read();

Borrow();

break;

case5:

system("cls");

Read();

Return();

break;

case6:

loop=0;

break;

default:

break;

}

printf("\n-------------------------------分割线----------------------------------\n\n");

}

return0;

四调试与测试

主菜单

生成的文件内信息

五心得体会

首先,写程序应先确定目标要求,所用平台和工具,不求最好,但求最适合自己。

开始时决定用MFC但是我对MFC的了解就像它对我的了解一样多,一天之后果断和它说再见,我不想把仅有时间用在学习一门工具上。

其次是代码的编写,最主要的的是编程思想,语言其实不是太重要,思路最重要!

在此感谢一下在我卡壳时帮助我的同学和解答的老师,虽然我没问什么,还是要感谢一下!

 

附录:

源代码1

此代码为此报告所用代码,有文件操作,运行后会生成一Libra.txt文件

#include

#include

#include

#include

#include

#include

#include

#include

#include

#defineBORROWED1

#defineNOBORROW0

#defineMax100

voidSave();

voidRead();

intBinSearch(intkey);

//定义图书结构体

structBook

{

intid;

//图书的编号

charname[20];

//图书名字

inttype;

//图书类型

intstatus;

//图书现在状态

intcount;

//图书借出的次数

};

//定义图书类型

typedefstructBookBook;

Bookdata[Max];

intall=0;

//添加图书类型,用户信息显示

charBookTypes[][32]=

{

"文学",

"中文社科",

"自然科学",

"计算机",

"报刊/杂志",

"",

};

//添加图书状态

charBookStatus[][32]=

{

"在架上",

"已借出",

"",

};

//图书管理菜单

charBookMenu[][32]=

{

"添加图书",

"列出图书",

"查找图书",

"借书",

"还书",

"退出",

"",

};

//菜单输出

voidprint_menu(charmenus[][32])

{

intn=0;

printf("请输入所需选项:

\n");

while(strlen(menus[n]))

{

printf("%d%s\n",n+1,menus[n]);

++n;

}

printf("请选择(");

while(n)

{

printf("%d|",n--);

}

printf(")");

}

voidRead()

{

inti=0;

intj=0;

ifstreamin("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();

}

voidPutInfor()//信息输入函数

{

all++;

cout<<"输入图书ID:

"<

cin>>data[all].id;

cout<<"输入图书名字:

"<

cin>>data[all].name;

cout<<"输入图书类别:

"<

print_menu(BookTypes);

cin>>data[all].type;

Save();

Read();

cout<<"输入完成!

"<

}

voidBorrow()//借阅图书

{

intk=0;

BookB;

cout<<"输入所要借阅图书ID:

"<

cin>>B.id;

k=BinSearch(B.id);

if(k==0)

cout<<"*无此书信息,可能是输入错误!

*"<

else{

ofstreamoutfile;//在Libra.txt文件中输入数据

outfile.open("Libra.txt",ios:

:

trunc);

outfile<

data[k].status=1;

for(inti=1;i<=all;i++)

{

if(i==k)

{

data[k].status=1;

data[k].count++;

outfile<

outfile<

outfile<

outfile<

outfile<

}

else

{

outfile<

outfile<

outfile<

outfile<

outfile<

}

}

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 英语

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1