0 / 0 / 0
Регистрация: 13.06.2016
Сообщений: 79

Определить название игральной карты и название масти

14.06.2016, 17:52. Показов 13601. Ответов 15
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Написать программу, в которой мастям игральных карт условно присвоены следующие порядковые номера масти :
"пики" – 1, "трефы" – 2, "бубны" – 3, "черви" – 4,
а достоинству карт:
"валету" – 11, "даме" – 12, "королю" – 13, "тузу" – 14 (порядковые номера карт остальных достоинств соответствуют их названиям).
По заданному пользователем номеру масти m (1<=m<=4) и номеру достоинства карты k (6<=k<=14) определить полное название (масть и достоинство) соответствующей карты в виде: "Дама пик", "Шестерка бубен" и т.д.

Помогите, пожалуйста. Уже 3 дня ломаю голову как это сделать и ничего хорошего не получилось.
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
#include <iostream>
using namespace std;
void main(){
    setlocale(LC_ALL, "Russian");
 
    int m, k;
 
    cout << "Введите № карты: " << endl;
    cout << "Введите № достоинства масти: " << endl;
    cin >> m, k;
 
    cout << m, k;
    switch (m)   {
        case 1: cout << "пик"; break;
        case 2: cout << "трефа"; break;
        case 3: cout << "бубен"; break;
        case 4: cout << "черва"; break;
            switch (k) {
        case 6: cout << "Шестерка"; break;
        case 7: cout << "Семерка"; break;
        case 8: cout << "Восьмерка"; break;
        case 9: cout << "Девятка"; break;
        case 10: cout << "Десятка"; break;
        case 11: cout << "Валет"; break;
        case 12: cout << "Дама"; break;
        case 13: cout << "Король"; break;
        case 14: cout << "Туз"; break;
             cout << endl;
 
  }
 }
}
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
14.06.2016, 17:52
Ответы с готовыми решениями:

По заданному номеру масти игральной карты определить ее название
мастям игральных карт условно присвоены следующие порядковые номера

Вывести название игральной карты в заданном виде
Помогите, пожалуйста!!! Смоделировать выбор &quot;наугад&quot; одной карты из полного набора игральных карт, включающего 4 масти...

По заданному номеру масти определить название соответствующей масти
Доброго дня. Задали написать на С++ Flow форму по следующему заданию : Мастям игральных карт условно присвоены следующие порядковые...

15
196 / 197 / 120
Регистрация: 27.05.2011
Сообщений: 545
14.06.2016, 18:05
Цитата Сообщение от Золушка_я Посмотреть сообщение
cin >> m, k;
Вместо запятой нужно написать два уголка.
А так же ещё у вас неправильно расставлены фигурные скобки
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
#include <iostream>
 
using namespace std;
int main() {
 
    int m, k;
 
    cout << "Введите № карты: " << endl;
    cout << "Введите № достоинства масти: " << endl;
    cin >> m >> k;
 
    cout << m << k;
    switch (m) {
        case 1: cout << "пик"; break;
        case 2: cout << "трефа"; break;
        case 3: cout << "бубен"; break;
        case 4: cout << "черва"; break;
    }
    switch (k) {
        case 6: cout << "Шестерка"; break;
        case 7: cout << "Семерка"; break;
        case 8: cout << "Восьмерка"; break;
        case 9: cout << "Девятка"; break;
        case 10: cout << "Десятка"; break;
        case 11: cout << "Валет"; break;
        case 12: cout << "Дама"; break;
        case 13: cout << "Король"; break;
        case 14: cout << "Туз"; break;
 
    }
    cout << endl;
}
1
0 / 0 / 0
Регистрация: 13.06.2016
Сообщений: 79
14.06.2016, 18:33  [ТС]
спасибо. действительно были ошибки. но всё равно программа не работает. выдает цифры, а не слова
0
123 / 123 / 70
Регистрация: 15.11.2014
Сообщений: 544
14.06.2016, 18:52
Цитата Сообщение от Золушка_я Посмотреть сообщение
(1<=m<=4) и номеру достоинства карты k (6<=k<=14)
вводишь значения в диапазоне?
0
196 / 197 / 120
Регистрация: 27.05.2011
Сообщений: 545
14.06.2016, 18:54
Золушка_я, отчего же? Сейчас программа выводит и числа, и слова.

