定义账目
将金额按分保存,明确收支类型,避免浮点金额误差。
查看此阶段的目标自测
前期可以先手工推演,核心完成后再核对程序输出。
4
I 10000
E 2500
E 500
I 2000
12000 3000 9000记录日常收支,生成收入、支出与结余。
控制台核心功能
站内评测验证输入输出与业务规则。本地接口、文件读写、数据库和界面需要按指南继续实现、测试,不会因核心评测通过而自动完成。
当前版本阶段自查:0 / 3
先完成当前阶段的功能,再运行自测。样例用于解释规则,提交后还会运行补充验收用例。
将金额按分保存,明确收支类型,避免浮点金额误差。
前期可以先手工推演,核心完成后再核对程序输出。
4
I 10000
E 2500
E 500
I 2000
12000 3000 9000分别维护收入与支出,验证只有收入或只有支出的情况。
前期可以先手工推演,核心完成后再核对程序输出。
1
E 7
0 7 -7计算收入减支出,以大额记录验证 long long。
前期可以先手工推演,核心完成后再核对程序输出。
3
I 1000000000
I 1000000000
I 1000000000
3000000000 0 3000000000可以直接使用站内编辑器,也可以下载到本地开发。起始代码不包含参考答案。
记录日常收支,生成收入、支出与结余。
控制台核心功能。完成核心版本后,可以继续开发文末的本地应用。站内测试通过代表核心功能达标,不代表扩展应用已完成。
结构体、循环、整数金额。建议先完成学习之路中的相应概念,或在数据结构实验中验证理解。
第一行 n(1~100000)。接下来 n 行为 I 或 E 以及金额 x(0~10⁹ 分);I 收入,E 支出。输出总收入、总支出、结余,用空格分隔。结余允许为负。
使用 C++17。除非另有说明,数量为 0~10000,整数绝对值不超过 10⁹;标识符不含空格,输入符合协议。累计量使用 long long。
4
I 10000
E 2500
E 500
I 2000
12000 3000 9000
将金额按分保存,明确收支类型,避免浮点金额误差。
分别维护收入与支出,验证只有收入或只有支出的情况。
计算收入减支出,以大额记录验证 long long。
先手工推演样例第一条记录,写出中间状态。检查数据是否完整读取、同值如何排序、未找到记录如何处理。每完成一个阶段就用小数据运行一次。
定义 Record 类,增加日期、类别和备注;以 CSV 保存和恢复记录,增加月度报表与预算提醒。保存后重新读取,校验汇总一致。
基础版本编译:g++ -std=c++17 main.cpp -o app。将样例输入存为 sample.txt;Windows PowerShell 使用 Get-Content sample.txt | .\app.exe,其他终端使用 ./app < sample.txt。接入网络或数据库前,保留无需外部服务的核心测试。
输入:
4
I 10000
E 2500
E 500
I 2000
预期输出:
12000 3000 9000
输入:
1
E 7
预期输出:
0 7 -7
输入:
3
I 1000000000
I 1000000000
I 1000000000
预期输出:
3000000000 0 3000000000
可以从下列结构开始,再根据自己的模块划分调整。它定义数据,不包含业务答案。
struct Record { char type; long long cents; };
struct Summary { long long income = 0, expense = 0; };
定义 Record 类,增加日期、类别和备注;以 CSV 保存和恢复记录,增加月度报表与预算提醒。保存后重新读取,校验汇总一致。