记账本程序开发笔记3:模块设计和框架搭建

在记账本程序中,可以设计以下模块和框架:

              结构体 AccountItem:表示记账项,包括 itemType(收入或支出)、amount(金额)和 detail(说明)。

    1. loadDataFromFile 函数:从文件加载记账项数据到 vector<AccountItem> 中。

    2. accounting 函数:记账主函数,根据用户输入的操作调用相应的函数。

    3. insertIntoFile 函数:将记账项写入文件中。

    4. income 函数:处理用户添加收入的操作。

    5. expand 函数:处理用户添加支出的操作。

    6. printItem 函数:打印单个记账项的信息。

    7. query 函数:查询所有记账项的信息。

    8. queryItems 函数:根据记账项类型查询并打印信息。

 

    显示菜单的函数,这些函数通过控制台输出菜单选项,让用户可以选择不同的操作。下面是你定义的几个函数的功能:

    1.   showMainMenu 函数:显示主菜单,让用户选择记账、查询或退出程序。

    2.   showAccountingMenu 函数:显示记账种类菜单,让用户选择是记录收入还是支出,或者退出记账操作。

    3.   showQueryMenu 函数:显示查询条件菜单,让用户选择统计所有账目、统计收入、统计支出或返回主菜单。

 

    主函数代码,你已经开始实现记账本程序的主要逻辑。让我简要解释一下你的代码:

    1.   在主函数中,首先加载记账项数据到 items 向量中,然后进入一个循环,直到用户选择退出程序为止。

    2.   在每次循环中,首先显示主菜单,让用户选择记账、查询或退出操作。

    3.   根据用户输入的选择,通过 switch 语句进行不同的操作:

      1.   如果用户选择 '1',则显示记账种类菜单,并调用 accounting 函数进行记账操作。
      2.   如果用户选择 '2',则显示查询条件菜单,并调用 query 函数进行查询操作。
      3.   如果用户选择 '3',则询问用户是否确认退出,如果确认退出则将 quit 设为 true,退出循环。
    4.   对于其他未知选项,你可以在 default 分支中添加相应的处理逻辑。

posted @ 2024-01-24 17:50  cor0000  阅读(20)  评论(0)    收藏  举报