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

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

14.06.2016, 17:52. Просмотров 3810. Ответов 10
Метки нет (Все метки)

Написать программу, в которой мастям игральных карт условно присвоены следующие порядковые номера масти :
"пики" – 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
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
14.06.2016, 17:52
Ответы с готовыми решениями:

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

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

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

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

10
194 / 194 / 120
Регистрация: 27.05.2011
Сообщений: 544
14.06.2016, 18:05 2
Цитата Сообщение от Золушка_я Посмотреть сообщение
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  [ТС] 3
спасибо. действительно были ошибки. но всё равно программа не работает. выдает цифры, а не слова
0
121 / 121 / 70
Регистрация: 15.11.2014
Сообщений: 544
14.06.2016, 18:52 4
Цитата Сообщение от Золушка_я Посмотреть сообщение
(1<=m<=4) и номеру достоинства карты k (6<=k<=14)
вводишь значения в диапазоне?
0
194 / 194 / 120
Регистрация: 27.05.2011
Сообщений: 544
14.06.2016, 18:54 5
Золушка_я, отчего же? Сейчас программа выводит и числа, и слова.

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

На скрине пример работы программы.
1
Миниатюры
Определить название игральной карты и название масти  
121 / 121 / 70
Регистрация: 15.11.2014
Сообщений: 544
14.06.2016, 18:55 6
Все ок
1
Миниатюры
Определить название игральной карты и название масти  
0 / 0 / 0
Регистрация: 13.06.2016
Сообщений: 79
14.06.2016, 19:20  [ТС] 7
Переделала полностью, т.к. не нравилось, что писались цифры. так и не поняла в чём была проблема.
вот новый код, всё равно не совсем то, потому что должно выводить в одну строку масть и карту, а у меня выводит отдельно масть и отдельно с другой строки карту
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
194 / 194 / 120
Регистрация: 27.05.2011
Сообщений: 544
14.06.2016, 19:34 8
endl выводит новую строку. Уберите его везде в первом блоке.
1
0 / 0 / 0
Регистрация: 13.06.2016
Сообщений: 79
14.06.2016, 19:36  [ТС] 9
уже сделала. спасибо большое!)
0
0 / 0 / 0
Регистрация: 14.06.2016
Сообщений: 1
14.06.2016, 19:57 10
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  [ТС] 11
спасибо большое. буду знать на будующее. пока не делала через string. не знала про него. здорово!
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.06.2016, 13:21

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

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

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

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

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


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

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

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