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

Как через goto вернуться назад, чтоб еще раз проверить функцию? - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Дано слово. Поменять местами первую букву со второй, третью - с четвертой и т.д http://www.cyberforum.ru/cpp-beginners/thread1159254.html
Дано слово из четных чисел букв. Поменять местами первую букву со второй, третью - с четвертой и т.д.
C++ Всего символы, стоящие на третьем, шестом, девятом и т.д. местах, заменяются на букву а Дано предложение. Всего его символы, стоящие на третьем, шестом, девятом и т.д. местах, заменяются на букву а. http://www.cyberforum.ru/cpp-beginners/thread1159234.html
Вывести работников, кому осталось меньше 15 лет до пенсии C++
Здравствуйте, помогите пожалуйста решить задачу: Написать программу, в которой необходимо создать структуру, дан список не менее 8 рабочих, ввести фамилию, количество лет, стаж работы, сколько до пенсии. Вывести кому осталось меньше 15 лет до пенсии. Заранее спасибо!
C++ нужно реализовать программу, через функцию
нужно написать функцию дополнения уже существующего массива структур новыми структурами! написал программу, но без функции.. не получается сделать ее как раз через функцию! помогите пожалуйста! #include <iostream> #include <string.h> using namespace std; struct Data //сама структура {
C++ Определить порядковые номера первой пары одинаковых соседних символов http://www.cyberforum.ru/cpp-beginners/thread1159212.html
Дано предложение. Определить порядковые номера первой пары одинаковых соседних символов. Если таких символов нет, то вывести соответствующие сообщение. Не работает по иначе, в чем проблема? Добавлено через 12 минут Сделал, но что то не работает, в чем ошибка? //---------------------------------TwIx----------------------------------------- #include <iostream.h> #include <vcl.h>
C++ Где косяк в коде и как исправить? #include <iostream> using namespace std; int main() { setlocale (LC_CTYPE, "Russian"); cout << "Введите числа нажимая ENTER: "; int size; cin >> size; подробнее

Показать сообщение отдельно
0x10
2425 / 1597 / 232
Регистрация: 24.11.2012
Сообщений: 3,919
27.04.2014, 18:43     Как через goto вернуться назад, чтоб еще раз проверить функцию?
А я не про красивости, а про то, что невозможно поддерживать код с копипастой.
Подавил в себе желание переписать все с нуля, подправил только ввод. Остальные баги не исправлял - там еще выход за границы не проверяется.
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
#include <iostream>
#include <time.h>
#include <string>
#include <vector>
 
#include <cstdlib>
using namespace std;
 
class  Matrix
{
private:
    int Width; // длинна
    int Height; //ширина
    char* Body;  // тело матрицы
public:
    Matrix(int w, int h)
    {
        Width = w;
        Height = h;
        Body = new char[w * h];
    }
    ~Matrix()
    {
        delete[] Body;
    }
    //добавляет в массив знчение value
    void Set(int col, int row, char value)
    {
        Body[col * Width + row] = value;
    }
    // достает то что нужно из матрицы
    char Get(int col, int row)
    {
        return Body[col * Width + row];
    }
    // заполняет матрицу единицами
    void SetRand()
    {
        for (int i = 0; i < Width; i++)
        {
            for (int j = 0; j < Height; j++)
            {
                Set(i, j, '.');
            }
        }
    }
    // выводит матрицу на экран
    void Print()
    {
        for (int i = 0; i < Width; i++)
        {
            for (int j = 0; j < Height; j++)
            {
                cout << Get(i, j) << "    ";
            }
 
            cout << endl;
            cout << endl;
        }
    }
    // заполняет матрицу
    void filling(int t, int t1, char n)
    {
        //check(t, t1);
        Set(t, t1, n);
        system("clear");
        Print();
    }
    bool check(int t, int t1)
    {
 
        if ((Get(t, t1) == 'X') || (Get(t, t1)) == 'O')
        {
            return true;
        }
 
        else
        {
            return false;
        }
    }
 
 
};
 
void read_coordinates(int& t, int& t1)
{
    cout << "Введите i" << endl << endl;
    cin >> t;
    cout << "Введите j" << endl << endl;
    cin >> t1;
}
 
void turn(Matrix& A, const string& name, char sym)
{
    int t, t1;
 
    cout << "Ходит" << "   " << name << " " << endl << endl;
    read_coordinates(t, t1);
 
    while (A.check(t, t1))
    {
        read_coordinates(t, t1);
    }
 
    A.filling(t, t1, sym);
}
 
int main()
{
    setlocale(LC_ALL, "Russian");
    Matrix A(3, 3);
    A.SetRand();
    string name1; //имя первого игрока
    string name2; // имя вторго игрока
    cout << "Введите имя первого игрока" << endl << endl;
    cin >> name1;
    cout << endl;
    cout << "Введите имя вторго игрока" << endl << endl;
    cin >> name2;
    cout << endl;
    system("clear");
 
    A.Print();
 
    for (int i = 0; i < 9; i++)
    {
        if (i % 2 == 0)
        {
            turn(A, name1, 'X');
        }
        else if (i % 2 != 0)
        {
            turn(A, name2, 'O');
        }
    }
 
    system("PAUSE");
    return 0;
}
 
Текущее время: 09:22. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru