一、图书管理系统功能设计要求
1. 输入记录:将图书的基本信息包括书号、书名、作者,单价、库存、借出的数量等数据作为一个记录。该软件能建立一个新的数据文件或给已建立好的数据文件增加记录。
2. 显示记录:根据用户提供的记录或者根据书号或书名显示一本或几本书的库存与借出的统计数量。
3. 修改记录:可以对数据文件的任意记录的数据进行修改并在修改前后对记录内容进行显示。
4.查找记录:可以对数据文件的任意记录的数据进行查找并在查找前后对记录内容进行显示。
5. 删除记录:可删除数据文件中的任一记录。
6.恢复记录:能恢复被删除的任一记录。
7.添加记录:可以在数据文件中添加记录并添加记录后对记录内容进行显示。
8. 统计: (A)计算各类图书数量及金额;(B)统计每页合计图书数量及金额;(C) 统计2000年以前和2000年以后出版的图书数量及金额;(D) 累计图书总数量及总金额 ;(E)按字符表格形式打印全部图书资料信息表(包括图书总数量及总金额)。
9.保存数据文件功能。
10.打开数据文件功能。
经过逐层逐块、不断细化、求精过程,编写程序并进行测试、验证,可以逐个模块地分开调试,并通过文件包含或用工程文件的形式进行逐步联合调试。程序运行结果如下表所示(记录个数至少8个)。
图书资料信息表
序号 书代号 书名 作者 出版时间 单价(元) 库存数量(本) 借出数量(本) 总数量(本)
01 056201 信号与系统 张望 2005 12.6 198 109 307
02 116848 计算机网络 李明 2002 21.8 135 94
03 127500 传感器技术 王小民 1999 15.9 98 64
04 041234 多媒体技术 张效章 2006 8.6 210 116
05 125605 自控原理 彭山 2004 25.4 84 61
…… …… …… …… …… …… …… ……
各项统计 725 444 1169
二、图书管理系统程序设计基本结构框架
1.头文件说明如:
#include<string.h>
#include<stdio.h>
#include<graphics.h>
#include<conio.h>
定义结构类型;
定义全局变量;
定义、编写记录(数据)输入函数; 定义、编写记录(数据)显示函数;
定义、编写记录(数据)修改函数; 定义、编写记录(数据)查找函数;
定义、编写记录(数据)删除函数; 定义、编写记录(数据)恢复函数;
定义、编写记录(数据)添加函数; 定义、编写记录(数据)统计函数;
定义、编写数据文件保存函数; 定义、编写打开数据文件函数;
2.主函数结构如下:
main()
{char i;
int drive=DETECT,mode;
initgraph(&drive,&mode," "); 初始化显示器为图形方式
cleardevice(); 清屏幕
setbkcolor(9); 设置屏幕背景颜色
printf("\16[co4st8e320,170,0,360,300,70,2,4]");
printf("\16[{-10|20@48,24=2(14)9中南大学}]");
printf("\16[{-90|140@55,55=11(13)9图书管理系统}]");
printf("\16[{-246|280@20,20=8(12)9设计者: 自动化0710 XXX }]");
printf("\16[{-250|360@20,20=8(4)9请按Enter键进入}]");
getch(); 等待击键
for( ; ;) 循环执行功能菜单
{
cleardevice();
setbkcolor(9);
printf("\16[{-5|30@40,40=30(2)9* * * * * * 菜 单 * * * * * *}]");
printf("\16[{-130|100@35,35=30(7)9a 输入}]");
printf("\16[{-400|100@35,35=30(7)9b 显示}]");
printf("\16[{-130|145@35,35=30(7)9c 修改}]");
printf("\16[{-400|145@35,35=30(7)9d 查找}]");
printf("\16[{-130|205@35,35=30(7)9e 删除}]");
printf("\16[{-400|205@35,35=30(7)9f 恢复}]");
printf("\16[{-130|260@35,35=30(7)9g 添加}]");
printf("\16[{-400|260@35,35=30(7)9h 统计}]");
printf("\16[{-130|315@35,35=30(7)9i 保存}]");
printf("\16[{-400|315@35,35=30(7)9j 打开}]");
printf("\16[{-130|360@35,35=30(7)9k 退出}]");
printf("\16[{-400|380@24,24=11(7)4请选择a至j}]");
i=getch();
if(i=='k') break;
else switch(i)
{case'a':调用记录输入函数;break;
case'b': 调用记录显示函数;break;
case'c': 调用记录修改函数;break;
case'd': 调用记录查找函数;break;
case'e': 调用记录删除函数;break;
case'f': 调用记录恢复函数;break;
case'g': 调用记录添加函数; break;
case'h': 调用记录统计函数;break;
case'i': 调用数据保存函数;break;
case'j': 调用数据文件打开函数; break;
}}}
3.各子程序函数
6 个解决方案
#1
作业题还是自己搞定的好...
#2
又见作业~
#3
自动化专业 有这种课程设计吗?
#4
我也正在做这个
#5
我要是能够自己搞定就不会麻烦各位高手啦!现在我很焦虑啊!希望哪位好心人能够快快来帮帮我啊!!!!感激不尽!!!!!
#6
有诚意的,2000块,私信我……
#1
作业题还是自己搞定的好...
#2
又见作业~
#3
自动化专业 有这种课程设计吗?
#4
我也正在做这个
#5
我要是能够自己搞定就不会麻烦各位高手啦!现在我很焦虑啊!希望哪位好心人能够快快来帮帮我啊!!!!感激不尽!!!!!
#6
有诚意的,2000块,私信我……