1、需求分析
信息采用文件存储,因而要提供文件的输入输出操作;要插入数据,因而要提供数据的添加操作;要实现数据的删除、更新和查询,因而要提供文件记录的删除、修改和查找操作;另外要提供键盘式选择菜单以实现功能选择。
2、总体设计
整个系统可以被设计为数据输入模块、数据添加模块、数据删除模块、数据更新模块和数据查询模块。
3、详细设计
数据结构采用结构体,建立四个结构体:
//销售商-配件-建筑工地结构体
Struct SellerFitBuild
{
Char seller_code[10]; //销售商号码
Char fit_code[10]; //配件号
Char build_code[10]; //工地号
Int num; //销售数量
}SFB; //seller_code号销售商销售num个fit_code号配件给build_code工地
//建筑工地
Struct BuildingSite
{
Char build_code[10]; //工地号
Char build_name[10]; //工地名
Char city[10]; //城市
}BS;
//配件
Struct Fitting
{
Char fit_code[10]; //配件号
Char fit_name[10]; //配件名
Char color[10]; //配件颜色
Float weight; //配件重量
Char city[10]; //配件产地
}Fit;
//销售商
Struct Seller
{
Char seller_code[10]; //销售商号码
Char seller_name[10]; //销售商名字
Char city[10]; //销售商城市
}Seller;
(1)主函数建立四个文件,输出提示用户操作的信息,选择操作文件:R[销售商-配件-建筑工地],B[建筑工地],F[配件],S[销售商],空格键[查询]。
(2)数据输入模块
用fprintf或者fwrite写数据到相应文件中。
(3)数据插入模块
采用追加的方式写数据到文件。
(4)数据删除模块
通过菜单选择相应的文件后,用fopen打开该文件,从文件中读一条记录,判断是否要删除,如果是,则舍弃;否则重新写入文件,读下一条记录。
(5)数据更新模块
与数据删除模块类似,只是判断所读的纪录是否要更新,如果是,则把更新后的纪录写入文件,否则直接写入文件。
(6)按空格键进入查询操作
通过菜单选择查询零件-供应商或者项目-供应商。例如选择查询零件-供应商。其基本流程如下:
打开销售商-配件-建筑工地文件;
While(文件未结束)
{
读一条记录,得到销售商号码和配件号;
在销售商文件中查找该销售商号码,得到该销售商所在城市;
在配件文件中查找配件号,得到该配件的产地;
如果销售商所在城市与配件的产地相同,则输出销售商号码和配件号码;
}
查询项目-供应商记录对的操作类似,只需把配件号改为工地号即可。
你具体有什么不会的地方? 请说明。