Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
2 / 2 / 0
Регистрация: 18.12.2019
Сообщений: 196
1

Написать функцию, выводящую на экран переданную ей игральную карту

30.03.2020, 18:38. Показов 801. Ответов 1
Метки нет (Все метки)

Написать функцию, выводящую на экран переданную ей игральную карту.
Нашел вот такой вот вариант реализации задачи. Понравился, забрал. Но есть проблема с выводом масти карты. Помогите, пожалуйста, исправить.

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
#include<iostream>
#include<iomanip> //для функцій setw() і setfill()
using namespace std;
 
void showCard(int _suit, int _num)
{
    int filler = 6;                               // заповнення пробілами в функції setw()
    char upLeftCorner = 218, upRightCorner = 191, horizontalLine = 196, verticalLine = 179, downLeftCorner = 192, downRightCorner = 217; //символи контура карти
    char charCard[13] = { 'A','2','3','4','5','6','7','8','9','0','J','Q','K' };               //масив назви(номеру) карти
    _suit += 2;                                //встановлення коду ASCII символа масті
 
    system("cls");
    cout << upLeftCorner << setfill(horizontalLine) << setw(8) << upRightCorner << endl;             //верхня лінія
    if (_num == 10)                               //якщо карта Десятка
    {
        filler--;                               //зменшуєм величину автозаповнення
        cout << verticalLine << "1" << charCard[_num - 1] << (char)_suit << setfill(' ') << setw(filler) << verticalLine << endl;   //додатково виводимо "1"
    }
    else
        cout << verticalLine << charCard[_num - 1] << (char)_suit << setfill(' ') << setw(filler) << verticalLine << endl;      //якщо карта не Десятка виводимо її назву з масиву
    cout << verticalLine << setw(8) << verticalLine << endl;
    cout << verticalLine << setw(8) << verticalLine << endl;
    cout << verticalLine << setw(8) << verticalLine << endl;
    cout << verticalLine << setw(8) << verticalLine << endl;
    cout << verticalLine << setw(8) << verticalLine << endl;
    cout << verticalLine << setw(8) << verticalLine << endl;
    if (_num == 10)                               //знову перевіряємо чи карта Десятка
        cout << verticalLine << setfill(' ') << setw(filler) << "1" << charCard[_num - 1] << (char)_suit << verticalLine << endl;
    else
        cout << verticalLine << setfill(' ') << setw(filler) << charCard[_num - 1] << (char)_suit << verticalLine << endl;
    cout << downLeftCorner << setfill(horizontalLine) << setw(8) << downRightCorner << endl;            //нижня лінія
 
}
 
int main()
{
    //Написать функцию, выводящую на экран переданную ей игральную карту. 
 
    int suit, num;                               //змінна масті і номеру карти
    while (1)                                //Безкінечний цикл(опціонально)
    {
        system("cls");
        cout << "Please enter suit\n1 - Hearts\n2 - Diamonds\n3 - Clubs\n4 - Spades" << endl;
        cin >> suit;                              //отримання даних масті
        if (suit < 1 || suit > 4)
        {
            cout << "ERROR: Incorrect suit\n";
            system("pause");
            exit(1);
        }
        system("cls");
        cout << "Enter card\n1 - Ace \n2 - Two\n3 - Three\n4 - Four\n5 - Five\n6 - Six\n7 - Seven\n8 - Eight\n9 - Nine\n10 - Ten\n11 - Jacket\n12 - Quin\n13 - King" << endl;
        cin >> num;                               //отримання даних номеру
        if (num < 1 || num > 13)
        {
            cout << "ERROR: Incorrect card\n";
            system("pause");
            exit(2);
        }
        showCard(suit, num);                            //виклик функції
 
        system("pause");                             //пауза перед повтором циклу
    }
    return 0;
}
Изображения
 
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
30.03.2020, 18:38
Ответы с готовыми решениями:

Написать функцию, выводящую на экран переданную ей игральную карту
Написать функцию, выводящую на экран переданную ей игральную карту.

Написать функцию, выводящую на экран переданную ей карту
Задание написать функцию, выводящую на экран переданную ей карту. Помогите, пожалуйста

Написать функцию, которая выводит переданную строку (слово) на экран три раза
Всем привет, помогите плиз решить задачку. /* Вывод текста на экран Написать функцию,...

Написать функцию, которая выводит переданную строку (слово) на экран три раза, но в одной строке
Написать функцию, которая выводит переданную строку (слово) на экран три раза, но в одной строке....

1
453 / 296 / 59
Регистрация: 24.09.2017
Сообщений: 1,738
Записей в блоге: 5
30.03.2020, 19:14 2
При использовании кодировки символов Юникода всё работает правильно.
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
30.03.2020, 19:14

Написать функцию, выводящую на экран ромб с высотой N
Нужна помощь в написании кода. Очень горю.(( Добавлено через 1 час 48 минут .............

Написать функцию выводящую на экран таблицу умножения
помогите написать программу (массивы) Написать функцию выводящую на экран таблицу умножения.

Написать функцию, выводящую на экран прямоугольник с высотой N и шириной K
Написать функцию, выводящую на экран прямоугольник с высотой N и шириной K. Добавлено через 8...

Написать функцию, принимающую на вход строку, и выводящую ее на экран наоборот
написать функцию принимающую на вход строку и выводящую ее на экран наоборот Заранее огромное...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.