Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.87/15: Рейтинг темы: голосов - 15, средняя оценка - 4.87
14 / 14 / 11
Регистрация: 14.11.2016
Сообщений: 284

Бьет ли карта 1 карту 2

26.05.2017, 20:59. Показов 3283. Ответов 22
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите пожалуйста с программой. Что-то не так, не могу понять, что именно.

C
1
2
3
4
5
6
7
 struct card
{
/* масть карт */
enum {spades, clubs, diamonds, hearts} suit;
/* достоинство карт */
enum {six, seven, eight, nine, ten, jack, queen, king, ace} value;
} c1, c2;
Описать логическую функцию Kick(с1, с2, сs), проверяющую, бьёт ли карта с1
карту с2, с учётом того, что масть cs является козырной.


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
#include "stdafx.h"
#include <stdio.h>
#include <locale.h>
#include <stdlib.h> 
#include <conio.h>
struct card
{
    /*масть карт */
    enum { пики, трефы, бубны, червы } mast;
    /* достоинство карт */
    enum { шесть, семь, восемь, девять, десять, валет, дама, король, туз } dost;
} c1, c2;
 
int Kick(card c1, card c2, char cs);
/*--------------------------------------------------------------------*/
/*Основная часть программы*/
int main(void)
{
    char cs=0;
    int k;
    setlocale(LC_ALL, "Russian");
    printf("Введите масть 1 карты - ");
    scanf("%lf\n", &c1.mast);   
    
    
    printf("Введите достоинство 1 карты - ");
    scanf("%lf\n", &c1.dost);
    printf("Введите масть 2 карты - ");
    scanf("%lf\n", &c2.mast);
    printf("Введите достоинство 2 карты - ");
    scanf("%lf\n", &c2.dost);
    printf("Введите масть козырной карты - ");
    scanf("%lf\n", &cs);
    Kick(c1,c2,cs);
    return 0;
}
 
int Kick(card c1, card c2,  char cs)
{
    char k;
 
k = ((c1.mast == cs) && (c2.mast != cs)) || ((c1.mast == c2.mast) && (c1.dost < c2.dost));
    if (c1.mast == c2.mast)         //если масти одинаковые
            if (c1.dost > c2.dost) return 1;
        else
        {
            return 0;
        }
    else                //если масти не одинаковые
    {
        if (c1.mast == cs)     //если козырь
            return 1;
        else
            return 0;
    }
}
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
26.05.2017, 20:59
Ответы с готовыми решениями:

Составить и протестировать функцию БЬЕТ (К1, К2, КМ), которая проверяет, бьет ли карта К1 карту К2
Описать новый структурный тип. Описать требуемые в задаче функции для работы со структурами. Продемонстрировать выполнение функций. Для...

Бьет ли карта 1 карту 2
TYPE масть=(пик,трефы,бубны,червы); достоинство=(шесть,семь,восемь,девять,десять,валет,дама,король, туз); карта=RECORD M: масть; ...

Бьет ли карта k1 карту k2
Здравствуйте, Господа эксперты! Прошу помощи в решении следующей задачи: struct card { /* масть карт */ enum {spades, clubs,...

22
1786 / 1036 / 445
Регистрация: 12.05.2016
Сообщений: 2,550
27.05.2017, 13:32
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от KatrinLuxury Посмотреть сообщение
C
1
if (kick == 0) printf("No.");
Адрес функции с нулем сравниваете.
0
1272 / 1029 / 470
Регистрация: 25.12.2016
Сообщений: 3,333
27.05.2017, 13:59
Цитата Сообщение от KatrinLuxury Посмотреть сообщение
if (kick == 0)
Так функцию kick надо вызвать, передав ей нужные аргументы. А имя функции без скобок - это указатель на функцию.

Добавлено через 4 минуты
Цитата Сообщение от KatrinLuxury Посмотреть сообщение
C
1
case 'e':  value = eight; break;
За что так бедную восьмёрку? Чем она хуже шестёрки и семёрки?
0
14 / 14 / 11
Регистрация: 14.11.2016
Сообщений: 284
27.05.2017, 14:02  [ТС]
Цитата Сообщение от likehood Посмотреть сообщение
Так функцию kick надо вызвать, передав ей нужные аргументы. А имя функции без скобок - это указатель на функцию.
Этот кусочек я исправила вот так
C
1
2
3
    k = kick (c1,c2, cs);
    if (k) puts("Yes."); 
    else puts("No.");
Изначально 6 и 7 начинались с одной буквы, пришлось их разделить)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
27.05.2017, 14:02

Бьет ли карта k1 карту k2?
Type Karta=record т:(piki,trefi,bubni,chervi);{масть} d.(shest,sem,vosem,devjat,desjat,valet,dama,korol,tuz); {достоинство} ...

Функция, проверяющая, бьет ли карта К1 карту К2.
Type Масть=(пики, трефи, бубны, черви); Достоинство=(6,7,8,9,10, валет, дама, король, туз); Карта=record ...

Описать логическую функцию, проверяющую, «бьет» ли карта К1 карту К2
Используя следующий фрагмент программы, опишите логическую функцию High (К1, К2 : card; КМ : mast), проверяющую, «бьет» ли карта К1 карту...

Вывести сообщение «бьет» ли карта k1, карту k2, с учетом того, что масть mk является козырной
Добрый день!:)Не получается вывести сообщение «бьет» ли карта k1, карту k2, с учетом того, что масть mi является козырной. Набор карт...

Описать логическую функцию, проверяющую, "бьёт" ли карта К1 карту К2
Даны описания для переменных: type масть=(пики, трефы, бубны, червы); достоинство=(шесть, семь, восемь, девять, десять, валет, дама,...


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

Или воспользуйтесь поиском по форуму:
23
Ответ Создать тему
Новые блоги и статьи
Саморегулирующийся социальный контракт для сервера cross-section.
Hrethgir 14.08.2026
С кодом конечно таких глубоких размышлений пока не было, впрочем я уже привык к алгоритмизации. Суть предмета записи: снова в диалоге с нейросетью (я взял пока себе ник для учётки админа - Rector). . . .
Часы электронные
Uhbif79 12.08.2026
Выкладываю программу часов. Программа позволяет: 1. Использовать системное время и дату, 2. Есть возможность вводить время и дату вручную. 3. Реализованы 2 будильника: начало и конец рабочего дня. . . .
Часы с будильником на основе класса QLCDNumber
Uhbif79 12.08.2026
Всем добрый день, выкладываю программу часов с будильником на основе класса QLCDNumber. Здесь я пробовал самостоятельно создавал классы, впервые столкнулся с видимостью переменной одного класса из. . .
Установка MinGW GCC 16.2 и CMake
8Observer8 10.08.2026
VK Видео: https:/ / vkvideo. ru/ video-240781534_456239017 YouTube: eY5-5PyI9NM Текстовая версия
Неделя из жизни имитационной модели склада: мои кривые руки растут, откуда надо
anaschu 10.08.2026
Неделя из жизни имитационной модели склада: как я почти написал неправильную логику и что с этим делать Работаю сейчас над учебно-рабочим проектом: строю в AnyLogic имитационную модель процессов. . .
Калькулятор для расчета родства
russiannick 07.08.2026
1. Задача: Создать калькулятор для расчета родства. Родственных связей существует 8 ступеней, такие как: p - отец P - мать q - муж Q - жена b - брат B - сестра s - сын S - дочь
Мир по моей воле
kumehtar 07.08.2026
Когда-то кажется, что всё просто. Ты весь такой светлый. Причиняешь добро. Борешься за справедливость в этом тёмном мире. Потом начинаешь замечать одну неприятную вещь. Почти каждый хороший. . .
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С. Задача: Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru