Hej jag har problem när det kommer till att använda sig av c++
Jag ska skapa en funktion pickCards(int nbrOfCards) som väljer ut de N första korten ur kortleken där 0 < N < 53.
Funktionskrav:
• De utvalda korten ska kopieras och läggas i en egen lista hand.
• Kortleken ska fortfarande innehålla de utvalda korten.
#include "stdafx.h"
#include <string>
#include <iostream>
#include <list>
#include <fstream>
#include <cstdlib> // Used for function rand()
#include <time.h>using namespace std;
struct Card
{
string color;
int value;
};Card cardDeck[52];
list<int> hand;fstream cardFile;
int randSeed;int ReadDeck(const char * fileName)
{
cardFile.open(fileName, ios_base::in);for (int i = 0; i < 52; i++)
{
if (cardFile.eof())
return 1;cardFile >> cardDeck[i].color;
cardFile >> cardDeck[i].value;
}
cardFile.close();
return 0;
}int WriteDeck(const char * fileName)
{
cardFile.open(fileName, ios_base::out);
for (int i = 0; i < 52; i++)
{
cardFile << cardDeck[i].color << " " << cardDeck[i].value << endl;
}
cardFile.close();
return 0;
}void MixDeck()
{
string color;
int value;
int randIndex;for (int i = 0; i < 52; i++)
{
((int)time(NULL));
randIndex = rand() % 52;color = cardDeck[i].color;
value = cardDeck[i].value;cardDeck[i].color = cardDeck[randIndex].color;
cardDeck[i].value = cardDeck[randIndex].value;cardDeck[randIndex].color = color;
cardDeck[randIndex].value = value;
}
}int pickCards(int nbrOfCards)
{
for (int i = 0; i < nbrOfCards; i++)
{}
}
int main(int argc, char* argv[])
{
int result;if ((argc < 2) || (argc > 3))
return 1;const char* cardDeckFileName = argv[1];
cardDeckFileName = argv[1];result = ReadDeck(cardDeckFileName);
if (result != 0)
return result;MixDeck();
cout << "Mixing card deck." << endl;
cout << "First card is now: " << cardDeck[0].color << " " << cardDeck[0].value << "\n\n";
WriteDeck(cardDeckFileName);
return 0;
}
Jag har en textfil som innehåller alla korten
om det är någon som vill hjälpa är det snällt av er :)