C语言程序设计 (建筑工地信息管理)

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(文件未结束)
  {
     读一条记录,得到销售商号码和配件号;
     在销售商文件中查找该销售商号码,得到该销售商所在城市;
     在配件文件中查找配件号,得到该配件的产地;
     如果销售商所在城市与配件的产地相同,则输出销售商号码和配件号码;
  }
查询项目-供应商记录对的操作类似,只需把配件号改为工地号即可。
 

你具体有什么不会的地方? 请说明。