Форум программистов, компьютерный форум CyberForum.ru

Программа про карты - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Вывод результата, начиная с 5-й строки. http://www.cyberforum.ru/cpp-beginners/thread333099.html
День добрый! Замучился вот с чем: Есть программа, выводящая на экран содержимое журнала системы для конкретного события. Мне надо надо отбросить лишнюю информацию и оставить лишь дату, время и имя компа, на котором произошло событие. Дальше уже я буду работать с ними. Не могу понять как это осуществить. #include <iostream> #include <stdio.h> #include <string.h> #include <stdlib.h>...
C++ ...нужны..проги скиньте пожалуйста программы на файлы ..желательно с условием..зарание спасибо!! http://www.cyberforum.ru/cpp-beginners/thread333084.html
C++ Two Threads + CriticalSection
код... #include <stdio.h> #include <stdlib.h> #define WIN32_LEAN_AND_MEAN #define _WIN32_WINNT 0x0500 #include <windows.h> //#pragma comment(lib, "Kernel32.lib")
C++ головоломка для знающих...
Описать функцию Ln1(x, ) вещественного типа (параметры x,  — вещественные, |x| < 1,  > 0), находящую приближенное значение функции ln(1 + x): ln(1 + x) = x – x2/2 + x3/3 – … + (–1)n•xn+1/(n+1) + … . В сумме учитывать все слагаемые, модуль которых больше . С помощью Ln1 найти приближенное значение ln(1 + x) для данного x при шести данных . :scratch:
C++ Значения матрицы http://www.cyberforum.ru/cpp-beginners/thread333026.html
найти 2 наибольших значения из четных столбцов и их индексы записать функцией
C++ Получить из кода символ Нужно как-то перегнать код символа (по таблице ASCII символов) в символ. Как это можно сделать? Допустим у меня есть строка string str1. Я хочу получить записать в неё символ с кодом 65, как это сделать? Вариант "запиши туда букву A и всё" не подойдёт так как программа будет писать символы по кодам и я заранее не знаю какой код будет, весь алфавит case'ом пробегать будет по быдлокодерски же.... подробнее

Показать сообщение отдельно
parkito
 Аватар для parkito
11 / 11 / 2
Регистрация: 22.03.2010
Сообщений: 685
14.07.2011, 20:18     Программа про карты
Дана программа

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
 
enum Suit { clubs, diamonds, hearts, spades };
 
const int jack = 11;
const int queen = 12;
const int king = 13;
const int ace = 14;
 
class card
{
  private:
    int number;
    Suit suit;
  public:
    card ( ) 
      { }
    void set ( int n, Suit s ) 
      { suit = s; number = n; }
    void display ( );          
};
 
void card::display ( )
{
  if ( number >= 2 && number <= 10 )
    cout << number;
  else
  {
    switch ( number )
    {
      case jack: cout << 'J'; break;
      case queen: cout << 'Q'; break;
      case king: cout << 'K'; break;
      case ace: cout << 'A'; break;
    }
  }
  switch ( suit )
  {
    case clubs: cout << static_cast<char>( 5 ); break;
    case diamonds: cout << static_cast<char>( 4 ); break;
    case hearts: cout << static_cast<char>( 3 ); break;
    case spades: cout << static_cast<char>( 6 ); break;
  }
}
 
int main ( )
{setlocale(LC_ALL,"Rus");
  card deck [ 52 ];
  int j;
 
  cout << endl;
  for ( j = 0; j < 52; j++ )  
  {
    int num = ( j % 13 ) + 2;
    Suit su = Suit ( j / 13 );
    deck [ j ].set ( num, su );
  }
  
  cout << "Исходная колода:\n";
  for ( j = 0; j < 52; j++ )
  {
    deck [ j ].display ( );
    cout < "  ";
    if ( !( ( j + 1 ) % 13 ) ) 
      cout << endl;
  }
  srand ( time ( NULL ) );     
  for ( j = 0; j < 52; j++ )
  {
    int k = rand ( ) % 52;    
    card temp = deck [ j ];    
    deck [ j ] = deck [ k ];
    deck [ k ] = temp;
  }
  
  cout << "\nПеремешанная колода:\n";
  int hj=0;
  for ( j = 0; j < 52; j++ )
  {
    deck [ j ].display ( );
    cout << "  ";
    if ( !( ( j + 1 ) % 13 ) ) 
    {
    {if(hj==12)
    {cout<<"Колода "<<1<<"-ого игрока "<<endl;}
    else if(hj==25)
        {cout<<"Колода "<<2<<"-ого игрока "<<endl;}
    else if(hj==38)
    {cout<<"Колода "<<3<<"-ого игрока "<<endl;}
    else if(hj==51)
        {cout<<"Колода "<<4<<"-ого игрока "<<endl;}
    cout << endl;
    cout << endl;
    cout << endl;
    hj++;
    }
    }}
  cin.get();
   cin.get();
  return 0;
}
Вопрос: почему данная структура не работает

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
for ( j = 0; j < 52; j++ )
  {
    deck [ j ].display ( );
    cout << "  ";
    if ( !( ( j + 1 ) % 13 ) ) 
    {
    {if(hj==12)
    {cout<<"Колода "<<1<<"-ого игрока "<<endl;}
    else if(hj==25)
        {cout<<"Колода "<<2<<"-ого игрока "<<endl;}
    else if(hj==38)
    {cout<<"Колода "<<3<<"-ого игрока "<<endl;}
    else if(hj==51)
        {cout<<"Колода "<<4<<"-ого игрока "<<endl;}
    cout << endl;
    cout << endl;
    cout << endl;
    hj++;
    }
    }}
А эта работает

C++
1
2
3
4
5
6
7
8
9
10
11
12
int hj=0;
  for ( j = 0; j < 52; j++ )
  {
    deck [ j ].display ( );
    cout << "  ";
    if ( !( ( j + 1 ) % 13 ) ) // начинаем новую строку после каждой 13-й карты
    {cout<<"Колода "<<hj+1<<"-ого игрока "<<endl;cout << endl;
    cout << endl;
    cout << endl;}
    hj++;
  }
  cin
???
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 06:54. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru