diff --git a/README.md b/README.md index 4b0287d..3f1ef5d 100644 --- a/README.md +++ b/README.md @@ -238,4 +238,53 @@ a: No such file or directory 数据(query_data)、添加数据(add_data)、更新数据(update_data)、删除数据 (delete_data)、数据排序(sort_data)和生成图表(make_chart)等子模块。其中查询、添加、更 新和删除数据还会用到根据编号查询数据的方法(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 输出学生信息 \ No newline at end of file diff --git a/update_data.drawio b/update_data.drawio new file mode 100644 index 0000000..eb57ba4 --- /dev/null +++ b/update_data.drawio @@ -0,0 +1,52 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/update_data.svg b/update_data.svg new file mode 100644 index 0000000..5c215c8 --- /dev/null +++ b/update_data.svg @@ -0,0 +1 @@ +
update_data
update_data
输入学号
输入学号
输入姓名,成绩
输入姓名,成绩
学生不存在
学生不存在
结束
结束
Y
Y
N
N
Text is not SVG - cannot display
\ No newline at end of file