Program rozdajacy karty

0

Witam mam przykładowe zadanie jest 4 graczy i mam im rozdzielić karty losowo,karty nie moga sie powtarzać i potem zapisać do do pliku.
Karty od 2 do asa,kolory mają nazwy S,H,D,C
Zrobiłem to mniej więcej tak:
Rozwiązanie wydaje mi się dobre,ale gdzieś program się zawiesza...

 #include <iostream>
#include <algorithm>
#include<conio.h>
#include <time.h>
#include <string>
#include <fstream>
using namespace std;
void deal(const string &Filename);

int main()
{
	const string filename = "plik.txt";
	srand(time(NULL));
	deal(filename);
	_getch();
}
void deal(const string &Filename)
{
	fstream plik;
	plik.open(Filename, ios::out);
	if (plik.good())
	{
		string gracz1 = "N ";
		string gracz2 = "S ";
		string gracz3 = "E ";
		string gracz4 = "W ";
		string tal[52];
		string kol[4] = { "S","H","D","C" };
		string post[13] = { "2","3","4","5","6","7","8","9","10","J","D","K","A" };
		int z = 0;
		for (int i = 0; i < 4; ++i)
		{
			for (int j = 0; j < 13; ++j)
			{
				tal[z] = post[j] + kol[i];
				z++;
			}
		}
		random_shuffle(begin(tal), end(tal));
		for (int i = 0; i < 52; ++i)
		{
			while (i < 13)
			{
				gracz1 = gracz1 + tal[i] + " ";
				continue;
			}
			while (i < 26)
			{
				gracz3 = gracz3 + tal[i] + " ";
				continue;
			}
			while (i < 39)
			{
				gracz2 = gracz2 + tal[i] + " ";
				continue;
			}
			while (i < 52)
			{
				gracz4 = gracz4 + tal[i] + " ";
				continue;
			}
		}
		cout << "Gracz1 " << gracz1;
		plik << gracz1 << endl << gracz3 << endl << gracz2 << endl << gracz4;
	}
	plik.close();

}
1
        for (int i = 0; i < 52; ++i)
        {
            while (i < 13)
            {
                gracz1 = gracz1 + tal[i] + " ";
                continue;
            }
        //...
        }

Kiedy skończy się tak wewnętrzna pętla? Pomyliłeś while z if.

0

Fakt,dziękuje

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