我有一个我正在研究的程序,它类似于拼字游戏。下面这个程序是一个“小程序”,但是它应该能够打印出两个玩家的 7 个起始牌。这个小程序似乎应该可以完全运行,但它只是崩溃了。你们有一个想法,为什么它不运行。非常感谢您的宝贵时间!:D
#include <iostream>
#include <string>
#include <fstream>
#include <cstdlib>
#include <ctime>
#include <cctype>
using namespace std;
void selectTiles(char (*lettArray)[53], char (*playPieces)[8], char (*compPieces)[8])
{
int pP1, pP2, pP3, pP4, pP5, pP6, pP7;
int cP1, cP2, cP3, cP4, cP5, cP6, cP7;
//0000000
srand(time(NULL));
rand();
pP1=rand()%53;
(*playPieces)[0]=(*lettArray)[pP1];
strcpy((lettArray)[pP1],"*");
do{
pP2=rand()%53;
(*playPieces)[1]=(*lettArray)[pP2];
}while(strcmp((lettArray)[pP2],"*")==0);
do{
pP3=rand()%53;
(*playPieces)[2]=(*lettArray)[pP3];
}while(strcmp((lettArray)[pP3],"*")==0);
do{
pP4=rand()%53;(*playPieces)[3]=(*lettArray)[pP4];
}while(strcmp((lettArray)[pP4],"*")==0);
do{
pP5=rand()%53;(*playPieces)[4]=(*lettArray)[pP5];
}while(strcmp((lettArray)[pP5],"*")==0);
do{
pP6=rand()%53;(*playPieces)[5]=(*lettArray)[pP6];
}while(strcmp((lettArray)[pP6],"*")==0);
do{
pP7=rand()%53;(*playPieces)[6]=(*lettArray)[pP7];
}while(strcmp((lettArray)[pP7],"*")==0);
do{
cP1=rand()%53;(*compPieces)[0]=(*lettArray)[cP1];
}while(strcmp((lettArray)[cP1],"*")==0);
do{
cP2=rand()%53;(*compPieces)[1]=(*lettArray)[cP2];
}while(strcmp((lettArray)[cP2],"*")==0);
do{
cP3=rand()%53;(*compPieces)[2]=(*lettArray)[cP3];
}while(strcmp((lettArray)[cP3],"*")==0);
do{
cP4=rand()%53;(*compPieces)[3]=(*lettArray)[cP4];
}while(strcmp((lettArray)[cP4],"*")==0);
do{
cP5=rand()%53;(*compPieces)[4]=(*lettArray)[cP5];
}while(strcmp((lettArray)[cP5],"*")==0);
do{
cP6=rand()%53;(*compPieces)[5]=(*lettArray)[cP6];
}while(strcmp((lettArray)[cP6],"*")==0);
do{
cP7=rand()%53;(*compPieces)[6]=(*lettArray)[cP7];
}while(strcmp((lettArray) [cP7],"*")==0);
//0000000
}
int main()
{
char lettArray[53]="AABBCCDDEEFFGGHHIIJJKKLLMMNNOOPPQQRRSSTTUUVVWWXXYYZZ";
char (*pLetters)[53]=&lettArray;
char player[8];
char (*pPlayer)[8]=&player;
char computer[8];
char (*pComputer)[8]=&computer;
selectTiles(pLetters,pPlayer,pComputer);
for (int i=0;i<53;i++)
cout<<"|"<<lettArray[i]<<"|";
cout<<endl;
for (int i=0;i<8;i++)
cout<<"|"<<player[i]<<"|";
cout<<endl;
for (int i=0;i<8;i++)
cout<<"|"<<computer[i]<<"|";
cout<<endl;
system("pause");
}