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

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

Войти
Регистрация
Восстановить пароль
 
Leonid95
0 / 0 / 0
Регистрация: 21.04.2014
Сообщений: 4
#1

Программа крестики нолики, исправить ошибки в коде - C++

21.04.2014, 20:28. Просмотров 475. Ответов 7
Метки нет (Все метки)

Уже неделю пишу программу для игры крестики нолики и понял, что всё очень печально. Был бы очень признателен за помощь. Есть проблема,с которой я не знаю как справиться. Вот сама проблема error C2660: _itoa_s: функция не принимает 3 аргументов. Что делать??? Я прекрасно понимаю,что значит 'функция не принимает 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
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
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
#include "stdafx.h"
#include <iostream>
#include <time.h>
#include <string.h>
#include <cstdlib>
#include <stdio.h>
 
using namespace std;
void main()
{
char KN[9]={' ',' ',' ',' ',' ',' ',' ',' ',' '};
int n_y;
int t=0, i=0, r=0, hod=0, f=0, v=0;
int krst=264;
int nl=237;
int nich=32;
int DA=0;
int vibor=0;
char * nolik = new char[17];
char * krestik = new char[17];
char * probel = new char[17];
 
 
            //______________________________Схема игры________________________________________
                cout<<"\n\t  ********************************************************"<<endl;
                       cout<<"\n\t\tDOBRO POGHALOVAT V IGRU  < KRESTIKI NOLIKI >\n\n\a\a"<<endl;
                       cout<<"\t\t     NA RISUNKE IZOBRAGHENA  SHEMA IGRI\n\n"<<endl;
                    cout<<"\t\t  **    **    **   "<<"-------"<<"   **    **   **  "<<endl;
                    cout<<"\t\t**  **   **  **    "<<"|1|2|3|"<<"    **  **  **  **"<<endl;
                    cout<<"\t\t**  **     **      "<<"-------"<<"      **    **  **"<<endl;
                    cout<<"\t\t**  **     **      "<<"|4|5|6|"<<"      **    **  **"<<endl;
                    cout<<"\t\t**  **     **      "<<"-------"<<"      **    **  **"<<endl;
                    cout<<"\t\t**  **   **  **    "<<"|7|8|9|"<<"    **  **  **  **"<<endl;
                    cout<<"\t\t  **    **    **   "<<"-------"<<"   **    **   **  "<<endl;
                cout<<"\n\t  ********************************************************\n\n"<<endl; 
                cout<<" Viberite kem vi hotite bit\n"<<endl;
            //______________________________Выбор символа_____________________________________
                do{ 
                    cout<<" KRESTIKOM < X > -> 1\n\n NOLIKOM   < O > -> 2\n\n Vash vibor: ";
                    cin>>vibor; cout<<"\a";
                    if(vibor!=1 && vibor!=2) 
                    {
                        cout<<endl<<"Vi moghete vibrat tolko 1 - <X> ili 2 - <O>\n\n\n\n\a";
                    }
                    if(vibor==1) { cout<<"\nVi vibrali < KRESTIK >\n\n";}
                    if(vibor==2) { cout<<"\nVi vibrali < NOLIK >\n\n";  }
                }while(vibor!=1 && vibor!=2);
 
 
//______________Ввод символа пользователем________________________
for(hod=1; hod<=6; hod++)
{
    cout<<"Vvedite nomer yacheyki : ";
    cin>>n_y;  cout<<endl;          
        int cifr_klav[9]={1,2,3,4,5,6,7,8,9};
        if(n_y>0 && n_y<10)
        {
            for(f=0; f<9; f++)
            {
                if(n_y==cifr_klav[f])
                {
                    if( KN[f]!=' ')
                        { cout<<endl<<"Eta yacheyka zanyata! Viberite pustuyu yacheyku!\a\n"<<endl; r=1; hod--;}
                    
                    else
                    {
                        if(vibor==1) // X             
                        { KN[f]='X'; _itoa_s(KN[f], krestik, 10); r=0;}
                        if(vibor==2) // O           
                        { KN[f]='O'; _itoa_s(KN[f], nolik, 10); r=0;}
                    }
                }
            }           
            if (KN[n_y]==' ') { _itoa_s(KN[n_y],probel,10); }
        }
        else { cout<<endl<<"Vi moghete vibrat yacheyku tolko v diapazone ot < 1 > do < 9  >\a\n"<<endl; r=1; hod=0; continue;}
 
 
//______________Ввод символа компьютером_____________________________
            if(r!=1)
            {
                srand( time( NULL ) );
                label:  n_y=rand()%9;
                        if(hod==5) 
                            {  n_y=rand()%10;}
                        else
                        {
                            if(KN[n_y]=='X' || KN[n_y]=='O')
                                     goto label;
                            else
                            {
                                if(vibor==1) // X
                                {   KN[n_y]='O'; _itoa_s(KN[n_y],nolik,10);   }
                                if(vibor==2) // O
                                {   KN[n_y]='X'; _itoa_s(KN[n_y],krestik,10); }
                            }
                        }
                
            }
//____________________________________________Вывод результата на екран_____________________________________________________
                    cout<<"\t\t\t Hod : "<<hod<<"\n\n"<<endl;
                    cout<<"\t\t  **    **    **   "<<"-------"                              <<"   **    **   **  "<<endl;
                    cout<<"\t\t**  **   **  **    "<<"|"<<KN[0]<<"|"<<KN[1]<<"|"<<KN[2]<<"|"<<"    **  **  **  **"<<endl;
                    cout<<"\t\t**  **     **      "<<"-------"                              <<"      **    **  **"<<endl;
                    cout<<"\t\t**  **     **      "<<"|"<<KN[3]<<"|"<<KN[4]<<"|"<<KN[5]<<"|"<<"      **    **  **"<<endl;
                    cout<<"\t\t**  **     **      "<<"-------"                              <<"      **    **  **"<<endl;
                    cout<<"\t\t**  **   **  **    "<<"|"<<KN[6]<<"|"<<KN[7]<<"|"<<KN[8]<<"|"<<"    **  **  **  **"<<endl;
                    cout<<"\t\t  **    **    **   "<<"-------"                              <<"   **    **   ** \a\n "<<endl;
//______________________________________Если выбран крестик_______________________________________
   if ( (KN[0]+KN[4]+KN[8]==krst)  || (KN[2]+KN[4]+KN[6]==krst)  || 
        (KN[0]+KN[1]+KN[2]==krst)  || (KN[3]+KN[4]+KN[5]==krst)  || (KN[6]+KN[7]+KN[8]==krst) ||
        (KN[0]+KN[3]+KN[6]==krst)  || (KN[1]+KN[4]+KN[7]==krst)  || (KN[2]+KN[5]+KN[8]==krst)   )
   {
               if(vibor==1)
                 {cout<<"\n\t\t\t  !!!!!  VI VIYGRALI  !!!!!\n\n\a\a\a"<<endl; break;}
               if(vibor==2)
                    {cout<<"\t\t\t\tVI PROIGRALI\a\a"<<endl; break;}
 
   }
 
//______________________________________Если выбран нолик__________________________________
   if ( (KN[0]+KN[4]+KN[8]==nl) || (KN[2]+KN[4]+KN[6]==nl) ||                                
        (KN[0]+KN[1]+KN[2]==nl) || (KN[3]+KN[4]+KN[5]==nl) || (KN[6]+KN[7]+KN[8]==nl) ||   
        (KN[0]+KN[3]+KN[6]==nl) || (KN[1]+KN[4]+KN[7]==nl) || (KN[2]+KN[5]+KN[8]==nl)   )   
        {
               if(vibor==2)
                 {cout<<"\n\t\t\t  !!!!!  VI VIYGRALI  !!!!!\n\n\a\a\a"<<endl; break;}
               if(vibor==1)
                    {cout<<"\t\t\t\tVI PROIGRALI\a\a"<<endl; break;}
 
        }
//________________________________________Условия ничьи_____________________________________________________________________________________________________
  
     if ( (KN[0]+KN[4]+KN[8]!=krst)  && (KN[0]+KN[4]+KN[8]!=nl)  &&  (KN[0]+KN[1]+KN[2]!=krst)  && (KN[0]+KN[1]+KN[2]!=nl)  &&   
          (KN[0]+KN[3]+KN[6]!=krst)  && (KN[0]+KN[3]+KN[6]!=nl)  &&  (KN[2]+KN[4]+KN[6]!=krst)  && (KN[2]+KN[4]+KN[6]!=nl)  &&     
          (KN[3]+KN[4]+KN[5]!=krst)  && (KN[3]+KN[4]+KN[5]!=nl)  &&  (KN[1]+KN[4]+KN[7]!=krst)  && (KN[1]+KN[4]+KN[7]!=nl)  &&   
          (KN[6]+KN[7]+KN[8]!=krst)  && (KN[6]+KN[7]+KN[8]!=nl)  &&  (KN[2]+KN[5]+KN[8]!=krst)  && (KN[2]+KN[5]+KN[8]!=nl)  && 
          (KN[2]!=nich && KN[5]!=nich && KN[8]!=nich && KN[3]!=nich && KN[4]!=nich&& KN[5]!=nich && KN[6]!=nich&& KN[7]!=nich && KN[8]!=nich) && (hod==5)) 
                {cout<<"\t\t\t       XO! NICHYA !OX"<<endl;break;} 
                 
}
 
delete nolik;
delete krestik;
delete probel;
 
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.04.2014, 20:28
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Программа крестики нолики, исправить ошибки в коде (C++):

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

Игра Крестики-Нолики (Ошибка в коде) - C++
Доброго времени суток. Не показывает победителя если комбинация по вертикали/горизонтали/диагонали сошлась. И если вводить букву...

Найти и исправить ошибки в коде (программа уходит в бесконечный цикл) - C++
#include &lt;iostream&gt; #include &lt;stdio.h&gt; #include &lt;math.h&gt; int main() { int n,k,s; float a,b,c,F; cout&lt;&lt;&quot;vvedite...

Программа крестики и нолики - C++
#include&lt;conio.h&gt; #include&lt;stdio.h&gt; #include&lt;time.h&gt; #include&lt;stdlib.h&gt; #include&lt;dos.h&gt; #include&lt;math.h&gt; int main(void) { ...

Крестики - нолики. Комментарии. Программа. Объясните часть кода - C++
Здравствуйте! Требуется ваша помощь. В коде: #include &quot;KRESTNOL.h&quot; #pragma once extern KRESTNOL x0; namespace Крестикинолики { ...

Крестики-нолики (в классах) - Правильно ли структурно написана программа - C++
//main.cpp #include&lt;iostream&gt; #include&lt;windows.h&gt; #include&quot;board.h&quot; #include&quot;BoardView.h&quot; using namespace std; int main()...

7
Croessmah
Эксперт CЭксперт С++
13416 / 7570 / 855
Регистрация: 27.09.2012
Сообщений: 18,636
Записей в блоге: 3
Завершенные тесты: 1
21.04.2014, 20:33 #2
Цитата Сообщение от Leonid95 Посмотреть сообщение
Что делать?
использовать itoa? Или передавать все необходимые параметры.
0
Leonid95
0 / 0 / 0
Регистрация: 21.04.2014
Сообщений: 4
21.04.2014, 20:56  [ТС] #3
error C4996: 'itoa': The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: _itoa. See online help for details.
С itoa вот такая ошибка
0
Croessmah
Эксперт CЭксперт С++
13416 / 7570 / 855
Регистрация: 27.09.2012
Сообщений: 18,636
Записей в блоге: 3
Завершенные тесты: 1
21.04.2014, 20:58 #4
Цитата Сообщение от Leonid95 Посмотреть сообщение
С itoa вот такая ошибка
а прочитать никак?
Цитата Сообщение от Leonid95 Посмотреть сообщение
error C4996: 'itoa': The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: _itoa. See online help for details.
0
Leonid95
0 / 0 / 0
Регистрация: 21.04.2014
Сообщений: 4
21.04.2014, 21:07  [ТС] #5
error C4996: '_itoa': This function or variable may be unsafe. Consider using _itoa_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
0
cooller
565 / 533 / 120
Регистрация: 25.12.2013
Сообщений: 1,456
21.04.2014, 21:15 #6
Цитата Сообщение от Leonid95 Посмотреть сообщение
error C4996: '_itoa': This function or variable may be unsafe. Consider using _itoa_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
Даже не знаю
0
Leonid95
0 / 0 / 0
Регистрация: 21.04.2014
Сообщений: 4
21.04.2014, 21:16  [ТС] #7
какие ещё варианты существуют???
0
Croessmah
Эксперт CЭксперт С++
13416 / 7570 / 855
Регистрация: 27.09.2012
Сообщений: 18,636
Записей в блоге: 3
Завершенные тесты: 1
21.04.2014, 21:24 #8
а еще прочитать?
Цитата Сообщение от Leonid95 Посмотреть сообщение
error C4996: '_itoa': This function or variable may be unsafe. Consider using _itoa_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
Strtok и strtok_s
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.04.2014, 21:24
Привет! Вот еще темы с ответами:

Исправить код игры "Крестики-нолики" - C++
игру 'крестики нолики' с++ с помащу функций пример(не работаєт) #include &lt;iostream&gt; using namespace std; bool Revizor(char board) ...

Найти ошибки в коде и исправить эти ошибки (Наследование) - C++
Вот в общем 3 файла, изучаю наследование на примере односвязного и двусвязного списков: list.h (inline) #pragma once class list...

Найти ошибки в коде и исправить эти ошибки - C++
Есть у меня вот такой код: #include &lt;iostream&gt; using namespace std; class A{ private: int* a; size_t size_; ...

Найти ошибки в коде и исправить эти ошибки - C++ - C++
Судя по вываливающейся ошибки, идет двойное освобождение памяти. У самого не получается отловить откуда. A.h #pragma once ...


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

Или воспользуйтесь поиском по форуму:
8
Yandex
Объявления
21.04.2014, 21:24
Ответ Создать тему
Опции темы

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