diff --git a/.vscode/c_cpp_properties.json b/.vscode/c_cpp_properties.json new file mode 100644 index 0000000..cea4d3f --- /dev/null +++ b/.vscode/c_cpp_properties.json @@ -0,0 +1,18 @@ +{ + "configurations": [ + { + "name": "windows-gcc-x64", + "includePath": [ + "${workspaceFolder}/**" + ], + "compilerPath": "gcc", + "cStandard": "${default}", + "cppStandard": "${default}", + "intelliSenseMode": "windows-gcc-x64", + "compilerArgs": [ + "" + ] + } + ], + "version": 4 +} \ No newline at end of file diff --git a/.vscode/launch.json b/.vscode/launch.json new file mode 100644 index 0000000..efa3e24 --- /dev/null +++ b/.vscode/launch.json @@ -0,0 +1,24 @@ +{ + "version": "0.2.0", + "configurations": [ + { + "name": "C/C++ Runner: Debug Session", + "type": "cppdbg", + "request": "launch", + "args": [], + "stopAtEntry": false, + "externalConsole": true, + "cwd": "c:/Users/lipei/Desktop/VSCode 2/text4", + "program": "c:/Users/lipei/Desktop/VSCode 2/text4/build/Debug/outDebug", + "MIMode": "gdb", + "miDebuggerPath": "gdb", + "setupCommands": [ + { + "description": "Enable pretty-printing for gdb", + "text": "-enable-pretty-printing", + "ignoreFailures": true + } + ] + } + ] +} \ No newline at end of file diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..65c81b6 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,38 @@ +{ + "C_Cpp_Runner.cCompilerPath": "gcc", + "C_Cpp_Runner.cppCompilerPath": "g++", + "C_Cpp_Runner.debuggerPath": "gdb", + "C_Cpp_Runner.cStandard": "", + "C_Cpp_Runner.cppStandard": "", + "C_Cpp_Runner.msvcBatchPath": "", + "C_Cpp_Runner.useMsvc": false, + "C_Cpp_Runner.warnings": [ + "-Wall", + "-Wextra", + "-Wpedantic", + "-Wshadow", + "-Wformat=2", + "-Wconversion", + "-Wnull-dereference", + "-Wsign-conversion" + ], + "C_Cpp_Runner.enableWarnings": true, + "C_Cpp_Runner.warningsAsError": false, + "C_Cpp_Runner.compilerArgs": [], + "C_Cpp_Runner.linkerArgs": [], + "C_Cpp_Runner.includePaths": [], + "C_Cpp_Runner.includeSearch": [ + "*", + "**/*" + ], + "C_Cpp_Runner.excludeSearch": [ + "**/build", + "**/build/**", + "**/.*", + "**/.*/**", + "**/.vscode", + "**/.vscode/**" + ], + "C_Cpp_Runner.useAddressSanitizer": false, + "C_Cpp_Runner.showCompilationTime": false +} \ No newline at end of file diff --git a/README.md b/README.md index d613af9..fc8fae0 100644 --- a/README.md +++ b/README.md @@ -1,12 +1,13 @@ # 学生成绩管理系统 -2023 4 23 + +2023年4月23日 王振宇 李文菲 武杭凯 李培毅 -# 项目简介 +## 项目简介 本学生成绩管理系统是为教师提供管理班级成绩的工具,该系统可以实现的对学生的成绩进行增,信息导入等基本功能,以及对学生成绩排序和分段的扩展功能,有利于对学生成绩管理。 下载地址:https://bdgit.educoder.net/p2i3t8vuh/text4.git -任务分工如下: +项目开发过程中采用 Kanban (看板)进行任务管理和分工协作,并使用 Git 对程序代码和文档进行版本管理。任务分工情况如下: |任务 |设计 |开发 |测试 |文档 | |-----|-----|-----|-----|-----| @@ -21,35 +22,43 @@ |------|------|------|------| |25% |30% |20% |25% | -# 关于学生成绩管理系统 +## 关于学生成绩管理系统 + 设计一个学生成绩管理系统,要求采用命令行菜单界面进行交互,具备读取、查询、修改、插入、删除和排序等基本功能,能够以表格和图表形式展示数据,采用 CSV 格式保存数据。 系统的功能性需求: 数据的读取、保存、打印、查询、修改、插入、删除、排序和图表展示。 系统的非功能性需求: 菜单驱动的命令行交互界面。 -# 需求分析 +## 需求分析 + 分析系统的功能需求和界面需求,编制用户手册如下 - C1启动程序 + #### C1启动程序 + 命令行中执行命令 ./app ,系统启动,显示提示信息,然后显示功能菜单,等待用户输入命令 +~~~ +库存管理系统启动 + 1 录入 | 2 计算 | 0 退出 +请选择: +~~~ -| 1 录入 | 2 计算 | 0 退出 -请选择: -———————————————————————— - C2: 显示命令菜单 + #### C2: 显示命令菜单 -———————————————————————— +~~~ | 1 录入 | 2 计算 | 0 退出 | 请选择: -———————————————————————— -C3: 退出程序 -选择菜单命令 0 ,再输入 y 确认,则退出程序。 -———————————————————————— +~~~ +#### C3: 退出程序 + +选择菜单命令 0 ,再输入 y 确认,则退出程序 +~~~ 请选择:0 程序退出 +~~~ + +## 概要设计 -# 概要设计 系统主要分为用户界面和数据处理两大模块。 用户界面模块包括系统初始化(init),显示菜单(display_menu),选择菜单命令(make_choice)、确认(confirm)、退出(quit)等子模块。 数据处理模块包括数据输入(ReadScore),数据计算(AverSumofEveryStudent)等模块组成。