hello141219 2024-04-06 16:55 采纳率: 14.3%
浏览 2

C++程序报错,有没有人来帮帮我?

我今天用c++做了一个支付小程序,结果报错了,代码如下:

#include <iostream>
#include <fstream>
#include <string>
#include <vector>
 
struct User {
    std::string username;
    std::string password;
    double balance;
};
 
int main() {
    std::vector<User> users;
    std::string username, password;
    int choice;
    double amount;
 
    // 从文件中读取用户数据
    std::ifstream input("users.txt");
    while (input >> username >> password >> amount) {
        users.push_back({username, password, amount});
    }
    input.close();
 
    while (true) {
        std::cout << "1.注册 2.登录 3.退出\n请选择操作:";
        std::cin >> choice;
 
        if (choice == 1) {
            std::cout << "请输入用户名:";
            std::cin >> username;
            std::cout << "请输入密码:";
            std::cin >> password;
            users.push_back({username, password, 0});
            std::cout << "注册成功!";
        } else if (choice == 2) {
            std::cout << "请输入用户名:";
            std::cin >> username;
            std::cout << "请输入密码:";
            std::cin >> password;
 
            bool found = false;
            for (const auto& user : users) {
                if (user.username == username && user.password == password) {
                    found = true;
                    std::cout << "登录成功!";
                    while (true) {
                        std::cout << "1.充值 2.支付 3.查看余额 4.退出登录\n请选择操作:";
                        std::cin >> choice;
 
                        if (choice == 1) {
                            std::cout << "请输入充值金额:";
                            std::cin >> amount;
                            User.balance += amount;
                            std::cout << "充值成功!";
                        } else if (choice == 2) {
                            std::cout << "请输入支付金额:";
                            std::cin >> amount;
                            if (User.balance >= amount) {
                                User.balance -= amount;
                                std::cout << "支付成功!";
                            } else {
                                std::cout << "余额不足!";
                            }
                        } else if (choice == 3) {
                            std::cout << "当前余额:" << User.balance << std::endl;
                        } else if (choice == 4) {
                            break;
                        } else {
                            std::cout << "无效的选择,请重新输入!";
                        }
                    }
                    break;
                }
            }
            if (!found) {
                std::cout << "用户名或密码错误!";
            }
        } else if (choice == 3) {
            break;
        } else {
            std::cout << "无效的选择,请重新输入!";
        }
    }
 
    // 将用户数据写入文件
    std::ofstream output("users.txt");
    for (const auto& user : users) {
        output << user.username << " " << user.password << " " << user.balance << std::endl;
    }
    output.close();
 
    return 0;
}

报错信息:

                C:\Users\cxy\Desktop\c++\支付小程序\index.cpp    In function 'int main()':
54    33    C:\Users\cxy\Desktop\c++\支付小程序\index.cpp    [Error] expected unqualified-id before '.' token
59    37    C:\Users\cxy\Desktop\c++\支付小程序\index.cpp    [Error] expected unqualified-id before '.' token
60    37    C:\Users\cxy\Desktop\c++\支付小程序\index.cpp    [Error] expected unqualified-id before '.' token
66    62    C:\Users\cxy\Desktop\c++\支付小程序\index.cpp    [Error] expected primary-expression before '.' token
  • 写回答

2条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2024-04-06 18:25
    关注

    【相关推荐】




    如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^
    评论

报告相同问题?

问题事件

  • 创建了问题 4月6日

悬赏问题

  • ¥20 python忆阻器数字识别
  • ¥15 无法输出helloworld
  • ¥15 高通uboot 打印ubi init err 22
  • ¥20 PDF元数据中的XMP媒体管理属性
  • ¥15 R语言中lasso回归报错
  • ¥15 网站突然不能访问了,上午还好好的
  • ¥15 有没有dl可以帮弄”我去图书馆”秒选道具和积分
  • ¥15 semrush,SEO,内嵌网站,api
  • ¥15 Stata:为什么reghdfe后的因变量没有被发现识别啊
  • ¥15 振荡电路,ADS仿真