Войти

Показать полную графическую версию : [решено] помогите решить задачу "колода карт"


virus8
28-01-2012, 15:30
Программа тасует колоду карт если не тяжело укажите на мои ошибки (все работает, только выводятся цифры вместо слов) - как сделать, чтоб выводилась масть и карта????
а то я не могу сам дойти.......

#include <iostream>
#include <ctime>

int main()
{
setlocale(LC_ALL, "Russian");
srand( (unsigned)time(NULL) );
enum mast {chervi, bubna, krest, pika};
enum karti { six, seven, eight, nine, ten, valet, dama, korol, tuz };
int x = rand()%4;
mast t;
t = mast(x);

int y = rand()%9;
karti k;
k = karti(y);

std::cout << "Тусуем колоду\n";
std::cout << "верхняя карта " << k << " " << x << "\n";
return 0;
}

Drongo
28-01-2012, 16:42
Так не пойдёт?#include <iostream>
using namespace std;
#include <ctime>
using std::time;

int main()
{
int i;
const char *Mast[4] = { "chervi", "bubna", "krest", "pika" };
const char *Karti[9] = { "six", "seven", "eight", "nine", "ten", "valet", "dama", "korol", "tuz" };

srand(time(0));
cout << "Tusuem karti\n\n";
cout << "\nVerchnya Karta: " << Mast[rand() % 4] << " " << Karti[rand() % 9] << "\n\n";
cin >> i;

return 0;
}

virus8
28-01-2012, 18:31
Супер спасибо!!!! а такой вопрос Mast[rand() % 4] - в скобках - это масив???
и все равно через enum желательно было бы.....

Drongo
28-01-2012, 18:39
а такой вопрос Mast[rand() % 4] - в скобках - это масив??? »В скобках рандомный выбор индекса массива.

El Scorpio
01-02-2012, 06:30
и все равно через enum желательно было бы..... »
enum - это просто целочисленный тип данных, тот же самый int, у которого вместо цифр в исходном тексте программы используются понятные человеку идентификаторы.
enum рекомендуется использовать для целочисленных переменных или результатов функций, которые в процессе выполнения программы получают строго определённые значения. В этом случае исчезает необходимость просматривать весь код в поисках нужной цифры, если внезапно потребовалось изменить её значение.

Повторяю: значения переменных типа enum - это цифры, а не строки. Для вывода текстового представления этих значений придётся использовать способ Drongo

virus8
02-02-2012, 22:04
Спасибо за пояснения!!

Teka_malai_DSB@twitter
04-06-2015, 19:22
Drongo, помоги пожалуйста написать аналогичную программу, сам в просто не шарю, Создать колоду карт. Конструкторы колоды должны инициализировать колоду упорядочено и случайным образом. Создать производный класс от колоды – пасьянс, в котором выбираются по три карты и, если две крайние одного цвета, то их выбрасывают. Всю колоду проходят три раза. Программа должна содержать меню, позволяющее осуществить проверку всех методов классов.




© OSzone.net 2001-2012