3221225477错误

C++报错uwu

###### 用代码块功能插入代码,请勿粘贴截图 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
using namespace std;

int main() {
    string backpack [30];
    ifstream in;

    in.open("个人存档.txt");
    if (in.fail()) {
        cout << "请在游戏目录创建 个人存档.txt ";
        exit(1);
    }//这一段可以改为 exit(in.fail());

    int bengdai;
    int health;
    in >> bengdai;
    in >> health;
    in.close();
    double Verson = 0.01;
    int armor = 0;
    int chose_game;
    for (int i = bengdai - i ; i >= 0 ; i--) {
        backpack [i] = "绷带";
    }
    cout << "欢迎来到简易版EFT \n V" << Verson << endl;
    cout << "" << endl;
    cout << "请选择你的功能:" << endl;
    cout << "" << endl;
    cout << "1.物资搜索" << endl;
    cout << "2.查看仓库,玩家属性,道具使用" << endl;
    cout << "3.exit" << endl;
    cout << "4.查看更新日志" << endl;
    cin >> chose_game;
    switch (chose_game) {
        case 1: {
            srand((unsigned)time(NULL));
            int how_many = rand() % 10;
            cout << "已进入" << endl;
            cout << "已返回,带回了" << how_many << "绷带" << endl;
            bengdai += how_many;
            ofstream out;
            out.open("个人存档.txt");
            if (out.fail()) {
                cout << "请在游戏目录创建 个人存档.txt ";
                exit(1);
            }
            out << bengdai;
            out << health;
            out.close();

            out.open("个人存档.txt");
            out << bengdai;
            out << health;
            out.close();
            cout << "已将此值存放。";
            return 0;
        }

        case 2: {

            cout << "" << endl;
            for (int i = 29 ; i >= 0 ; i--) {
                cout << 30 - i << backpack [i] << endl;
            }
            cout << "玩家生命值:" << health << endl;
            cout << "玩家盔甲值:" << armor << endl;
            char c;
            cout << "你想使用绷带吗?(Y/N)" << endl;
            cin >> c;
            if (c = 'Y') {
                bengdai--;
                health += 10;
                cout << "使用成功!" << endl;
            }
            ofstream out;
            out.open("个人存档.txt");
            if (out.fail()) {
                cout << "请在游戏目录创建 个人存档.txt ";
                exit(1);
            }
            out << bengdai;
            out << health;
            out.close();

            out.open("个人存档.txt");
            out << bengdai;
            out << health;
            out.close();
            cout << "已将此值存放。";
            return 0;
        }
        case 3:
            return 0;
        case 4:
            cout << "目前物资搜索没做好,进去直接带物资且只带绷带 \n 我那打怪的文件不见了会重新写 \n 目前为测试版请见谅" << endl;
    }
}

运行结果:
Process exited after 0.2198 seconds with return value 3221225477
请按任意键继续. . .

解决3221225477

