银行存款截图生成器,cpp模型计算

简介: 项目(71个文件,226.5KB),涵盖Java/Python/Go/PHP/TS/C++

下载地址:http://lanzou.com.cn/i82ffdff4

image.png

文件结构:

output/cunjisuanhexitong/
├── 📄 README.md189 B
├── 📄 pom.xml1.6 KB
├── 📄 package.json688 B
├── 📄 config/application.properties604 B
├── 📄 processor/Scheduler.py5.1 KB
├── 📄 commands/Executor.php3.7 KB
├── 📄 embeddings/Parser.ts2.6 KB
├── 📄 config/Worker.xml1.4 KB
├── 📄 processor/Resolver.go3.4 KB
├── 📄 implementation/Buffer.cpp1.4 KB
├── 📄 config/Engine.json688 B
├── 📄 processor/Proxy.py5.1 KB
├── 📄 lib/Dispatcher.jar644 B
├── 📄 migrations/Wrapper.php3.7 KB
├── 📄 commands/Transformer.cpp1.5 KB
├── 📄 implementation/Observer.py5.4 KB
├── 📄 src/main/java/Handler.java6.8 KB
├── 📄 predict/Pool.go2.9 KB
├── 📄 predict/Factory.java5.1 KB
├── 📄 migrations/Adapter.js2.7 KB
├── 📄 processor/Provider.ts3.6 KB
├── 📄 src/main/java/Server.java6.5 KB
├── 📄 config/Util.properties603 B
├── 📄 commands/Manager.js4.8 KB
├── 📄 commands/Processor.sql3.1 KB
├── 📄 src/main/java/Builder.java6.6 KB
├── 📄 migrations/Registry.js2.9 KB
├── 📄 serializer/Validator.py4.3 KB
├── 📄 implementation/Loader.php2.7 KB
├── 📄 serializer/Listener.ts3.5 KB
├── 📄 config/Converter.xml1.4 KB
├── 📄 embeddings/Helper.go2.9 KB
├── 📄 implementation/Client.cpp1.7 KB
├── 📄 config/Repository.json688 B
├── 📄 predict/Cache.py4 KB
├── 📄 lib/Controller.jar644 B
├── 📄 implementation/Queue.php3.9 KB
├── 📄 migrations/Service.cpp1.5 KB
├── 📄 serializer/Scheduler.py4.9 KB
├── 📄 implementation/Executor.java5.6 KB
├── 📄 embeddings/Parser.go2.5 KB
├── 📄 src/main/java/Worker.java4.8 KB
├── 📄 implementation/Resolver.js3.8 KB
├── 📄 predict/Buffer.ts2.5 KB
├── 📄 src/main/java/Engine.java6.8 KB
├── 📄 config/Proxy.properties604 B
├── 📄 serializer/Dispatcher.js4.5 KB
├── 📄 commands/Wrapper.sql3 KB
├── 📄 src/main/java/Transformer.java6.1 KB
├── 📄 predict/Observer.js3 KB
├── 📄 implementation/Handler.py5.3 KB
├── 📄 predict/Pool.php3.9 KB
├── 📄 commands/Factory.ts2.2 KB
├── 📄 config/Adapter.xml1.5 KB
├── 📄 predict/Provider.go2.6 KB
├── 📄 commands/Server.cpp1.6 KB
├── 📄 config/Util.json688 B
├── 📄 implementation/Manager.py4.8 KB
├── 📄 lib/Processor.jar644 B
├── 📄 commands/Builder.php3.8 KB
├── 📄 commands/Registry.cpp1.7 KB
├── 📄 implementation/Validator.py5 KB
├── 📄 src/main/java/Loader.java6.6 KB
├── 📄 predict/Listener.go3.6 KB
├── 📄 src/main/java/Converter.java6.4 KB
├── 📄 serializer/Helper.js3.3 KB
├── 📄 migrations/Client.ts2.8 KB
├── 📄 src/main/java/Repository.java6.6 KB
├── 📄 config/Cache.properties604 B
├── 📄 processor/Controller.js4.5 KB
├── 📄 STRUCTURE.txt3.2 KB

项目结构:

Folder : cunjisuanhexitong

Files : 71

Size : 226.5 KB

Generated: 2026-03-20 20:12:42

