C语言某高校图管理.docx

上传人:b****5 文档编号:6238381 上传时间:2023-01-04 格式:DOCX 页数:11 大小:56.56KB
下载 相关 举报
C语言某高校图管理.docx_第1页
第1页 / 共11页
C语言某高校图管理.docx_第2页
第2页 / 共11页
C语言某高校图管理.docx_第3页
第3页 / 共11页
C语言某高校图管理.docx_第4页
第4页 / 共11页
C语言某高校图管理.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

C语言某高校图管理.docx

《C语言某高校图管理.docx》由会员分享,可在线阅读,更多相关《C语言某高校图管理.docx(11页珍藏版)》请在冰豆网上搜索。

C语言某高校图管理.docx

C语言某高校图管理

课程设计任务书

某高校图书管理系统

(1)

一、课程设计时间

2009~10第2学期第1周,共计1周,20学时。

二、课程设计内容

用C语言编写软件完成以下任务:

1录入图书信息(根据图书馆的管理情况自行设定,要具有实用性);

2借书处理(数量不足三本,不予外借,并显示相应的提示信息);

3还书处理。

三、课程设计要求

1.程序质量:

✧贯彻结构化的程序设计思想。

✧用户界面友好,功能明确,操作方便。

✧用户界面中的菜单至少应包括“图书信息录入”、“借书处理”、“还书处理”、“退出”4项。

✧代码应适当缩进,并给出必要的注释,以增强程序的可读性。

2.课程设计说明书:

课程结束后,上交课程设计说明书和源程序。

课程设计说明书的格式和内容参见提供的模板。

四、指导教师和学生签字

指导教师:

________学生签名:

________

五、说明书成绩

六、教师评语

目录

一、需求分析1

二、程序流程图2

三、核心技术的实现说明及相应程序段4

四、课设总结9

五、参考文献10

六、源程序10

一、需求分析

经过对程序设计题目的分析可知,整个程序的设计实现大致分为四个模块,每一个模块对应一个函数。

他们的功能分别是:

录入图书函数,借阅图书函数,归还图书函数和查询图书库存函数。

这些函数的实现严格按照题目的要求。

1.录入图书函数主要实现程序最初运行时图书数据的录入以及其后的运行中学图书数据的追加功能;

2.借阅图书函数按照题目的具体要求实现的是学生可以借阅图书馆现存的图书的功能;

3.归还图书函数实现的是图书的归还并在现有数量上得以保存的功能;

4.查询图书库存函数实现的是图书归还后图书馆的现存图书的数量进行查询;

除上面介绍的功能之外,程序还具有退出功能,可以在程序的一次运行当中循环执行所有的功能,并根据需要终止程序的执行。

在程序当中,将图书记录类型定义为结构体类型。

图书都有编号、名称、作者、现有数量的相关信息。

二、程序流程图

1.程序总体结构图

输入i=1?

录入

图书

输入i=2?

借阅图书

输入i=3?

归还图书

输入i=4?

图书查询

输入i=5?

退出

图1程序总体结构图

2.具体功能框图

(1)录入图书函数luru()

图2录入图书信息函数

(2)借阅图书函数jieyue()

图3借阅图书函数

(3)归还图书函数guihuan()

图4归还图书函数

(4)查询图书现有库存函数chaxun()

图5查询图书现有库存函数

三、核心技术的实现说明及相应程序段

本程序主要由四个自定义函数和一个主函数组成,其中主函数以菜单的形式调用其它函数来实现要求的所有功能。

在这些函数当中,录入图书信息函数、借阅图书函数、归还图书函数和查询现存图书函数是程序中较为核心的部分,下面分别进行说明。

1.录入图书函数

该函数是录入图书函数,录入图书信息包含录入图书的数量,图书编号,图书名称,图书作者,图书现存量。

具体的程序段如下:

voidluru()

