图书管理系统c语言程序设计 找个大神来帮助下,很急,题目在下面,有具体要求。 50
1、需求分析图书管理信息采用文件保存,因而要提供文件的输入输出操作;要实现对图书基本信息的查询,则要提供查找操作(提供按书名、作者名查询两种查询方式)和显示操作;要实现对...
1、 需求分析
图书管理信息采用文件保存,因而要提供文件的输入输出操作;要实现对图书基本信息的查询,则要提供查找操作(提供按书名、作者名查询两种查询方式)和显示操作;要实现对撤销图书信息的删除则要提供文件记录的删除操作;办理借书或还书手续需要提供修改操作;另外还要提供键盘式选择菜单以实现功能选择。
2、 总体设计
整个系统被设计为数据输入模块、数据查询模块、数据删除模块和数据修改模块。
3、 详细设计
数据结构采用结构体,设计图书信息结构体:
Struct bookManageInfo
{
Char bookName[20]; //图书名称
Char bookCode[20]; //图书编号
Float price; //图书价格
Char author[10]; //作者
Int state; //存在状态,0代表可以出借,1代表已经借出
Char borrowerName[10]; //借书人姓名
Int sex; //借书人性别,0代表女,1代表男
Char stuNo[10]; //借书人学号
}bookMInfo;
(1)数据输入模块
把图书基本信息写入图书信息文件。
(2)数据查询模块
通过菜单选择查询方式,提供按书名查询和按作者名查询两种查询方式。采用基本查找算法即可。
(3)数据删除模块
通过菜单选择删除操作,由于C语言没有提供直接删除文件记录的函数,因而需要自己实现:读记录,判断是否要删除(与输入的要删除的记录比较),如果要删除,则舍弃;否则重新写入文件。
(4)数据修改模块
办理借书手续时,先要在文件中查找要借的书的存在状态,若可以出借,则允许借出,把借书人姓名、性别和学号添加到该书的记录中,并把存在状态改为已经借出;否则,显示“抱歉,该书已借出”。办理还书手续时,在文件中查找该书的记录,然后把存在状态改为允许出借,把借书人姓名、性别和学号删除。具体修改操作可以参考删除操作。 展开
图书管理信息采用文件保存,因而要提供文件的输入输出操作;要实现对图书基本信息的查询,则要提供查找操作(提供按书名、作者名查询两种查询方式)和显示操作;要实现对撤销图书信息的删除则要提供文件记录的删除操作;办理借书或还书手续需要提供修改操作;另外还要提供键盘式选择菜单以实现功能选择。
2、 总体设计
整个系统被设计为数据输入模块、数据查询模块、数据删除模块和数据修改模块。
3、 详细设计
数据结构采用结构体,设计图书信息结构体:
Struct bookManageInfo
{
Char bookName[20]; //图书名称
Char bookCode[20]; //图书编号
Float price; //图书价格
Char author[10]; //作者
Int state; //存在状态,0代表可以出借,1代表已经借出
Char borrowerName[10]; //借书人姓名
Int sex; //借书人性别,0代表女,1代表男
Char stuNo[10]; //借书人学号
}bookMInfo;
(1)数据输入模块
把图书基本信息写入图书信息文件。
(2)数据查询模块
通过菜单选择查询方式,提供按书名查询和按作者名查询两种查询方式。采用基本查找算法即可。
(3)数据删除模块
通过菜单选择删除操作,由于C语言没有提供直接删除文件记录的函数,因而需要自己实现:读记录,判断是否要删除(与输入的要删除的记录比较),如果要删除,则舍弃;否则重新写入文件。
(4)数据修改模块
办理借书手续时,先要在文件中查找要借的书的存在状态,若可以出借,则允许借出,把借书人姓名、性别和学号添加到该书的记录中,并把存在状态改为已经借出;否则,显示“抱歉,该书已借出”。办理还书手续时,在文件中查找该书的记录,然后把存在状态改为允许出借,把借书人姓名、性别和学号删除。具体修改操作可以参考删除操作。 展开
1个回答
2016-06-20
展开全部
#include <stdio.h>
main() /* count digits, white space, others */
{
int c, i, nwhite, nother, ndigit[10];
nwhite = nother = 0;
for (i = 0; i < 10; i++)
ndigit[i] = 0;
while ((c = getchar()) != EOF) {
switch (c) {
case '0': case '1': case '2': case '3': case '4':
case '5': case '6': case '7': case '8': case '9':
ndigit[c-'0']++;
break;
case ' ':
case '\n':
case '\t':
nwhite++;
break;
default:
nother++;
break;
}
}
printf("digits =");
for (i = 0; i < 10; i++)
printf(" %d", ndigit[i]);
printf(", white space = %d, other = %d\n",
nwhite, nother);
return 0;
}
main() /* count digits, white space, others */
{
int c, i, nwhite, nother, ndigit[10];
nwhite = nother = 0;
for (i = 0; i < 10; i++)
ndigit[i] = 0;
while ((c = getchar()) != EOF) {
switch (c) {
case '0': case '1': case '2': case '3': case '4':
case '5': case '6': case '7': case '8': case '9':
ndigit[c-'0']++;
break;
case ' ':
case '\n':
case '\t':
nwhite++;
break;
default:
nother++;
break;
}
}
printf("digits =");
for (i = 0; i < 10; i++)
printf(" %d", ndigit[i]);
printf(", white space = %d, other = %d\n",
nwhite, nother);
return 0;
}
追问
这是什么? 程序需要完整的需要答辩。。。
万岳科技
2024-08-05 广告
2024-08-05 广告
教育类app开发价格不贵,万岳科技专业教育系统开发,提供整套原生在线教育源码,功能齐全,覆盖web/app/小程序多个终端,免费快速搭建部署,教育平台源码支持定制开发和二次开发,价格优惠。...
点击进入详情页
本回答由万岳科技提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询