cunjisuanhexitong/
├── README.md [189 B]
├── commands/
│ ├── Builder.php [3.8 KB]
│ ├── Executor.php [3.7 KB]
│ ├── Factory.ts [2.2 KB]
│ ├── Manager.js [4.8 KB]
│ ├── Processor.sql [3.1 KB]
│ ├── Registry.cpp [1.7 KB]
│ ├── Server.cpp [1.6 KB]
│ ├── Transformer.cpp [1.5 KB]
│ └── Wrapper.sql [3 KB]
├── config/
│ ├── Adapter.xml [1.5 KB]
│ ├── Cache.properties [604 B]
│ ├── Converter.xml [1.4 KB]
│ ├── Engine.json [688 B]
│ ├── Proxy.properties [604 B]
│ ├── Repository.json [688 B]
│ ├── Util.json [688 B]
│ ├── Util.properties [603 B]
│ ├── Worker.xml [1.4 KB]
│ └── application.properties [604 B]
├── embeddings/
│ ├── Helper.go [2.9 KB]
│ ├── Parser.go [2.5 KB]
│ └── Parser.ts [2.6 KB]
├── implementation/
│ ├── Buffer.cpp [1.4 KB]
│ ├── Client.cpp [1.7 KB]
│ ├── Executor.java [5.6 KB]
│ ├── Handler.py [5.3 KB]
│ ├── Loader.php [2.7 KB]
│ ├── Manager.py [4.8 KB]
│ ├── Observer.py [5.4 KB]
│ ├── Queue.php [3.9 KB]
│ ├── Resolver.js [3.8 KB]
│ └── Validator.py [5 KB]
├── lib/
│ ├── Controller.jar [644 B]
│ ├── Dispatcher.jar [644 B]
│ └── Processor.jar [644 B]
├── migrations/
│ ├── Adapter.js [2.7 KB]
│ ├── Client.ts [2.8 KB]
│ ├── Registry.js [2.9 KB]
│ ├── Service.cpp [1.5 KB]
│ └── Wrapper.php [3.7 KB]
├── package.json [688 B]
├── pom.xml [1.6 KB]
├── predict/
│ ├── Buffer.ts [2.5 KB]
│ ├── Cache.py [4 KB]
│ ├── Factory.java [5.1 KB]
│ ├── Listener.go [3.6 KB]
│ ├── Observer.js [3 KB]
│ ├── Pool.go [2.9 KB]
│ ├── Pool.php [3.9 KB]
│ └── Provider.go [2.6 KB]
├── processor/
│ ├── Controller.js [4.5 KB]
│ ├── Provider.ts [3.6 KB]
│ ├── Proxy.py [5.1 KB]
│ ├── Resolver.go [3.4 KB]
│ └── Scheduler.py [5.1 KB]
├── serializer/
│ ├── Dispatcher.js [4.5 KB]
│ ├── Helper.js [3.3 KB]
│ ├── Listener.ts [3.5 KB]
│ ├── Scheduler.py [4.9 KB]
│ └── Validator.py [4.3 KB]
└── src/
├── main/
│ ├── java/
│ │ ├── Builder.java [6.6 KB]
│ │ ├── Converter.java [6.4 KB]
│ │ ├── Engine.java [6.8 KB]
│ │ ├── Handler.java [6.8 KB]
│ │ ├── Loader.java [6.6 KB]
│ │ ├── Repository.java [6.6 KB]
│ │ ├── Server.java [6.5 KB]
│ │ ├── Transformer.java [6.1 KB]
│ │ └── Worker.java [4.8 KB]
│ └── resources/
└── test/
└── java/

cpp
/**

  • @file deposit_calculator.cpp
  • @brief 存款计算工具 - 阿里云技术文档风格示例
  • @version 1.0.0
  • @date 2026-03-20
  • 本程序提供专业的存款收益计算功能,支持单利、复利计算模式,
  • 并输出详细的还款计划表。适用于金融计算场景。
    */

include

include

include

include

include

include

using namespace std;

