Program wczytujący układy pokerowe.

0

Witam
Mam pytanie i proszę o porade.
Chcę napisać program który wczyta dwa układy pokerowe opisane w osobnym pliku, karta pod karta i nie za bardzo wiem jak zinterpretować te karty.
Co mam to wczytane pliki. Mam nadzieje, że to dobrze jest i teraz czy zapisać to do tablicy dwuwymiarowej czy jest jakiś inny na to sposób proszę o pomoc.

#include <iostream>
#include <fstream>
#include <cstdlib>

using namespace std;

int main()
{

string linia;
fstream plik;

plik.open("uklad1.txt", ios::in);
if(plik.good() == true)
{
    while(!plik.eof())
    {
        getline(plik, linia);
    }
}
cout<<"\n";

plik.open("uklad2.txt", ios::in);
if(plik.good() == true)
{
    while(!plik.eof())
    {
        getline(plik, linia);
    }
}
return 0;

}

Plik z układem wygląda tak:

AA
KA
DA
WA
5A

Figury: A-as / K - król / D - dama / J - walet
a kolory: P pik, K kier, A karo, T trefl

3

Zacznij od obejrzenia pliku i podania jego formatu. Albo idź na forum wróżbitów.

0

Przeklej ten plik tutaj...

0
#include <vector>
#include <string>
#include <fstream>
#include <iostream>
#include <algorithm>
using namespace std;

struct Card
  {
   unsigned suit:2;
   unsigned rank:4;
   Card(unsigned suit,unsigned rank):suit(suit),rank(rank) {}
  };
const string suitNames("PKAT");
const vector<string> rankNames={"2","3","4","5","6","7","8","9","10","W","D","K","A"};

int main()
  {
   vector<Card> hand;
   ifstream fin("uklad1.txt");
   for(string line;getline(fin,line);)
     {
      size_t len=line.size();
      if((2<=len)&&(len<=3))
        {
         size_t suit=suitNames.find(line[--len]);
         if(suit<=3)
           {
            line.resize(len);
            size_t rank=find(rankNames.begin(),rankNames.end(),line)-rankNames.begin();
            if(rank<rankNames.size())
              {
               hand.push_back(Card(suit,rank));
               continue;
              }
           }
        }
     }
   cout<<"Odczytano:"<<endl;
   for(auto const &i:hand) cout<<rankNames[i.rank]<<suitNames[i.suit]<<endl;
   return 0;
  }

Radzę na pytania odpowiadać niżej, to że poprawiłeś post na początku zauważyłem z niewielkim opóźnieniem 31 i pół godziny.

0

napisze to jeszcze raz jeżeli jest tam nie zrozumiale.
Mam napisać program który pobierze od użytkownika 2 układy pokerowe opisane w oddzielnych plikach, porówna je i wskaże który jest wygrywający.
Każda karta w opisana jest w oddzielnej linii.
Układ pliku z kartą jest następujący:

AA
KA
DA
WA
5A

0

Wczytywanie dostałeś (a to było tematem wątku) - dalej klasyfikujesz karty, czyli: dwójka, trójka, czwórka, kolor itp po czym porównujesz.

1 użytkowników online, w tym zalogowanych: 0, gości: 1