Конечно, не так аккуратно, как следовало бы. Например, нужно вводить переменную k до того, как будет выведено приглашение ввести номер масти. Когда выводятся m и k, между ними надо поставить пробел, чтобы они не сливались, так же следует разделить пробелом слова.

На скрине пример работы программы.
Миниатюры
Определить название игральной карты и название масти  
1
123 / 123 / 70
Регистрация: 15.11.2014
Сообщений: 544
14.06.2016, 18:55
Все ок
Миниатюры
Определить название игральной карты и название масти  
1
0 / 0 / 0
Регистрация: 13.06.2016
Сообщений: 79
14.06.2016, 19:20  [ТС]
Переделала полностью, т.к. не нравилось, что писались цифры. так и не поняла в чём была проблема.
вот новый код, всё равно не совсем то, потому что должно выводить в одну строку масть и карту, а у меня выводит отдельно масть и отдельно с другой строки карту
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
#include <iostream>
    using namespace std;
    void main(){
        setlocale(LC_ALL, "Russian");
 
        int m, k;
        cout << "Введите № масти" << endl;
        cin >> m;
        cout << "Введите № карты" << endl;
        cin >> k;
 
        switch (k){
        case 6: cout << "шестерка" << endl; break;
        case 7: cout << "семерка" << endl; break;
        case 8: cout << "восьмерка" << endl; break;
        case 9: cout << "девятка" << endl; break;
        case 10: cout << "десятка" << endl; break;
        case 11: cout << "валет" << endl; break;
        case 12: cout << "дама" << endl; break;
        case 13: cout << "король" << endl; break;
        case 14: cout << "туз" << endl; break;
 
        default: cout << "Нужна карта от 6 до 14";
 
        }
 
        switch (m){
        case 1: cout << "черви" << endl; break;
        case 2: cout << "бубны" << endl; break;
        case 3: cout << "треф" << endl; break;
        case 4: cout << "пик" << endl; break;
        default: cout << "Нужна масть от 1 до 4";
 
        }
    }
0
196 / 197 / 120
Регистрация: 27.05.2011
Сообщений: 545
14.06.2016, 19:34
endl выводит новую строку. Уберите его везде в первом блоке.
1
0 / 0 / 0
Регистрация: 13.06.2016
Сообщений: 79
14.06.2016, 19:36  [ТС]
уже сделала. спасибо большое!)
0
0 / 0 / 0
Регистрация: 14.06.2016
Сообщений: 1
14.06.2016, 19:57
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>
#include <locale.h>
 
using namespace std;
 
string kinds[4] = {"пик", "треф", "бубен", "черва"};
string values[9] = {"Шестёрка", "Семёрка", "Восьмёрка", "Девятка", "Десятка", "Валет", "Дама", "Король", "Туз"};
 
int main() {
    setlocale(LC_ALL, "RUS");
    
    cout << "Введите номер масти: ";
    int kind;
    cin >> kind;
    
    cout << "Введите номер карты: ";
    int value;
    cin >> value;
    
    cout << values[value-6] << " " << kinds[kind-1] << endl;
    
    return 0;
}
0
0 / 0 / 0
Регистрация: 13.06.2016
Сообщений: 79
15.06.2016, 13:21  [ТС]
спасибо большое. буду знать на будующее. пока не делала через string. не знала про него. здорово!
0
0 / 0 / 0
Регистрация: 06.03.2025
Сообщений: 1
06.03.2025, 22:45
Дайте скрипт считать строку и узнать какая вскрывается масть под картой. ..
0
 Аватар для lemegeton
