Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 14, средняя оценка - 4.86
виталий22.01
0 / 0 / 0
Регистрация: 28.02.2012
Сообщений: 4
#1

Быки и коровы. Комментарии к коду. - C++

26.12.2012, 19:58. Просмотров 2134. Ответов 15
Метки нет (Все метки)

Нужно прокомментировать программу на языке с++ Игра Быки и Коровы. Чем подробнее тем лучше. Заранее спасибо!

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
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
#include "stdafx.h"
#include <conio.h>
#include <stdio.h>
#include <ctype.h>
#include <stdlib.h>
#include <time.h>
#include < iostream > 
 
using namespace std;
class Bik
{
public:
    char my[4];
    int b;
    int k;
    bool is_valid(char a[4],int size,char c)
    {
        int no=size;
        for (int i=0;i<size;i++)
            if (a[i]!=c)
                no--;
        if (!no)
            a[size]=c;
        return !no;
    }
public: void PravilaandPrevetstvie()
    {
        cout<<"Вас приветствует игра Бики и Коровы!\n";
        cout<<"Правила:\n"<<"Вам необходимо угадать четырёхзначное число загаданное компьютером, совершив как можно меньше попыток\n"<<"Цифры в числе не повторяются.\n\n";
        cout<<"Вводите цифры последовательно без пробелов. При каждой попытке вам будет выдано сообщение об угаданных цифрах:\n\n";
        cout<<"- Если цифры заданного вами числа встречаются в загаданном, но стоят не на свойх местах, их колличество будет указанно, как колличество Коров.\n\n";
        cout<<"- Если цифры заданного вами числа встречаются в загаданном, и стоят не на свойх местах, их колличество будет указанно, как колличество Быков.\n\n";
        cout<<"Игра длиться до тех пор, пока колличество быков не станет 4, т.е. введённое вами число полностью не совпадёт с загаданным.\n\n";
        cout<<"Желаем удачи!\n";
        cout<<"\n";
    }
public: void getBik() 
        {int digits=0;
        char numbers[11]="0123456789";
        srand( (unsigned)time( NULL ) );
        while (digits<4)
            if (is_valid(my,digits,numbers[rand()%9+1]))
                digits++;
        PravilaandPrevetstvie();
        printf("загаданное число %c%c%c%c\n",my[0],my[1],my[2],my[3]);
 
        char enter[4],c(' '); int w=1;
        b=k=digits=0;
        printf("Введите число\n");
        while (c != 'q' && c != 'Q')
            if (isdigit(c=_getch()))
                if (is_valid(enter,digits,c))
                {
                    printf("%c",c);
                    for (int i=0;i<4;i++)
                        if (my[i]==c) 
                            if (i==digits)
                            { b++; }
                            else
                            { k++;}
                            digits++; 
 
 
                            if (digits==4)
                            {
                                printf("\t\tКол-во быков - %d\n \t\tКол-во коров - %d\n\n",b,k);
                                if(b!=4){w++;}
                                if (b==4){
                                    printf("Поздравляем! Вы угадали!\n");
                                    cout<<"Кол-во попыток - "<<w;
                                    break;
                                }
                                b=k=digits=0;
                            }
                }
                printf("\nНажмите любую клавишу\n");
                _getch();
        }
};
Bik pr;
 
 
int main()
{setlocale (LC_ALL, "Russian");
 
pr.getBik();
 
return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.12.2012, 19:58     Быки и коровы. Комментарии к коду.
Посмотрите здесь:
C++ Быки и коровы
Быки и коровы C++
Быки и коровы C++
Игра: Быки и Коровы C++
C++ Игра быки и коровы
Быки и коровы, не правильно считает их C++
C++ Ошибка в коде игры "Быки и коровы"
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
taras atavin
Ушёл с форума.
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
26.12.2012, 20:12     Быки и коровы. Комментарии к коду. #2
Кто теги будет расставлять? Билл?
Foksmen
0 / 0 / 0
Регистрация: 26.12.2012
Сообщений: 6
26.12.2012, 20:13     Быки и коровы. Комментарии к коду. #3
#include < iostream >// старая функция сечас неиспользуют
David Sylva
1285 / 947 / 51
Регистрация: 17.05.2012
Сообщений: 2,687
26.12.2012, 20:15     Быки и коровы. Комментарии к коду. #4
Цитата Сообщение от Foksmen Посмотреть сообщение
#include < iostream >// старая функция сечас неиспользуют
Да ладно. Кто сказал?
HighPredator
5474 / 1840 / 342
Регистрация: 10.12.2010
Сообщений: 5,431
Записей в блоге: 3
26.12.2012, 20:15     Быки и коровы. Комментарии к коду. #5
Цитата Сообщение от Foksmen Посмотреть сообщение
#include < iostream >// старая функция сечас неиспользуют
Что за глупость?
Foksmen
0 / 0 / 0
Регистрация: 26.12.2012
Сообщений: 6
26.12.2012, 20:16     Быки и коровы. Комментарии к коду. #6
Цитата Сообщение от David Sylva Посмотреть сообщение
Да ладно. Кто сказал?
наш програмист говорил чтоб ее неиспользували
taras atavin
Ушёл с форума.
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
26.12.2012, 20:17     Быки и коровы. Комментарии к коду. #7
Цитата Сообщение от David Sylva Посмотреть сообщение
Кто сказал?
глупец.
David Sylva
1285 / 947 / 51
Регистрация: 17.05.2012
Сообщений: 2,687
26.12.2012, 20:18     Быки и коровы. Комментарии к коду. #8
Цитата Сообщение от Foksmen Посмотреть сообщение
наш програмист говорил чтоб ее неиспользували
Это возмутительная ложь.
виталий22.01
0 / 0 / 0
Регистрация: 28.02.2012
Сообщений: 4
26.12.2012, 20:20  [ТС]     Быки и коровы. Комментарии к коду. #9
Друзья мне нужно закоментить программу.(т.е. написать подробнее, что как работает, по шагам) Заранее спасибо!
taras atavin
Ушёл с форума.
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
26.12.2012, 20:23     Быки и коровы. Комментарии к коду. #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
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
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
#include "stdafx.h"
#include <conio.h>
#include <stdio.h>
#include <ctype.h>
#include <stdlib.h>
#include <time.h>
#include < iostream > 
 
using namespace std;
class Bik
{
public:
    char my[4];
    int b;
    int k;
    bool is_valid(char a[4],int size,char c)
    {
        int no=size;
        for (int i=0;i<size;i++)
            if (a[i]!=c)
                no--;
        if (!no)
            a[size]=c;
        return !no;
    }
public: void PravilaandPrevetstvie()
    {
        cout<<"Вас приветствует игра Бики и Коровы!\n";
        cout<<"Правила:\n"<<"Вам необходимо угадать четырёхзначное число загаданное компьютером, совершив как можно меньше попыток\n"<<"Цифры в числе не повторяются.\n\n";
        cout<<"Вводите цифры последовательно без пробелов. При каждой попытке вам будет выдано сообщение об угаданных цифрах:\n\n";
        cout<<"- Если цифры заданного вами числа встречаются в загаданном, но стоят не на свойх местах, их колличество будет указанно, как колличество Коров.\n\n";
        cout<<"- Если цифры заданного вами числа встречаются в загаданном, и стоят не на свойх местах, их колличество будет указанно, как колличество Быков.\n\n";
        cout<<"Игра длиться до тех пор, пока колличество быков не станет 4, т.е. введённое вами число полностью не совпадёт с загаданным.\n\n";
        cout<<"Желаем удачи!\n";
        cout<<"\n";
    }
public: void getBik() 
        {int digits=0;
        char numbers[11]="0123456789";
        srand( (unsigned)time( NULL ) );
        while (digits<4)
            if (is_valid(my,digits,numbers[rand()%9+1]))
                digits++;
        PravilaandPrevetstvie();
        printf("загаданное число %c%c%c%c\n",my[0],my[1],my[2],my[3]);
 
        char enter[4],c(' '); int w=1;
        b=k=digits=0;
        printf("Введите число\n");
        while (c != 'q' && c != 'Q')
            if (isdigit(c=_getch()))
                if (is_valid(enter,digits,c))
                {
                    printf("%c",c);
                    for (int i=0;i<4;i++)
                        if (my[i]==c) 
                            if (i==digits)
                            { b++; }
                            else
                            { k++;}
                            digits++; 
 
 
                            if (digits==4)
                            {
                                printf("\t\tКол-во быков - %d\n \t\tКол-во коров - %d\n\n",b,k);
                                if(b!=4){w++;}
                                if (b==4){
                                    printf("Поздравляем! Вы угадали!\n");
                                    cout<<"Кол-во попыток - "<<w;
                                    break;
                                }
                                b=k=digits=0;
                            }
                }
                printf("\nНажмите любую клавишу\n");
                _getch();
        }
};
Bik pr;
 
 
int main()
{setlocale (LC_ALL, "Russian");
 
pr.getBik();
 
return 0;
}
превращается в
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
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
/*#include "stdafx.h"
#include <conio.h>
#include <stdio.h>
#include <ctype.h>
#include <stdlib.h>
#include <time.h>
#include < iostream > 
 
using namespace std;
class Bik
{
public:
    char my[4];
    int b;
    int k;
    bool is_valid(char a[4],int size,char c)
    {
        int no=size;
        for (int i=0;i<size;i++)
            if (a[i]!=c)
                no--;
        if (!no)
            a[size]=c;
        return !no;
    }
public: void PravilaandPrevetstvie()
    {
        cout<<"Вас приветствует игра Бики и Коровы!\n";
        cout<<"Правила:\n"<<"Вам необходимо угадать четырёхзначное число загаданное компьютером, совершив как можно меньше попыток\n"<<"Цифры в числе не повторяются.\n\n";
        cout<<"Вводите цифры последовательно без пробелов. При каждой попытке вам будет выдано сообщение об угаданных цифрах:\n\n";
        cout<<"- Если цифры заданного вами числа встречаются в загаданном, но стоят не на свойх местах, их колличество будет указанно, как колличество Коров.\n\n";
        cout<<"- Если цифры заданного вами числа встречаются в загаданном, и стоят не на свойх местах, их колличество будет указанно, как колличество Быков.\n\n";
        cout<<"Игра длиться до тех пор, пока колличество быков не станет 4, т.е. введённое вами число полностью не совпадёт с загаданным.\n\n";
        cout<<"Желаем удачи!\n";
        cout<<"\n";
    }
public: void getBik() 
        {int digits=0;
        char numbers[11]="0123456789";
        srand( (unsigned)time( NULL ) );
        while (digits<4)
            if (is_valid(my,digits,numbers[rand()%9+1]))
                digits++;
        PravilaandPrevetstvie();
        printf("загаданное число %c%c%c%c\n",my[0],my[1],my[2],my[3]);
 
        char enter[4],c(' '); int w=1;
        b=k=digits=0;
        printf("Введите число\n");
        while (c != 'q' && c != 'Q')
            if (isdigit(c=_getch()))
                if (is_valid(enter,digits,c))
                {
                    printf("%c",c);
                    for (int i=0;i<4;i++)
                        if (my[i]==c) 
                            if (i==digits)
                            { b++; }
                            else
                            { k++;}
                            digits++; 
 
 
                            if (digits==4)
                            {
                                printf("\t\tКол-во быков - %d\n \t\tКол-во коров - %d\n\n",b,k);
                                if(b!=4){w++;}
                                if (b==4){
                                    printf("Поздравляем! Вы угадали!\n");
                                    cout<<"Кол-во попыток - "<<w;
                                    break;
                                }
                                b=k=digits=0;
                            }
                }
                printf("\nНажмите любую клавишу\n");
                _getch();
        }
};
Bik pr;
 
 
int main()
{setlocale (LC_ALL, "Russian");
 
pr.getBik();
 
return 0;
}*/
.
Agent Smith
40 / 40 / 9
Регистрация: 24.11.2012
Сообщений: 200
26.12.2012, 20:24     Быки и коровы. Комментарии к коду. #11
Цитата Сообщение от виталий22.01 Посмотреть сообщение
Если цифры заданного вами числа встречаются в загаданном, но стоят не на свойх местах, их колличество будет указанно, как колличество Коров
Если цифры заданного вами числа встречаются в загаданном, и стоят не на свойх местах, их колличество будет указанно, как колличество Быков
так в чем разница?
David Sylva
1285 / 947 / 51
Регистрация: 17.05.2012
Сообщений: 2,687
26.12.2012, 20:25     Быки и коровы. Комментарии к коду. #12
taras atavin я думаю, ты не совсем понял суть вопроса. Имеется ввиду за комментировать каждую строчку, объяснить, что к чему.
taras atavin
Ушёл с форума.
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
26.12.2012, 20:26     Быки и коровы. Комментарии к коду. #13
А
Цитата Сообщение от виталий22.01 Посмотреть сообщение
(т.е. написать подробнее, что как работает, по шагам)
- это прокомментировать. Закомментировать - это превратить то, что есть в коменнтарий, прокомментировать - это добавить комментарии к тому, что есть. Вся разница в приставке, а какой эффект.
виталий22.01
0 / 0 / 0
Регистрация: 28.02.2012
Сообщений: 4
26.12.2012, 20:29  [ТС]     Быки и коровы. Комментарии к коду. #14
мне нужны Коментарии, к строчкам программы, в частности (// и комментарий) чтоб было понятно, как работают, циклы, какие условия выполняются и т.д. Заранее спасибо!
HighPredator
5474 / 1840 / 342
Регистрация: 10.12.2010
Сообщений: 5,431
Записей в блоге: 3
26.12.2012, 20:30     Быки и коровы. Комментарии к коду. #15
Товарищи, прекращаем оффтоп.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.12.2012, 06:58     Быки и коровы. Комментарии к коду.
Еще ссылки по теме:
Функция для игры "быки и коровы" C++
C++ Алгоритм игры "Быки и коровы"
Комментарии к коду C++
C++ Комментарии к коду
Комментарии к коду C++

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

Или воспользуйтесь поиском по форуму:
taras atavin
Ушёл с форума.
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
27.12.2012, 06:58     Быки и коровы. Комментарии к коду. #16
Цитата Сообщение от David Sylva Посмотреть сообщение
Это возмутительная ложь.
Не зная проекта, глупо так говорить. Может там дефицит скаляров, а есть хорошие оболочечные функции для конкретных подзадач? В "универсальном" варианте функции ввода/вывода - наглядное пособие, как делать не надо, но в конкретном может быть лучше явного потокового оператора. Или вообще нет консоли, а только гуй? Если один глупец не умеет делать выводы из советов коллеги, то это не означает, что надо ему уподобляться.
Yandex
Объявления
27.12.2012, 06:58     Быки и коровы. Комментарии к коду.
Ответ Создать тему
Опции темы

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