C++ 55行C和x2B+;调试时代码崩溃
下午好 我正在玩C++,现在我正在尝试创建一副牌。我已经做了我认为已经创造了52张卡片,然后尝试随机抽出一张,看看它能容纳多少数字和适合。当我这样做时,它会构建项目,然后我会看到一个弹出窗口,显示cards.exe已停止工作。我不确定我做错了什么,我会在下面发布我的代码,同时寻找如何改进我已经做过的事情的建议 谢谢C++ 55行C和x2B+;调试时代码崩溃,c++,C++,下午好 我正在玩C++,现在我正在尝试创建一副牌。我已经做了我认为已经创造了52张卡片,然后尝试随机抽出一张,看看它能容纳多少数字和适合。当我这样做时,它会构建项目,然后我会看到一个弹出窗口,显示cards.exe已停止工作。我不确定我做错了什么,我会在下面发布我的代码,同时寻找如何改进我已经做过的事情的建议 谢谢 //============================================================================ // Name
//============================================================================
// Name : cards.cpp
// Author :
// Version :
// Copyright : Your copyright notice
// Description : Hello World in C++, Ansi-style
//============================================================================
#include <iostream>
using namespace std;
struct card {
int value; // 1-13
char suit;//H D S C
};
int main() {
char suit;
card **deck;
deck = new card *[52];
//first loop to run every card second loop to place 13 cards per suit
for (int i; i <=13; i++){
for (int j; j <=4; j++ ){
//use a s witch to determine what suit we are on
switch (j){
case 1:
suit = 'H';
break;
case 2:
suit = 'D';
break;
case 3:
suit = 'S';
break;
default:
suit = 'C';
break;
}
deck[i] = new card;
deck[i]->value = i;
deck[i]->suit= suit;
}
}
cout << deck[3]->value <<deck[3]->suit;
return 0;
}
//============================================================================
//名称:cards.cpp
//作者:
//版本:
//版权:您的版权声明
/ C++:ANSI风格的Hello World
//============================================================================
#包括
使用名称空间std;
结构卡{
int值;//1-13
char suit;//H D S C
};
int main(){
炭服;
卡片**甲板;
卡片组=新卡片*[52];
//第一个循环运行每一张卡第二个循环放置13张卡每套
for(int i;i suit=suit;
}
}
cout value您需要在中为(int j;j)初始化j。解决此类问题的正确工具是调试器。在询问堆栈溢出之前,您应该逐行检查代码。有关更多帮助,请阅读。至少,您应该[编辑]您的问题将包括一个重现您的问题的示例,以及您在调试器中所做的观察。在第一个for
循环中修复初始化i和i
后,在调试器下运行您的代码,然后返回比“这有什么问题?”更具体的内容。。。