这是作业帮助。我得到了一个简单的发牌程序,并且我得到了创建一个列表类的任务,该类可以记录每个花色的等级。我现在遇到的问题是我的输出。我已经通过一个循环对每个花色进行迭代,并且在击中停止牌后,循环停止并且我必须输出从每个花色中抽出的牌。
我的输出函数看起来像这样。
void list::Output(){
while(curr!=NULL){
cout << curr->data;
curr = curr->next;
}
}
这是将字符串放入列表之一的循环之一。
list Deck[4];
if (suit2 == suit[0]){ //suit2 is the suit of the current card
for (int i=0;i<13;i++){ //suit is a const string array provided by the teacher
if (rank2 == rank[i]) //rank2 is the current rank, rank is the const string
Deck[0].Input(i);
}
}
当我调用输出函数时,它似乎工作正常。也就是说,直到我尝试添加一个 endl; 在它之后或添加任何类型的标准输出。当我尝试这样做时,输出会全部间隔开并且格式奇怪。
例如,当我简单地写
Deck[0].Output();
它编译得很好,输出也很好,如下所示:
King Jack 8 Jack 6 Ace%
但是当我在它之后添加一个 endl 时:
Deck[0].Output();
cout << endl;
它编译得很好,但输出如下:
King
Jack
8
Jack
6
Ace
这可能是什么原因造成的?这非常令人沮丧。