78 行:
if (c = 'Y') {
改为 ==

第30行 for (int i = bengdai - i ; i >= 0 ; i--) {
是不是 i = bengdai - 1, 不是 -i?
并且有判断一下这个bengdai是多少吗?如果大于30啥的
还有楼上说的 78行 有个逻辑错误

个人存档的内容,还有你的输入。

个人存档.txt 里需要有2个数值。


#include <iostream>
#include <vector>
#include <string>
#include <cstdlib>
#include <ctime>
#include <fstream>
#include <cstdio>
#include <windows.h>
using namespace std;

int main()
{
    string backpack[30];
    ifstream in;

    in.open("个人存档.txt");
    if (in.fail())
    {
        cout << "请在游戏目录创建 个人存档.txt ";
        exit(1);
    } //这一段可以改为 exit(in.fail());

    int bengdai;
    int health;
    in >> bengdai;
    in >> health;
    in.close();
    double Verson = 0.01;
    int armor = 0;
    int chose_game;
    for (int i = bengdai - i; i >= 0; i--)
    {
        backpack[i] = "绷带";
    }
    while (1) //
    {
        system("cls");
        cout << "欢迎来到简易版EFT \n V" << Verson << endl;
        cout << "" << endl;
        cout << "请选择你的功能:" << endl;
        cout << "" << endl;
        cout << "1.物资搜索" << endl;
        cout << "2.查看仓库,玩家属性,道具使用" << endl;
        cout << "3.exit" << endl;
        cout << "4.查看更新日志" << endl;
        cin >> chose_game;
        switch (chose_game)
        {
        case 1:
        {
            srand((unsigned)time(NULL));
            int how_many = rand() % 10;
            cout << "已进入" << endl;
            cout << "已返回,带回了" << how_many << "绷带" << endl;
            bengdai += how_many;
            ofstream out;
            out.open("个人存档.txt");
            if (out.fail())
            {
                cout << "请在游戏目录创建 个人存档.txt ";
                exit(1);
            }
            out << bengdai << " "; //
            out << health;
            out.close();

            // out.open("个人存档.txt");
            // out << bengdai << " "; //
            // out << health;
            // out.close();
            cout << "已将此值存放。";
            break; // return 0;
        }

        case 2:
        {

            cout << "" << endl;
            for (int i = 29; i >= 0; i--)
            {
                cout << 30 - i << backpack[i] << endl;
            }
            cout << "玩家生命值:" << health << endl;
            cout << "玩家盔甲值:" << armor << endl;
            char c;
            cout << "你想使用绷带吗?(Y/N)" << endl;
            cin >> c;
            if (c == 'Y' || c == 'y') //
            {
                bengdai--;
                health += 10;
                cout << "使用成功!" << endl;
            }
            ofstream out;
            out.open("个人存档.txt");
            if (out.fail())
            {
                cout << "请在游戏目录创建 个人存档.txt ";
                exit(1);
            }
            out << bengdai << " "; //
            out << health;
            out.close();

            // out.open("个人存档.txt");
            // out << bengdai;
            // out << health;
            // out.close();
            cout << "已将此值存放。";
            break; // return 0;
        }
        case 3:
            return 0;
        case 4:
            cout << "目前物资搜索没做好,进去直接带物资且只带绷带 \n 我那打怪的文件不见了会重新写 \n 目前为测试版请见谅" << endl;
            break;
        }
    }
}

个人存档的内容有两个


#include <iostream>
#include <vector>
#include <string>
#include <cstdlib>
#include <ctime>
#include <fstream>
#include <cstdio>
#include <windows.h>
using namespace std;

int main() {
    string backpack[30];
    ifstream in;

    in.open("个人存档.txt");
    if (in.fail()) {
        cout << "请在游戏目录创建 个人存档.txt ";
        exit(1);
    }//这一段可以改为 exit(in.fail());

    int bengdai;
    int health;
    in >> bengdai;
    in >> health;
    in.close();
    double Verson = 0.01;
    int armor = 0;
    int chose_game;
    for (int i = bengdai ; i >= 0; i--) {
        backpack[i] = "绷带";
    }
    cout << "欢迎来到简易版EFT \n V" << Verson << endl;
    cout << "" << endl;
    cout << "请选择你的功能:" << endl;
    cout << "" << endl;
    cout << "1.物资搜索" << endl;
    cout << "2.查看仓库,玩家属性,道具使用" << endl;
    cout << "3.exit" << endl;
    cout << "4.查看更新日志" << endl;
    cin >> chose_game;
    switch (chose_game) {
    case 1: {
        srand((unsigned)time(NULL));
        int how_many = rand() % 10;
        cout << "已进入" << endl;
        cout << "已返回,带回了" << how_many << "绷带" << endl;
        bengdai += how_many;
        ofstream out;
        out.open("个人存档.txt");
        if (out.fail()) {
            cout << "请在游戏目录创建 个人存档.txt ";
            exit(1);
        }
        out << bengdai;
        out << health;
        out.close();

        out.open("个人存档.txt");
        out << bengdai;
        out << health;
        out.close();
        cout << "已将此值存放。";
        return 0;
    }

    case 2: {

        cout << "" << endl;
        for (int i = 29; i >= 0; i--) {
            cout << 30 - i << backpack[i] << endl;
        }
        cout << "玩家生命值:" << health << endl;
        cout << "玩家盔甲值:" << armor << endl;
        char c;
        cout << "你想使用绷带吗?(Y/N)" << endl;
        cin >> c;
        if (c == 'Y') {
            bengdai--;
            health += 10;
            cout << "使用成功!" << endl;
        }
        ofstream out;
        out.open("个人存档.txt");
        if (out.fail()) {
            cout << "请在游戏目录创建 个人存档.txt ";
            exit(1);
        }
        out << bengdai;
        out << health;
        out.close();

        out.open("个人存档.txt");
        out << bengdai;
        out << health;
        out.close();
        cout << "已将此值存放。";
        return 0;
    }
    case 3:
        return 0;
    case 4:
        cout << "目前物资搜索没做好,进去直接带物资且只带绷带 \n 我那打怪的文件不见了会重新写 \n 目前为测试版请见谅" << endl;
    }
}