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;
}
}