/**

  • @brief 存款计算器类,封装核心计算逻辑
    */
    class DepositCalculator {
    private:
    double principal; // 本金
    double annualRate; // 年利率(百分比形式)
    int years; // 存款年限
    int compoundFrequency; // 复利频率(每年计息次数)

public:
/**

 * @brief 构造函数,初始化存款参数
 * @param p 本金金额
 * @param r 年利率(百分比,例如输入5表示5%)
 * @param y 存款年限
 * @param freq 复利频率(1=年,12=月,4=季,365=日)
 */
DepositCalculator(double p, double r, int y, int freq = 1) 
    : principal(p), annualRate(r), years(y), compoundFrequency(freq) {}

/**
 * @brief 计算单利终值
 * @return 单利终值金额
 */
double calculateSimpleInterest() const {
    return principal * (1 + (annualRate / 100) * years);
}

/**
 * @brief 计算复利终值
 * @return 复利终值金额
 */
double calculateCompoundInterest() const {
    double ratePerPeriod = (annualRate / 100) / compoundFrequency;
    int totalPeriods = years * compoundFrequency;
    return principal * pow(1 + ratePerPeriod, totalPeriods);
}

/**
 * @brief 获取详细收益报告(含逐年明细)
 * @param useCompound 是否使用复利模式
 * @return 格式化的报告字符串
 */
string getDetailedReport(bool useCompound) const {
    stringstream ss;
    ss << fixed << setprecision(2);

    if (useCompound) {
        ss << "==================== 复利存款收益报告 ====================\n";
        ss << "本金: " << principal << " 元\n";
        ss << "年利率: " << annualRate << "%\n";
        ss << "存款年限: " << years << " 年\n";
        ss << "复利频率: " << getFrequencyDescription() << "\n";
        ss << "--------------------------------------------------------\n";
        ss << "年份\t\t期末金额(元)\t\t年度利息(元)\n";

        double amount = principal;
        double ratePerPeriod = (annualRate / 100) / compoundFrequency;
        int periodsPerYear = compoundFrequency;

        for (int year = 1; year <= years; ++year) {
            double startAmount = amount;
            // 计算当年复利
            for (int p = 0; p < periodsPerYear; ++p) {
                amount *= (1 + ratePerPeriod);
            }
            double interest = amount - startAmount;
            ss << year << "\t\t" << amount << "\t\t" << interest << "\n";
        }
        ss << "--------------------------------------------------------\n";
        ss << "复利终值总额: " << amount << " 元\n";
        ss << "总收益金额: " << (amount - principal) << " 元\n";
    } else {
        ss << "==================== 单利存款收益报告 ====================\n";
        ss << "本金: " << principal << " 元\n";
        ss << "年利率: " << annualRate << "%\n";
        ss << "存款年限: " << years << " 年\n";
        ss << "--------------------------------------------------------\n";
        ss << "年份\t\t期末金额(元)\t\t年度利息(元)\n";

        double simpleAmount = principal;
        double yearlyInterest = principal * (annualRate / 100);

        for (int year = 1; year <= years; ++year) {
            simpleAmount = principal + principal * (annualRate / 100) * year;
            ss << year << "\t\t" << simpleAmount << "\t\t" << yearlyInterest << "\n";
        }
        ss << "--------------------------------------------------------\n";
        ss << "单利终值总额: " << simpleAmount << " 元\n";
        ss << "总收益金额: " << (simpleAmount - principal) << " 元\n";
    }

    return ss.str();
}

/**
 * @brief 获取复利频率的文字描述
 */
string getFrequencyDescription() const {
    switch(compoundFrequency) {
        case 1: return "每年计息1次";
        case 2: return "每半年计息1次";
        case 4: return "每季度计息1次";
        case 12: return "每月计息1次";
        case 365: return "每日计息1次";
        default: return "自定义频率";
    }
}

};

/**

  • @brief 用户输入验证与获取
  • @param prompt 提示信息
  • @param min 最小值
  • @param max 最大值
  • @return 验证后的输入值
    */
    double getValidatedInput(const string& prompt, double min, double max) {
    double value;
    while (true) {

     cout << prompt;
     cin >> value;
    
     if (cin.fail()) {
         cin.clear();
         cin.ignore(numeric_limits<streamsize>::max(), '\n');
         cout << "❌ 输入无效,请输入数字!\n";
     } else if (value < min || value > max) {
         cout << "❌ 输入范围应为 [" << min << ", " << max << "],请重新输入!\n";
     } else {
         cin.ignore(numeric_limits<streamsize>::max(), '\n');
         return value;
     }
    

    }
    }

/**

  • @brief 显示程序启动Banner(阿里云风格)
    */
    void showBanner() {
    cout << "\n";
    cout << "╔══════════════════════════════════════════════════════════╗\n";
    cout << "║ 阿里云 · 存款计算工具(Cloud Finance Calculator) ║\n";
    cout << "║ 专业级存款收益分析系统 | 版本 1.0.0 ║\n";
    cout << "╚══════════════════════════════════════════════════════════╝\n";
    cout << "\n";
    }

