刘梦琦 2 years ago
commit 09d6eecc44

@ -238,4 +238,53 @@ a: No such file or directory
数据query_data、添加数据add_data、更新数据update_data、删除数据 数据query_data、添加数据add_data、更新数据update_data、删除数据
delete_data、数据排序sort_data和生成图表make_chart等子模块。其中查询、添加、更 delete_data、数据排序sort_data和生成图表make_chart等子模块。其中查询、添加、更
新和删除数据还会用到根据编号查询数据的方法find 新和删除数据还会用到根据编号查询数据的方法find
上述各模块通过主程序main进行调用系统模块图如下。
![](main.svg)
各模块的主要功能如下:
### main
系统主函数模块,显示菜单,根据用户选择的菜单命令,执行相关操作。
### init
系统初始化。
### display_menu
显示菜单命令。
## 详细设计
针对概要设计
### main
Step 1: 初始化
Step 2: 根据用户选择的命令执行对应的操作
Step 2.1: 显示菜单
Step 2.2: 选择菜单命令 c
Step 2.3: if c == CMD_READ then 读取数据
Step 2.4: if c == CMD_SAVE then 保存数据
Step 2.5: if c == CMD_PRINT then 打印数据
Step 2.6:
![](main.svg)
### save_data
Step 1: 输入文件名
Step 2: 打开文件
Step 3: if 打开文件失败 then 提示打开文件失败并结束
Step 4: 将所有库存记录写入文件
Step 5: 关闭文件
![](save_data.svg)
### print_data
Step 1: for 0 to num_part-1
Step 2: 打印学生成绩
![](print_data.svg)
### query_data
Step 1: for 0 to num_part-1 查询
Step 2: 输入查询学号
Step 3: 根据查询结果输出
![](query_data.svg)
### add_data
Step 1: for 0 to num_part-1 添加
Step 2: 输入添加学号
Step 3: if 成立则结束 else 输入学生名称、名次,添加分数, 并提示完成
![](add_data.svg)
### update_data
Step 1: for 0 to num_part-1 修改
Step 2: 输入修改学号
Step 3: if 不成立则结束 else 输出学生信息

@ -0,0 +1,52 @@
<mxfile host="65bd71144e">
<diagram id="5al8SiqKVGW9Og6V7Dn-" name="第 1 页">
<mxGraphModel dx="487" dy="568" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="850" pageHeight="1100" math="0" shadow="0">
<root>
<mxCell id="0"/>
<mxCell id="1" parent="0"/>
<mxCell id="4" value="" style="edgeStyle=none;html=1;" edge="1" parent="1" source="2" target="3">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="2" value="update_data" style="ellipse;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="310" y="120" width="110" height="70" as="geometry"/>
</mxCell>
<mxCell id="6" value="" style="edgeStyle=none;html=1;" edge="1" parent="1" source="3" target="5">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="8" value="" style="edgeStyle=none;html=1;" edge="1" parent="1" source="3" target="7">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="3" value="输入学号" style="whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="305" y="275" width="120" height="60" as="geometry"/>
</mxCell>
<mxCell id="13" value="" style="edgeStyle=none;html=1;" edge="1" parent="1" source="5" target="12">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="5" value="输入姓名,成绩" style="whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="305" y="415" width="120" height="60" as="geometry"/>
</mxCell>
<mxCell id="7" value="学生不存在" style="whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="505" y="275" width="120" height="60" as="geometry"/>
</mxCell>
<mxCell id="12" value="结束" style="ellipse;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="325" y="545" width="80" height="45" as="geometry"/>
</mxCell>
<mxCell id="14" value="" style="edgeStyle=none;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" edge="1" parent="1" source="7">
<mxGeometry width="100" relative="1" as="geometry">
<mxPoint x="570" y="390" as="sourcePoint"/>
<mxPoint x="370" y="520" as="targetPoint"/>
<Array as="points">
<mxPoint x="565" y="520"/>
</Array>
</mxGeometry>
</mxCell>
<mxCell id="15" value="Y" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" vertex="1" parent="1">
<mxGeometry x="335" y="355" width="30" height="30" as="geometry"/>
</mxCell>
<mxCell id="16" value="N" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" vertex="1" parent="1">
<mxGeometry x="445" y="265" width="30" height="30" as="geometry"/>
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 9.6 KiB

Loading…
Cancel
Save