{

inti。

printf("请输入要录入的图书数量,按回车键确认:

")。

scanf("%d",&numb)。

for(i=0。

i

i++)

{

printf("\n请输入书的编号:

")。

scanf("%s",book[i].num)。

if(book[i].num<0)return。

printf("\n请输入书的名称:

")。

scanf("%s",book[i].name)。

printf("\n请输入书的作者:

")。

scanf("%s",book[i].writer)。

printf("\n请输入此书的数量:

")。

scanf("%d",&book[i].n)。

printf("录入成功。

\n")。

}。

}

2.借阅图书函数

输入所要借阅的图书的编号,因为图书的编号唯一的。

然后查阅书的现有库存情况,如果库存少于三本,该书将不予外借,并给予提示,如果库存大于等于三本时,提示借阅成功。

显示图书的现有库存量减少一本.具体程序段如下:

voidjieshu()

{

inti。

charbianhao[10]。

printf("请输入你要借阅的书的编号\n")。

scanf("%s",bianhao)。

for(i=0。

i++)

if(strcmp(book[i].num,bianhao)==0)

{

if(book[i].n<3)

{

printf("不外借\n")。

return。

}

else

{

printf("借书成功\n")。

book[i].n--。

printf("%s%s%s%d\n",book[i].num,book[i].name,book[i].writer,book[i].n)。

return。

}

}

}

3.归还图书函数

输入归还图书的编号,如果所输入的编号在已借阅的图书的编号中,显示归还图书成功,并使图书的现有库存量增加一本。

具体的程序段如下:

voidhuanshu()

{

charbianhao[10]。

inti。

printf("请输入你要归还书的编号\n")。

scanf("%s",bianhao)。

for(i=0。

i++)

if(strcmp(book[i].num,bianhao)==0)

{

printf("还书成功\n")。

book[i].n++。

printf("%s%s%s%d\n",book[i].num,book[i].name,book[i].writer,book[i].n)。

return。

}

}

4.查询图书现有库存信息

主要功能是了解图书现有库存情况。

具体程序段如下:

voidchaxun()

{

inti。

for(i=0。

i

i++)

printf("%s%s%s%d\n",book[i].num,book[i].name,book[i].writer,book[i].n)。

}

四、课设总结

通过这次的课程设计训练,理论和具体实践相结合,才能使我们所学的知识有所用途。

通过亲自动手动脑,学到了很多书本上学不到的知识,坚定了自己实践的决心。

计算机的重要性也是不容忽视的,最重要的当属编程了。

在编程的过程中,遇到的问题和困难,在老师的指导下,我通过努力,把最后难关突破。

细节决定成败,真的应了这句话,所以不得有丝毫的马虎,才能保证程序的正常运行,激发了我的创造力。

五、参考文献

1谭浩强.C程序设计.北京:

清华大学出版社,2005

2刘成等.C语言程序设计实验指导与习题集.北京:

中国铁道出版社,2006

六、源程序

#include

#include

#include

#include

structbook

{

charnum[20]。

charname[20]。

charwriter[20]。

intn。

}。

structbookbook[100]。

intnumb。

voidluru()

{

inti。

printf("请输入要录入的图书数量,按回车键确认:

")。

scanf("%d",&numb)。

for(i=0。

i

i++)

{

printf("\n请输入书的编号:

")。

scanf("%s",book[i].num)。

if(book[i].num<0)return。

printf("\n请输入书的名称:

")。

scanf("%s",book[i].name)。

printf("\n请输入书的作者:

")。

scanf("%s",book[i].writer)。

printf("\n请输入此书的数量:

")。

scanf("%d",&book[i].n)。

printf("录入成功。

\n")。

}。

}

voidjieshu()

{

inti。

charbianhao[10]。

printf("请输入你要借阅的书的编号\n")。

scanf("%s",bianhao)。

for(i=0。

i++)

if(strcmp(book[i].num,bianhao)==0)

{

if(book[i].n<3)

{

printf("不外借\n")。

return。

}

else

{

printf("借书成功\n")。

book[i].n--。

printf("%s%s%s%d\n",book[i].num,book[i].name,book[i].writer,book[i].n)。

return。

}

}

}

voidhuanshu()

{

charbianhao[10]。

inti。

printf("请输入你要归还书的编号\n")。

scanf("%s",bianhao)。

for(i=0。

i++)

if(strcmp(book[i].num,bianhao)==0)

{

printf("还书成功\n")。

book[i].n++。

printf("%s%s%s%d\n",book[i].num,book[i].name,book[i].writer,book[i].n)。

return。

}

}

voidchaxun()

{

inti。

for(i=0。

i

i++)

printf("%s%s%s%d\n",book[i].num,book[i].name,book[i].writer,book[i].n)。

}

voidmenu()

{

printf("************************图书管理系统***************************\n")。

printf("制作者:

李晶晶指导教师:

王晓岩\n")。

{

printf("1录入图书信息\n2借阅图书信息\n3归还图书信息\n4查询现存图书总数\n5退出\n")。

}

}

voidmain()

{intn。

while

(1)

{

menu()。

printf("\n请输入您要选择的操作序号,按回车键确认:

")。

scanf("%d",&n)。

switch(n)

{

case1:

luru()。

break。

case2:

jieshu()。

break。

case3:

huanshu()。

break。

case4:

chaxun()。

break。

case5:

exit(0)。

default:

printf("输入错误,请输入列表中存在的序号!

\n")。

}

}

}

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

当前位置:首页 > 党团工作 > 入党转正申请

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

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