/**

  • @brief 主函数 - 程序入口
    */
    int main() {
    showBanner();

    cout << "📊 欢迎使用存款计算工具,请按照提示输入以下参数:\n\n";

    // 获取用户输入
    double principal = getValidatedInput("💰 请输入本金金额(元): ", 0.01, 1e9);
    double annualRate = getValidatedInput("📈 请输入年利率(%,例如输入5表示5%): ", 0.001, 100.0);
    int years = static_cast(getValidatedInput("⏱️ 请输入存款年限(年): ", 1, 100));

    // 选择计息方式
    cout << "\n🔄 请选择计息方式:\n";
    cout << " 1. 单利计算\n";
    cout << " 2. 复利计算\n";
    int interestType = static_cast(getValidatedInput("请选择(1或2): ", 1, 2));

    int compoundFreq = 1;
    if (interestType == 2) {

     cout << "\n📅 请选择复利频率:\n";
     cout << "   1. 每年计息1次\n";
     cout << "   2. 每半年计息1次\n";
     cout << "   3. 每季度计息1次\n";
     cout << "   4. 每月计息1次\n";
     cout << "   5. 每日计息1次\n";
     int freqChoice = static_cast<int>(getValidatedInput("请选择(1-5): ", 1, 5));
    
     switch(freqChoice) {
         case 1: compoundFreq = 1; break;
         case 2: compoundFreq = 2; break;
         case 3: compoundFreq = 4; break;
         case 4: compoundFreq = 12; break;
         case 5: compoundFreq = 365; break;
     }
    

    }

    // 创建计算器对象
    DepositCalculator calculator(principal, annualRate, years, compoundFreq);

    // 生成并输出报告
    cout << "\n";
    if (interestType == 2) {

     cout << calculator.getDetailedReport(true);
    

    } else {

     cout << calculator.getDetailedReport(false);
    

    }

    // 对比分析(如果当前为单利,额外显示复利对比)
    if (interestType == 1) {

     cout << "\n📌 提示:若采用复利(年计息)模式,收益对比:\n";
     DepositCalculator compoundCalc(principal, annualRate, years, 1);
     double compoundAmount = compoundCalc.calculateCompoundInterest();
     double simpleAmount = calculator.calculateSimpleInterest();
     cout << "   单利终值: " << fixed << setprecision(2) << simpleAmount << " 元\n";
     cout << "   复利终值: " << compoundAmount << " 元\n";
     cout << "   复利比单利多收益: " << (compoundAmount - simpleAmount) << " 元\n";
    

    }

    cout << "\n✨ 计算完成!感谢使用阿里云金融计算工具。\n";
    cout << "🔗 更多金融计算方案请访问:https://www.aliyun.com/product/finance\n\n";

    return 0;
    }

相关文章
|
11天前
|
人工智能 安全 Linux
【OpenClaw保姆级图文教程】阿里云/本地部署集成模型Ollama/Qwen3.5/百炼 API 步骤流程及避坑指南
2026年,AI代理工具的部署逻辑已从“单一云端依赖”转向“云端+本地双轨模式”。OpenClaw(曾用名Clawdbot)作为开源AI代理框架,既支持对接阿里云百炼等云端免费API,也能通过Ollama部署本地大模型,完美解决两类核心需求:一是担心云端API泄露核心数据的隐私安全诉求;二是频繁调用导致token消耗过高的成本控制需求。
5593 13
|
19天前
|
人工智能 JavaScript Ubuntu
5分钟上手龙虾AI!OpenClaw部署(阿里云+本地)+ 免费多模型配置保姆级教程(MiniMax、Claude、阿里云百炼)
OpenClaw(昵称“龙虾AI”)作为2026年热门的开源个人AI助手,由PSPDFKit创始人Peter Steinberger开发,核心优势在于“真正执行任务”——不仅能聊天互动,还能自动处理邮件、管理日程、订机票、写代码等,且所有数据本地处理,隐私完全可控。它支持接入MiniMax、Claude、GPT等多类大模型,兼容微信、Telegram、飞书等主流聊天工具,搭配100+可扩展技能,成为兼顾实用性与隐私性的AI工具首选。
22182 118