4899 / 2693 / 919
Регистрация: 29.11.2010
Сообщений: 5,780
06.03.2025, 23:36
Цитата Сообщение от AlexKillerMad Посмотреть сообщение
Дайте скрипт считать строку и узнать какая вскрывается масть под картой. ..
Эллочка-людоедка разлива 2025.
ГПТ отказывается принимать такие запросы? )))

Пральна делает. Какой-то непонятный набор слов, за которым смутно угадывается мысль.

"Скрипт"? На С++ скриптов не пишут.
"Вскрывается"? Как консервная банка?
"Масть под картой"... что это вообще значит?

Давайте я запихаю исходное задание в ГПТ за вас:
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
#include <iostream>
#include <string>
#include <unordered_map>
 
using namespace std;
 
// Словарь для масти
unordered_map<int, string> masti = {
    {1, "пики"},
    {2, "трефы"},
    {3, "бубны"},
    {4, "черви"}
};
 
// Словарь для достоинства
unordered_map<int, string> dostoinstva = {
    {6, "Шестерка"},
    {7, "Семерка"},
    {8, "Восьмерка"},
    {9, "Девятка"},
    {10, "Десятка"},
    {11, "Валет"},
    {12, "Дама"},
    {13, "Король"},
    {14, "Туз"}
};
 
int main() {
    int m, k;
    cout << "Введите номер масти (1-4): ";
    cin >> m;
    cout << "Введите номер достоинства (6-14): ";
    cin >> k;
 
    // Определение полного названия карты
    if (m >= 1 && m <= 4 && k >= 6 && k <= 14) {
        cout << dostoinstva[k] << " " << masti[m] << endl;
    } else {
        cout << "Некорректный ввод" << endl;
    }
 
    return 0;
}
2
Just Do It!
 Аватар для XLAT
4167 / 2601 / 650
Регистрация: 23.09.2014
Сообщений: 8,338
Записей в блоге: 2
09.03.2025, 22:35
Цитата Сообщение от lemegeton Посмотреть сообщение
// Словарь для достоинства
C++
1
2
3
4
5
6
7
8
9
10
11
unordered_map<int, string> dostoinstva = {
    {6, "Шестерка"},
    {7, "Семерка"},
    {8, "Восьмерка"},
    {9, "Девятка"},
    {10, "Десятка"},
    {11, "Валет"},
    {12, "Дама"},
    {13, "Король"},
    {14, "Туз"}
};
словарь монстроузно, и не так быстро))
можно проще:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
std::string_view dostoinstva(unsigned n)
{   if(n -= 6;  n > 9) n = 9;
    const char* m[]
    {   "Шестерка" ,
        "Семерка"  ,
        "Восьмерка",
        "Девятка"  ,
        "Десятка"  ,
        "Валет"    ,
        "Дама"     ,
        "Король"   ,
        "Туз"      ,
        "ERROR"
    };
    return m[n];
};
смотрим тест:
https://rextester.com/QFQ60462
0
Эксперт функциональных языков программированияЭксперт С++
 Аватар для Royal_X
4591 / 2516 / 994
Регистрация: 01.06.2021
Сообщений: 8,697
10.03.2025, 01:20
Цитата Сообщение от XLAT Посмотреть сообщение
"ERROR"
теперь я понял для чего в колоде всегда лишняя карта

0
 Аватар для lemegeton
4899 / 2693 / 919
Регистрация: 29.11.2010
Сообщений: 5,780
10.03.2025, 08:42
Цитата Сообщение от XLAT Посмотреть сообщение
// Словарь для достоинства
Ахахаха. Я даже не читал. ГПТ формулирует мысли. Для достоинства некоторых нужен целый словарь. ))))

Цитата Сообщение от XLAT Посмотреть сообщение
словарь монстроузно, и не так быстро))
можно проще:
Как говорил профессор Преображенский, "Не читайте до обеда код от гпт". )))
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
10.03.2025, 08:42
Помогаю со студенческими работами здесь

