xiao dong 2 years ago
commit 3a9d751040

@ -8,7 +8,7 @@
本系统是程序设计与问题求解课程设计项目,是为教师提供管理班级成绩的工具,该系统可以实现的对学生的成绩进行增、删、改、查、信息保存和信息导入等基本功能,以及对学生成绩排序和分段的扩展功能,有利于对学生成绩管理。项目采用 C 语言编程实现,在 VS Code 集成开发环境IDE中用 GCC 进行编译。系统采用模块化设计,程序结构清晰,采用菜单驱动的命令行界面,操作便捷,能够用 CSV 格式读取和保存数据,通用性强,能够用图表展示数据,直观清楚。 本系统是程序设计与问题求解课程设计项目,是为教师提供管理班级成绩的工具,该系统可以实现的对学生的成绩进行增、删、改、查、信息保存和信息导入等基本功能,以及对学生成绩排序和分段的扩展功能,有利于对学生成绩管理。项目采用 C 语言编程实现,在 VS Code 集成开发环境IDE中用 GCC 进行编译。系统采用模块化设计,程序结构清晰,采用菜单驱动的命令行界面,操作便捷,能够用 CSV 格式读取和保存数据,通用性强,能够用图表展示数据,直观清楚。
下载地址https://code.educoder.net/plebkff6w/text3/tree 下载地址:<https://code.educoder.net/plebkff6w/text3/tree>
项目开发过程中采用 Kanban看板进行任务管理和分工协作并使用 Git 对程序代码和文档进行版 项目开发过程中采用 Kanban看板进行任务管理和分工协作并使用 Git 对程序代码和文档进行版
本管理。任务分工情况如下: 本管理。任务分工情况如下:
@ -61,7 +61,6 @@
请选择: 请选择:
``` ```
#### C2显示命令菜单 #### C2显示命令菜单
``` ```
@ -71,8 +70,6 @@
请选择: 请选择:
``` ```
#### C3: 退出程序 #### C3: 退出程序
选择菜单命令 `0`,再输入 `y` 确认,则退出程序。 选择菜单命令 `0`,再输入 `y` 确认,则退出程序。
@ -82,6 +79,7 @@
确定要退出吗?(Y/N): y 确定要退出吗?(Y/N): y
程序退出 程序退出
``` ```
#### C4: 添加库存记录 #### C4: 添加库存记录
选择菜单命令 `3`,提示输入学号,若该学生不存在,则继续输入学号、姓名、成绩,添加学号,并提示完成;若学号已存在,则提示学号已存在,并结束。 选择菜单命令 `3`,提示输入学号,若该学生不存在,则继续输入学号、姓名、成绩,添加学号,并提示完成;若学号已存在,则提示学号已存在,并结束。
@ -164,6 +162,7 @@
学生不存在. 学生不存在.
``` ```
#### C8: 删除库存记录 #### C8: 删除库存记录
选择菜单命令 `7`,根据提示输入学号,若学号存在,则删除之;否则提示学号不存在并结束。 选择菜单命令 `7`,根据提示输入学号,若学号存在,则删除之;否则提示学号不存在并结束。
@ -296,6 +295,7 @@ a: No such file or directory
6 修改 | 7 删除 | 8 排序 | 9 图表 | 0 退出 6 修改 | 7 删除 | 8 排序 | 9 图表 | 0 退出
``` ```
## 概要设计 ## 概要设计
系统主要分为用户界面和数据处理两大模块。 系统主要分为用户界面和数据处理两大模块。
@ -304,19 +304,7 @@ a: No such file or directory
上述各模块通过主程序main进行调用系统模块图如下。 上述各模块通过主程序main进行调用系统模块图如下。
![节点](./test.svg)
各模块的主要功能如下: 各模块的主要功能如下:
@ -332,7 +320,6 @@ a: No such file or directory
显示菜单命令。 显示菜单命令。
## 详细设计 ## 详细设计
针对概要设计 针对概要设计
@ -355,10 +342,6 @@ Step 2.11: if c == CMD_MAKE then 显示图表
Step 2.12: if c == CMD_QUIT then 退出 Step 2.12: if c == CMD_QUIT then 退出
#### read_data #### read_data
Step 1: 输入文件名 Step 1: 输入文件名

@ -1,4 +1,5 @@
<mxfile host="65bd71144e"> <mxfile host="65bd71144e">
<<<<<<< HEAD
<diagram id="iA4t4FLJz1A2m_z5bmmg" name="Page-1"> <diagram id="iA4t4FLJz1A2m_z5bmmg" name="Page-1">
<mxGraphModel dx="170" dy="535" 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"> <mxGraphModel dx="170" dy="535" 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> <root>
@ -48,6 +49,73 @@
<mxCell id="11" value="" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1"> <mxCell id="11" value="" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="30" y="280" width="120" height="40" as="geometry"/> <mxGeometry x="30" y="280" width="120" height="40" as="geometry"/>
</mxCell> </mxCell>
=======
<diagram id="BypwFp_EocNmJrTVdUYd" name="Page-1">
<mxGraphModel dx="633" dy="615" 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="12" value="inint" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="20" y="190" width="100" height="40" as="geometry"/>
</mxCell>
<mxCell id="13" value="display_menu" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="20" y="250" width="100" height="40" as="geometry"/>
</mxCell>
<mxCell id="14" value="make_choice" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="20" y="310" width="100" height="40" as="geometry"/>
</mxCell>
<mxCell id="15" value="confirm" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="20" y="370" width="100" height="40" as="geometry"/>
</mxCell>
<mxCell id="16" value="quit" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="20" y="430" width="100" height="40" as="geometry"/>
</mxCell>
<mxCell id="19" value="main" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="280" y="310" width="100" height="40" as="geometry"/>
</mxCell>
<mxCell id="24" value="" style="endArrow=none;html=1;" edge="1" parent="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="200" y="329.5" as="sourcePoint"/>
<mxPoint x="280" y="329.5" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="25" value="" style="endArrow=classic;html=1;" edge="1" parent="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="200" y="329.5" as="sourcePoint"/>
<mxPoint x="120" y="329.5" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="27" value="" style="endArrow=classic;html=1;entryX=1;entryY=0.25;entryDx=0;entryDy=0;" edge="1" parent="1" target="12">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="200" y="330" as="sourcePoint"/>
<mxPoint x="170" y="230" as="targetPoint"/>
<Array as="points">
<mxPoint x="200" y="200"/>
</Array>
</mxGeometry>
</mxCell>
<mxCell id="28" value="" style="endArrow=classic;html=1;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" target="13">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="200" y="270" as="sourcePoint"/>
<mxPoint x="140" y="269.5" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="29" value="" style="endArrow=classic;html=1;entryX=1;entryY=0.75;entryDx=0;entryDy=0;" edge="1" parent="1" target="16">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="200" y="330" as="sourcePoint"/>
<mxPoint x="150" y="460" as="targetPoint"/>
<Array as="points">
<mxPoint x="200" y="460"/>
</Array>
</mxGeometry>
</mxCell>
<mxCell id="30" value="" style="endArrow=classic;html=1;" edge="1" parent="1" target="15">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="200" y="390" as="sourcePoint"/>
<mxPoint x="130" y="390" as="targetPoint"/>
</mxGeometry>
</mxCell>
>>>>>>> 85c79e4ce983954a3bdd01b4addb243607820b3f
</root> </root>
</mxGraphModel> </mxGraphModel>
</diagram> </diagram>

Loading…
Cancel
Save