先週のコンピュータ サイエンスのクラスで、次のようなファイルから「カード」をインポートする関数を含むプログラムを作成しました。
struct card
{
char rank[10];
char suit[10];
char color;
bool dealt;
char location[12];
};
.
void importCard(card deck[])
{
ifstream fin;
fin.open("deck.txt");
int index;
for(index=0;index<52;index++)
{
fin >> deck[index].rank;
fin >> deck[index].suit;
if(deck[index].suit[0]==('d')||deck[index].suit[0]==('h'))
{
deck[index].color='r';
}
else
{
deck[index].color='b';
}
deck[index].dealt=false;
}
}
基本的に、私はこの関数内でドット演算子を多用しています。
今、私の課題は、これを修正して、すべての角括弧の代わりにポインターを使用することです。ただし、次のようなものを使用すると機能しません
fin >> *deckPointer.suit;
ポインターはドット演算子では機能しないためです。では、すべてのカードをループするには、これをどのように記述すればよいでしょうか? 1 枚のカードをループするように記述する方法は知っていますが、すべてのカードをループする方法はわかりません。また、ベクターなどの他の高度なツールは使用できないため、お勧めしません。また、ポインターを ++ と -- でインクリメントすることだけが許可されており、他の量ではインクリメントできません。