По заданным номеру масти и номеру достоинства карты определить полное название
народ есть задания: 1. Мастям игральных карт условно присвоены слеующие порядковые номера: масти &quot;пики&quot; — 1,.масти...

По номеру карточной масти определить ее название
Дан номер масти m (1 ? m ? 4), определить название масти. Масти нумеруются: «пики» – 1, «трефы» – 2, «бубны» – 3, «червы» – 4. Помогите...

Вывести название карты, заданной двумя числами (достоинство и масть карты)
Здравствуйте , не могу понять как объявить переменные.. требуется же вроде как номер и имя(масть) не понимаю что-то.. помогите пожалуйста,...

По заданному номеру номеру масти м и номеру достоинства карты к определить полное название карты
Мастям игральных карт условно присвоены следующие порядковые номера:пики-1, трефы-2 , бубны-3, червы-4. Достоинству карт присвоены...

По заданному номеру масти определить название соответствующей масти
Мастям игральных карт условно присвоены следующие порядковые номера: масти &quot;пики&quot;— 1, масти &quot;трефы&quot;— 2, масти...


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

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

Новые блоги и статьи
Непрерывная интеграция для пакета Python
Mr. Docker 22.06.2025
Было 4 часа утра пятницы, когда я выпустил новую версию нашей внутренней библиотеки для обработки данных. Релиз 0. 5. 2 содержал небольшой фикс для обработки дат в ISO формате, что может пойти не так?. . .
Продвинутый ETL на C# из OLTP БД в хранилище
stackOverflow 22.06.2025
Работая в сфере корпоративной аналитики, я постоянно сталкиваюсь с одним и тем же - нужны чистые, структурированные и, главное, свежие данные. Без них современные аналитические системы, машинное. . .
Мастер-класс по микросервисам на Node.js
Reangularity 21.06.2025
Node. js стал одной из самых популярных платформ для микросервисной архитектуры не случайно. Его неблокирующая однопоточная модель и событийно-ориентированный подход делают его идеальным для. . .
Управление Arduino из WPF приложения
Wired 21.06.2025
Зачем вообще связывать Arduino с WPF-приложением? Казалось бы, у Arduino есть собственная среда разработки, своя экосистема, свои способы управления. Однако при создании серьезных проектов. . .
Звёздная пыль
kumehtar 20.06.2025
Я просто это себе представляю: как создавался этот мир. Как энергия слипалась в маленькие частички. Как они собирались в первые звёзды, как во вселенной впервые появился Свет. Как эти звёзды. . .
Создание нейросети с PyTorch
AI_Generated 19.06.2025
Ключевое преимущество PyTorch — его питоновская натура. В отличие от TensorFlow, который изначально был построен как статический вычислительный граф, PyTorch предлагает динамический подход. Это. . .
JWT аутентификация в ASP.NET Core
UnmanagedCoder 18.06.2025
Разрабатывая веб-приложения, я постоянно сталкиваюсь с дилеммой: как обеспечить надежную аутентификацию пользователей без ущерба для производительности и масштабируемости? Классические подходы на. . .
Краткий курс по С#
aaLeXAA 18.06.2025
Здесь вы найдете все необходимые функции чтоб написать програму на C# Задание 1: КЛАСС FORM 1 public partial class Form1 : Form { Spisok listin = new Spisok(); . . .
50 самых полезных примеров кода Python для частых задач
py-thonny 17.06.2025
Эффективность работы разработчика часто измеряется не количеством написаных строк, а скоростью решения задач. Готовые сниппеты значительно ускоряют разработку, помогают избежать типичных ошибок и. . .
C# и продвинутые приемы работы с БД
stackOverflow 17.06.2025
Каждый . NET разработчик рано или поздно сталкивается с ситуацией, когда привычные методы работы с базами данных превращаются в источник бессонных ночей. Я сам неоднократно попадал в такие ситуации,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru