课程名称程序设计课程设计
项目名称图书馆图书基本信息管理软件设计。
班级 11 级软件工程2班。
实验室名称(或课室) ss1-305
专业软件工程。
任课教师张军。
学号 11251104214
姓名何玉平。
广东商学院教务处制
分数。评语:
指导教师(签名。
年月日。说明:指导教师评分后,课程设计报告交院(系)办公室保存。
图书馆图书基本信息管理软件设计。
1. 系统功能要求:
本人计划编写一个图书馆图书基本信息管理系统,主要用来管理图书馆图书信息。这个系统的功能主要包括:
1),建立图书信息,每种图书类的信息有:主编,出版社,出版年,版次,isbn书号,名称,定价,拥有本数,借出本数,现余本数。
2)借出功能(被借之书“借出本数”增1,“现余本数”减1),可根据书号或名称借书。
3)归还功能(被借之书“借出本数”减1,“现余本数”增1),可根据书号或名称还书。
4)查找功能(需指定书的某项信息,查找该书目前借出、余存信息)。
5)退出程序。
2 系统总体设计思想。
1)开发与设计的总体思想。
图书馆图书基本信息管理软件算法说明:
step1 预处理,定义结构体。
step2 进入欢迎界面。
step3 选择某一种功能。
step4 根据提示输入一个数字。
step5 对于输入的字母编辑关于借出,归还,查找,退出功能的函数。
step6 如果输入的字母表示退出,退出系统。
2)系统模块结构图。
3)系统中的模块及文件说明。
头文件。头文件主要是提供外部变量常数,定义了所需要的的图书馆图书信息结构,并声明了所有用到的函数。
源文件。主要包含主函数,菜单处理函数,菜单选择函数,以及退出程序的函数,主函数用到了所有的函数。
源文件。包含输出表头的函数,增加图书信息函数以及保存图书信息的函数。
源文件。这个源文件包含了通过书号或书名找到图书序号的函数,以方便实现查询图书功能,借书功能,还书功能,还有一个查询图书信息的函数。
源文件。包含一个函数,即借书功能的函数。
源文件。包含一个函数,即还书功能的函数。
3 系统详细设计思想。
1)系统文件及函数组成、功能。
2)函数的描述。
1.头文件。
使用条件编译定义头文件。
函数原型说明。
数据结构及包含文件。
2.菜单处理。
根据菜单处理函数的参数执行对应的函数功能。
3.菜单选择。
给每一个功能指定一个数字,等待键盘键入后即可执行相应的功能。
若输入的数字不对应任何一个功能,则给出出错信息,并重新选择。
4.输出表头。
当需要显示记录信息时,可以先输出表头,这样可以方便的观察所要了解的记录信息。
5.增加图书记录信息。
如果没有记录信息存在,给出提示信息。
可以随时增加新的记录信息,然后保存在文件中。
6.保存图书记录信息。
若没有可保存的记录或文件打不开,给出提示信息。
存储成功返回0,否则返回-1
7.寻找欲查询或欲借出或欲归还的图书的在结构数组的序号。
函数原型:int findnum(char* target,int targetype,int from)可以按图书名查找,也可以按书号查询,返回序号数。
参数target表示欲查找的纪录的某一项与target相同。
参数 targetype表明通过通过哪一项来查找,0为书名,1为学号。
参数from表示从第from个记录开始查找。
8.查询记录信息。
若文件中没有任何书类信息或不存在这本书,则给出提示信息。
可以通过书名或书号来查询。
给出所要查询的书的信息。
9.借出一本书。
可以按书名或书号来借出一本书。
若没有这类书,则给出提示信息。
找到这个记录后,对记录修改后就保存在文件中。
10.归还一本书。
可以按书名或书号来归还一本书。
若没有这类书,则给出提示信息。
找到这个记录后,对记录修改后就保存在文件中。
3)函数的实现**。
主函数:int main()
records=(books*)malloc(sizeof(books)*initial_size);
if(records==null)
arraysize=initial_size;
printf("");
printf("\t 这是一个n");
printf("\t图书馆图书基本信息管理软件");
printf("\t 欢迎使用n");
handle_menu();
菜单处理函数:
void handle_menu()
for(;;
菜单选择函数:
int menu_select()
char str[2];
int cn=0;
printf("");
printf("1.增加图书信息");
printf("2.借出图书");
printf("3.归还图书");
printf("4.查询图书信息");
printf("5.退出");
printf("左边数字对应功能选择,请选1-5:")
for(;;
return cn;
退出函数:void quit()
char str[5];
if(s**edtag==1)
free(records);
exit(0);
输出表头函数:
void showtable()
printf("书名\t书号\t主编\t出版社\t版次\t出版年\t");
printf("定价\t拥有数\t借出数\t现余数");
增加信息记录函数:
void addrecords(void)
char str[10];
if(numbooks==0)
printf("原来没有任何书类信息,现在加入信息!");
elseprintf("下面增加新的信息!");
while(1)
printf("您将要增加一项书类信息,确定吗?(y/n)")
gets(str);
if(str[0]==n'||str[0]==n')
break;
if(numbooks>=arraysize)
arraysize=arraysize+incr_size;
printf("请输入书名:")
gets(records[numbooks].name);
printf("请输入书号:")
gets(records[numbooks].number);
printf("请输入主编:")
gets(records[numbooks].editor);
printf("请输入出版社:")
gets(records[numbooks].publish);
printf("请输入版次:")
gets(records[numbooks].edition);
printf("请输入出版年份:")
gets(records[numbooks].year);
printf("请输入定价:")
gets(str);
records[numbooks].price=(float)atof(str);
printf("请输入拥有本数:")
gets(str);
records[numbooks].ownnum=atoi(str);
printf("请输入借出本数:")
课程设计报告格式 课程设计
洛阳理工学院。课程设计说明书。课程名称。设计课题。专业。班级。学号。姓名。完成日期2014年12月26日。问题描述 小四宋体,行间距单倍行距,每段缩进两个字符。叙述一下设计的内容要求。基本要求 小四宋体,行间距单倍行距,每段缩进两个字符。叙述一下设计的基本要求。测试数据 小四宋体,行间距单倍行距,每...
课程设计总结,课程设计报告
课程设计总结,课程设计报告。3.尝试应用项目管理软件进行项目进程的规划管理 绘制甘特图,不作硬性要求 二 选题说明。人事管理是企业信息管理的重要部分,面对大量的人事工资信息,财务部门采用人力处理将浪费大量的时间 人力和物力,且数据的准确性低。因此,开发一个界面友好,易于操作的人事工资管理软件进行自动...
课程设计 课程设计报告格式
学校名。课程设计报告。课程名称 c语言程序设计 系别 专业班级 学号。姓名。课程题目 企业人事管理系统 完成日期 指导老师 年月日。附件。课程设计的内容。企业人事管理系统 本项目的目标是开发一个功能实用,操作简便,简单明了的人事管理系统。能够录入人事的基本资料,在操作上能够完成诸如添加 修改 删除 ...