2 / 2 / 1
Регистрация: 16.06.2016
Сообщений: 91
1

Не могу найти ошибку

05.08.2016, 15:36. Показов 492. Ответов 8

Author24 — интернет-сервис помощи студентам
Уважаемые форумчане! Скорее всего моя ошибка опять глупая, но я просто не могу её понять. Самое странное что он даже просто ввести строку не даёт. красным подчёркнуто: cin >> NorB; if(NorB == "next") и if(NorB == "back") Вот мой код:
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
#include <conio.h>;
#include <iostream>;
#include <ctime>;
 
using namespace std;
 
char CardBox[36][2];
 
bool EnterRandCard()
{
int symbolBest=rand()%4;
 
for(int i(0); i < 36; i++)
    for(int j(0); j < 2; j++)
    {
    CardBox[i][0] = rand()%8;
    CardBox[i][1] = rand()%4;
 
    if(CardBox[i][1] = symbolBest)
        CardBox[i][1] = 'к';
 
    else if(CardBox[i][1] = 0)
        CardBox[i][1] = 'ч';
 
    else if(CardBox[i][1] = 1)
        CardBox[i][1] = 'б';
 
    else if(CardBox[i][1] = 2)
        CardBox[i][1] = 'т';
 
    else if(CardBox[i][1] = 3)
        CardBox[i][1] = 'п';
 
    else {cout << "Ошибка" << endl; return false;}
 
 
    }
 
 
return true;
}
 
bool CheckCardBox()
{
if(EnterRandCard() == false)
    return false;
else
{
cout << "б - бубны, ч - чирви, т - тревы,\nп - пики, к - козырь" << endl;
cout << "\tЧто бы просмотреть следуйщую карту, надо ввести next, что бы предыдущую back." << endl;
 
string NorB = "next";
 
for(int i(0); i < 36; i++)
    for(int j(0); j < 2; j++)
    {
    cin >> NorB;
    if(NorB == "next")
    cout << CardBox[i++][0] << " " << CardBox[i++][1] << endl;
    else if(NorB == "back")
        cout << CardBox[i--][0] << " " << CardBox[i--][1] << endl;
    else {cout << "Ошибка" << endl; return false;}
 
 
    
    }
 
 
 
 
 
 
}
 
 
 
return true;
}
 
int main()
{
setlocale(0,"rus");
srand(time(NULL));
 
 
while(false)
{
CheckCardBox();
}
 
 
 
 
 
_getch();
return 0;
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.08.2016, 15:36
Ответы с готовыми решениями:

Найти слова, повторяющиеся более одного раза, не могу найти ошибку
#include &lt;iostream&gt; using namespace std; void obr1(char **s, char **mas, int n, int m) { int...

Массивы. Посчитать количество положительных, найти минимальное, удалить строку с минимальным (Не могу найти ошибку)
// Заданы матрицы X(8;4),Y(5;5),Z(6;9). // Для каждой из матриц определить строку, в которой...

Не могу найти ошибку
{ char str={0}; char str2={0}; int k=0; int n=8; strcpy(str,this-&gt;Edit1-&gt;Text.c_str());...

Не могу найти ошибку
Не могу найти ошибку. Вод код #include &lt;conio.h&gt; #include &lt;iostream&gt; #include &lt;clocale&gt; int...

8
2270 / 1762 / 740
Регистрация: 27.07.2012
Сообщений: 5,237
05.08.2016, 15:41 2
Ну пишет же хоть что-то? Пусть себе подчёркивает что хочет. Попробуй скомпилировать.
0
2662 / 2237 / 240
Регистрация: 03.07.2012
Сообщений: 8,138
Записей в блоге: 1
05.08.2016, 15:45 3
#include <string>
0
Одессит
243 / 88 / 44
Регистрация: 30.12.2013
Сообщений: 316
Записей в блоге: 2
05.08.2016, 15:48 4
Не хватает
C++
1
#include <cstdlib>
для rand()
А ещё можно убрать в первых трёх строчка точку с запятой - они лишние.
0
63 / 61 / 37
Регистрация: 01.04.2015
Сообщений: 116
05.08.2016, 15:49 5
Опечатка
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
bool EnterRandCard()
{
int symbolBest=rand()%4;
 
for(int i(0); i < 36; i++)
    for(int j(0); j < 2; j++)
    {
    CardBox[i][0] = rand()%8;
    CardBox[i][1] = rand()%4;
 
    if(CardBox[i][1] = symbolBest) // Присваивание вместо сравнения
        CardBox[i][1] = 'к';
 
    else if(CardBox[i][1] = 0) // Присваивание вместо сравнения
        CardBox[i][1] = 'ч';
 
    else if(CardBox[i][1] = 1) // Присваивание вместо сравнения
        CardBox[i][1] = 'б';
 
    else if(CardBox[i][1] = 2) // Присваивание вместо сравнения
        CardBox[i][1] = 'т';
 
    else if(CardBox[i][1] = 3) // Присваивание вместо сравнения
        CardBox[i][1] = 'п';
 
    else {cout << "Ошибка" << endl; return false;}
 
 
    }
 
 
return true;
}
1
2 / 2 / 1
Регистрация: 16.06.2016
Сообщений: 91
05.08.2016, 16:07  [ТС] 6
Цитата Сообщение от kylroma Посмотреть сообщение
Не хватает
C++
1
#include <cstdlib>
для rand()
А ещё можно убрать в первых трёх строчка точку с запятой - они лишние.
Мне rand никак не мешает
0
2 / 2 / 1
Регистрация: 16.06.2016
Сообщений: 91
05.08.2016, 16:14  [ТС] 7
ещё вопрос! что тут не так?
Миниатюры
Не могу найти ошибку  
0
Модератор
Эксперт С++
13502 / 10754 / 6409
Регистрация: 18.12.2011
Сообщений: 28,698
05.08.2016, 16:28 8
Цитата Сообщение от Oleg Pridarun Посмотреть сообщение
while(false) { CheckCardBox(); }
Цикл выполнится 0 раз.
0
2 / 2 / 1
Регистрация: 16.06.2016
Сообщений: 91
05.08.2016, 16:58  [ТС] 9
Цитата Сообщение от zss Посмотреть сообщение
Цикл выполнится 0 раз.
это после того как я изменил на do{}while(true)
0
05.08.2016, 16:58
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.08.2016, 16:58
Помогаю со студенческими работами здесь

Не могу найти ошибку
Добрый день. Есть код #include &lt;stdio.h&gt; #include &lt;conio.h&gt; #include &lt;math.h&gt; struct...

Не могу найти ошибку
w-Слово.CustomAlphabet-Буквы на которые не заканчиваются слова. Не получается предпоследнюю букву...

Не могу найти ошибку...
минимум среди сумм модулей элементов диагоналей, параллельных побочной диагонали матрицы. Я ввожу...

Не могу найти ошибку
Вот моя задача и к ней я должен придумать обработку исключений Поле first - положительное целое...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru