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

Игра: Быки и Коровы

13.09.2016, 01:11. Показов 2654. Ответов 2
Метки нет (Все метки)

Всем привет! Нужно написать игру "Быки и коровы", но без массива
Я справился с поставленной задачей, но есть баг... Если компьютер загадал 1234 и игрок введёт 1111, то ответ будет таким... Быков: 1
Коров: 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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
#include <iostream>
#include <conio.h>
#include <cstdlib>
#include <ctime>
 
using namespace std;
 
int main() {
    setlocale(0, "");
    system("cls");
    system("color 0E");
 
 
    int number_computer, number_player;
    int one_computer, two_computer, three_computer, four_computer, one_player, two_player, three_player, four_player;
    int bulls, cow;
 
    do {
        srand(time(0));
        number_computer = 1234; //(rand() % 9000 + 1000);
 
        one_computer = number_computer / 1000;
        two_computer = (number_computer % 1000) / 100;
        three_computer = (number_computer % 100) / 10;
        four_computer = (number_computer % 1000) % 10;
    } while (one_computer == 0 || one_computer == two_computer || one_computer == three_computer || one_computer == four_computer || two_computer == three_computer || two_computer == four_computer || three_computer == four_computer);
 
 
 
    do {
        cout << "                                  БЫКИ И КОРОВЫ\n\n";
        cout << "Введите число: ";
        cin >> number_player;
 
        one_player = number_player / 1000;
        two_player = (number_player % 1000) / 100;
        three_player = (number_player % 100) / 10;
        four_player = (number_player % 1000) % 10;
 
        bulls = 0;
        cow = 0;
 
        if (one_player == one_computer) bulls += 1; else if (one_player == two_computer || one_player == three_computer || one_player == four_computer) cow += 1;
        if (two_player == two_computer) bulls += 1; else if (two_player == one_computer || two_player == three_computer || two_player == four_computer) cow += 1;
        if (three_player == three_computer) bulls += 1; else if (three_player == one_computer || three_player == two_computer || three_player == four_computer) cow += 1;
        if (four_player == four_computer) bulls += 1; else if (four_player == one_computer || four_player == two_computer || four_player == three_computer) cow += 1;
 
        cout << "Быков: " << bulls << endl;
        cout << "Коров: " << cow << endl;
    } while (number_computer != number_player);
 
    _getch();
    return 0;
}
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.09.2016, 01:11
Ответы с готовыми решениями:

Игра быки и коровы
Условия игры: компьютер генерирует целое четырехзначное число, в котором все цифры раз-личны....

игра "быки и коровы"
Хочу реализовать программу игры &quot;быки и коровы&quot;, но где-то в третьем сравнении есть ошибка. Суть...

Игра "быки и коровы"
Доброго всем времени.Помогите понять задачу. Компьютер задумывает четырехзначное число, не...

Быки и коровы
Решил написать игру Быки и коровы, но уже в самом начале появились проблемы. я сделал функцию,...

2
369 / 367 / 212
Регистрация: 29.03.2013
Сообщений: 867
13.09.2016, 09:49 2
edol1, мне кажется для этой задачи необходимы массивы или другие контейнеры.
Вы же не хотите в самом деле писать подобный г-код? :
C++
1
2
3
4
        if (one_player == one_computer) bulls += 1; else if ((one_player == two_computer&&two_player != two_computer) || (one_player == three_computer&&three_player != three_computer) || (one_player == four_computer&&four_player != four_computer)) cow += 1;
        if (two_player == two_computer) bulls += 1; else if ((two_player == one_computer&&one_player != one_computer) || (two_player == three_computer&&three_player != three_computer) || (two_player == four_computer&&four_player != four_computer)) cow += 1;
        if (three_player == three_computer) bulls += 1; else if ((three_player == one_computer&&one_player != one_computer) || (three_player == two_computer&&two_player != two_computer) || (three_player == four_computer&&four_player != four_computer)) cow += 1;
        if (four_player == four_computer) bulls += 1; else if ((four_player == one_computer&&one_player != one_computer) || (four_player == two_computer&&two_player != two_computer) || (four_player == three_computer&&three_player != three_computer)) cow += 1;
2
0 / 0 / 0
Регистрация: 17.03.2016
Сообщений: 38
13.09.2016, 16:07  [ТС] 3
Большое спасибо, помог, вот такой г-код мне и нужен
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.09.2016, 16:07

Быки и коровы
написал игру быки и коровы. Ниже мой вариант. // ConsoleApplication1.cpp : Defines the entry...

Быки и коровы
1. В чём разница между структурой и классом, зачем использовать структуру? 2. Зачем нужны...

Быки и коровы
Есть такая задача быки о коровы. Условие: http://********/?main=task&amp;id_task=13. Код моего решения:...

Быки и коровы
Здравствуйте, помогите пжлст дописать игру &quot;быки и коровы&quot;. Начало кода с генерацией рандомных...


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

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

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