销售监控程序
要求和实现
第一部分:需求概述
每个组织都相信应当计划当年的销售目标,并达到这些目标,定期地进行检查来监控目标与实际销售额的对比情况,检查依赖于保存的有关销售项目和销售详细信息的数据,除了数据查询,还可以进行添加、删除和修改操作。
第二部分:整体设计
销售项目的详细信息应保存在一个名为 item.dat 的文件中,该文件应包含下列详细信息:
项目代码(从 1 开始按顺序编码);
名称(最多 20 个字符);
目标销售额(数字);
年初至今销售额(数字);
销售的详细信息应保存在一个名为 sales.dat 的文件中,该文件应包含下列详细信息:
项目代码;
已销售数量(数字);
第三部分:实现说明
销售监控系统应以下列菜单开始:
SALES MONITORING SYSTEM
1. Add new item details
2. Record Sale details
3. Delete existing Item details
4. Display Sale details based on Item number
5. Display Report on Sales Target Achieved Items
6. Quit
Enter choice:
根据用户的选择,将执行下列操作:下面显示了相应的图示:
图 1:主屏幕
SALES MONITORING SYSTEM
1. Add new item details
2. Record Sale details
3. Delete existing Item details
4. Display Sale details based on Item number
5. Display Report on Sales Target Achieved Items
6. Quit
Enter choice:
Add new item details(添加新项目的详细信息)
通过从文件中访问最后一个项目的代码并加 1 来生成新项目代码,接受新项目的详细信息,确保名称不为空,不应接受年初至今销售额,而应将其设为 0,将该记录保存到 item.dat 文件中。
图 2 显示了“Add New Item screen”屏幕
图 2:添加新项目
ADD NEW ITEM DETAILE
Item code:1
ENTER item name (up to 20 chars):bags
enter targeted salse:200
record writtem to item file
Record Sale details(记录销售详细信息)
接受项目代码,并确保 item.dat 文件中存在该代码,确保输入的销售数量大于 0,接受有效的详细信息后,将记录保存到 sales.dat 文件中,通过添加销售数量更新 item.dat 文件中年初至今相应的销售额。
图 3 显示了“Add Item Sale Details”的屏幕。
图 3:销售详细信息
Add Item Sale Details
enter item code:1
enter quantity sold:120
record updated in item file
record written to sales file
Delete existing Item details(删除现有项目的详细信息)
接受项目代码,并检查 item.dat 文件中是否存在该代码,如果存在该代码,则删除 item.dat 和 sales.dat 文件中的相应详细信息。
删除项目的屏幕如下所示,其中根据输入的项目代码,在 item.dat和sales.dat 文件中搜索并删除该项目。
图 4:删除项目的详细信息
delete item details
enter item code:1
1 record deleted from item file
1 record deleted from sales file
Display Sale details based on Item number(显示根据项目号查出的销售详细信息)
接受项目代码,并显示 sales.dat 中所有相应的销售详细信息。
图 5 所示为项目已销售数量的屏幕。
图 5:查询销售详细信息
query sales details
enter item code:1
item 1 quantity sold:120
Display Report on Sales Target Achieved Items(显示已达到销售目标的项目的报告)
显示 item.dat 文件中所有已达到目标销售额的项目的详细信息。
图 6 所示的屏幕表示没有项目达到目标销售额,如果有项目达到了目标,就会如图 7 所示显示该项目的详细信息。
图 6:销售目标报告
report no sales traget achieved items
on item has achieved the targeted sales
图 7:销售目标报告
report no sales traget achieved items
27 pen 20 20
Quit(退出)
关闭程序,并退出销售监控系统。
在系统的所有功能点处显示相应的消息。
第四部分:对应的章节内容
第四章:C 语言中的输入和输出
使用 printf () 显示菜单,要接受菜单选择,请使用 scanf (),如图 1 所示。
第五章:条件
要检查所选的菜单项是否有效,请使用条件语句(if 或 switch),如果用户所选的菜单项无效,则显示相应的错误消息。
第六章:循环
该菜单必须包括在一个循环中,这样用户才能执行多个操作。
第七章:数组
要接受多个项目和多条销售详细信息,请使用数组,为新项目详细信息生成并显示新项目代码,接受详细信息后,使用户能根据项目代码查询项目和销售详细信息。
第九章:函数
根据输入的菜单选择,调用相应的函数来执行各个操作。
创建函数来执行下列操作:
将新项目详细信息添加到 item.dat 文件中
将新项目销售详细信息添加到 sales.dat 文件中
从 item.dat 文件中删除项目并从 sales.dat 文件中删除相应的销售详细信息
显示特定项目的销售详细信息
显示已达到目标销售额的项目的报告
第十章:字符串
本工程中在必须输入字符串的所有地方都使用了字符串函数。
第十一章:复杂数据类型及排序
定义两个结构,一个用于项目 (item),另一个用于销售 (sales)。
item 结构包含下列数据成员:
Item Code
Item Name
Targeted sales
Year to Date Sales
sales 结构包含下列数据成员:
Item Code
Quantity Sold
第十二章:文件操作
记录应保存在 item.dat 和 sales.dat 文件中,添加新项目时,记录被保存在 item.dat 中,销售出一个项目时,记录被保存在 sales.dat 中,与此同时将更新 item.dat 文件,选择删除一个项目时,将分别从 item.dat 和 sales.dat 文件中删除该项目及其相应销售详细信息。
本工程中将使用下列与文件相关的函数:
fopen – 打开文件;
fwrite – 将数据添加到文件中;
fread – 从文件中读取数据;
fclose – 关闭文件。
要求和实现
第一部分:需求概述
每个组织都相信应当计划当年的销售目标,并达到这些目标,定期地进行检查来监控目标与实际销售额的对比情况,检查依赖于保存的有关销售项目和销售详细信息的数据,除了数据查询,还可以进行添加、删除和修改操作。
第二部分:整体设计
销售项目的详细信息应保存在一个名为 item.dat 的文件中,该文件应包含下列详细信息:
项目代码(从 1 开始按顺序编码);
名称(最多 20 个字符);
目标销售额(数字);
年初至今销售额(数字);
销售的详细信息应保存在一个名为 sales.dat 的文件中,该文件应包含下列详细信息:
项目代码;
已销售数量(数字);
第三部分:实现说明
销售监控系统应以下列菜单开始:
SALES MONITORING SYSTEM
1. Add new item details
2. Record Sale details
3. Delete existing Item details
4. Display Sale details based on Item number
5. Display Report on Sales Target Achieved Items
6. Quit
Enter choice:
根据用户的选择,将执行下列操作:下面显示了相应的图示:
图 1:主屏幕
SALES MONITORING SYSTEM
1. Add new item details
2. Record Sale details
3. Delete existing Item details
4. Display Sale details based on Item number
5. Display Report on Sales Target Achieved Items
6. Quit
Enter choice:
Add new item details(添加新项目的详细信息)
通过从文件中访问最后一个项目的代码并加 1 来生成新项目代码,接受新项目的详细信息,确保名称不为空,不应接受年初至今销售额,而应将其设为 0,将该记录保存到 item.dat 文件中。
图 2 显示了“Add New Item screen”屏幕
图 2:添加新项目
ADD NEW ITEM DETAILE
Item code:1
ENTER item name (up to 20 chars):bags
enter targeted salse:200
record writtem to item file
Record Sale details(记录销售详细信息)
接受项目代码,并确保 item.dat 文件中存在该代码,确保输入的销售数量大于 0,接受有效的详细信息后,将记录保存到 sales.dat 文件中,通过添加销售数量更新 item.dat 文件中年初至今相应的销售额。
图 3 显示了“Add Item Sale Details”的屏幕。
图 3:销售详细信息
Add Item Sale Details
enter item code:1
enter quantity sold:120
record updated in item file
record written to sales file
Delete existing Item details(删除现有项目的详细信息)
接受项目代码,并检查 item.dat 文件中是否存在该代码,如果存在该代码,则删除 item.dat 和 sales.dat 文件中的相应详细信息。
删除项目的屏幕如下所示,其中根据输入的项目代码,在 item.dat和sales.dat 文件中搜索并删除该项目。
图 4:删除项目的详细信息
delete item details
enter item code:1
1 record deleted from item file
1 record deleted from sales file
Display Sale details based on Item number(显示根据项目号查出的销售详细信息)
接受项目代码,并显示 sales.dat 中所有相应的销售详细信息。
图 5 所示为项目已销售数量的屏幕。
图 5:查询销售详细信息
query sales details
enter item code:1
item 1 quantity sold:120
Display Report on Sales Target Achieved Items(显示已达到销售目标的项目的报告)
显示 item.dat 文件中所有已达到目标销售额的项目的详细信息。
图 6 所示的屏幕表示没有项目达到目标销售额,如果有项目达到了目标,就会如图 7 所示显示该项目的详细信息。
图 6:销售目标报告
report no sales traget achieved items
on item has achieved the targeted sales
图 7:销售目标报告
report no sales traget achieved items
27 pen 20 20
Quit(退出)
关闭程序,并退出销售监控系统。
在系统的所有功能点处显示相应的消息。
第四部分:对应的章节内容
第四章:C 语言中的输入和输出
使用 printf () 显示菜单,要接受菜单选择,请使用 scanf (),如图 1 所示。
第五章:条件
要检查所选的菜单项是否有效,请使用条件语句(if 或 switch),如果用户所选的菜单项无效,则显示相应的错误消息。
第六章:循环
该菜单必须包括在一个循环中,这样用户才能执行多个操作。
第七章:数组
要接受多个项目和多条销售详细信息,请使用数组,为新项目详细信息生成并显示新项目代码,接受详细信息后,使用户能根据项目代码查询项目和销售详细信息。
第九章:函数
根据输入的菜单选择,调用相应的函数来执行各个操作。
创建函数来执行下列操作:
将新项目详细信息添加到 item.dat 文件中
将新项目销售详细信息添加到 sales.dat 文件中
从 item.dat 文件中删除项目并从 sales.dat 文件中删除相应的销售详细信息
显示特定项目的销售详细信息
显示已达到目标销售额的项目的报告
第十章:字符串
本工程中在必须输入字符串的所有地方都使用了字符串函数。
第十一章:复杂数据类型及排序
定义两个结构,一个用于项目 (item),另一个用于销售 (sales)。
item 结构包含下列数据成员:
Item Code
Item Name
Targeted sales
Year to Date Sales
sales 结构包含下列数据成员:
Item Code
Quantity Sold
第十二章:文件操作
记录应保存在 item.dat 和 sales.dat 文件中,添加新项目时,记录被保存在 item.dat 中,销售出一个项目时,记录被保存在 sales.dat 中,与此同时将更新 item.dat 文件,选择删除一个项目时,将分别从 item.dat 和 sales.dat 文件中删除该项目及其相应销售详细信息。
本工程中将使用下列与文件相关的函数:
fopen – 打开文件;
fwrite – 将数据添加到文件中;
fread – 从文件中读取数据;
fclose – 关闭文件。