C++ кодеры

4.92K
.
The Frontend-Warrior
rumit, странный вопрос. php - это серверный язык, c++ - програмный. ядро php на c++ написано.
.
Blade (17.02.2012/11:58)
rumit, странный вопрос. php - это серверный язык, c++ - програмный. ядро php на c++ написано.
извини за глупый вопрос,так как нет знания !что посоветуеш,с чего начать ,чтобы научиться скрипты писать ,вот думаю скачать книжку по пхп
.
The Frontend-Warrior
rumit, качай php учебник или видео уроки
.
Blade (17.02.2012/12:08)
rumit, качай php учебник или видео уроки
спасибо)
.
научился самым основам языка, написал крестики нолики на двоих =)

#include <iostream>

using namespace std;

int enterData(void) // функция ввода данных
{
    int n;
    cout << "Введите число ";
    cin >> n;
    return n;
}

void printM(char mass[3][3]) // функция вывода массива
{
    for (int i = 0; i < 3; i++) {
        for (int j = 0; j < 3; j++) {
            if(j == 2)
                cout << mass[i][j];
            else
                cout << mass[i][j] << "|";
        }
        cout << endl;
    }
}

int winer(char mass[3][3], int x, int y) // функция проверки на победителя
{
    if( (mass[x][0] == mass[x][1]) && (mass[x][0] == mass[x][2]) ) // проверка строк
    {
        cout << endl << endl << mass[x][0] << " победил!";
        return 1;
    }

    if( (mass[0][y] == mass[1][y]) && (mass[0][y] == mass[2][y]) ) // проверка столбцов
    {
        cout << endl << endl << mass[0][y] << " победил!";
        return 1;
    }

    if( (mass[0][0] == mass[1][1]) && (mass[0][0] == mass[2][2]) && mass[0][0] != ' ') // проверка диагонали 1
    {
        cout << endl << endl << mass[0][0] << " победил!";
        return 1;
    }

    if( (mass[2][0] == mass[1][1]) && (mass[2][0] == mass[0][2])  && mass[2][0] != ' ') // проверка диагонали 2
    {
        cout << endl << endl << mass[2][0] << " победил!";
        return 1;
    }

}

int nowin(char mass[3][3]) // функция проверки на ничью
{
    for (int i = 0; i < 3; i++)
        for (int j = 0; j < 3; j++)
            if(mass[i][j] == ' ') // если хоть одно из полей пустое возвращаем ноль
                return 0;
    return 1; // tсли все поля заняты возвращаем 1

}

int main()
{
    setlocale(0,"Rus");
    cout << "Крестики нолики" << endl;
    cout << "____________________________________________________________" << endl;

    cout << "0|1|2" << endl << "3|4|5" << endl << "6|7|8" << endl << endl;


    int n = 1; // счетчик ходов
    char board[3][3]; // игровое поле

    for (int i = 0; i < 3; i++) // заполняем игровое поле пробелами
        for (int j = 0; j < 3; j++)
            board[i][j] = ' ';

    while(true) // цикл до конца игры
    {
        int choise = enterData(); // вводим число
        if (choise > 8 || choise < 0) // проверяем подходит ли оно нам
        {
            cout << "Ошибка!!!\n\n";
            continue;
        }

        int y = choise % 3; // получаем икс
        int x = choise / 3; // получаем игрик

        if(board[x][y] == ' '){ // проверяем свободна ли координата
            if(n % 2 == 0) // выбираем что ставить икс или игрик
                board[x][y] = 'X';
            else
                board[x][y] = '0';
        }
        else // выводим ошибку если координата занята
        {
            if(nowin(board) == 1) // если функция вернула 1 пишем ничья
            {
                cout << "Ничья!!!\n";
                break;
            }
            else // иначе выдаем ошибку
            {
                cout << "Ошибка!!!\n\n";
                continue;
            }
        }

        printM(board); // выводим игровое поле
        if (winer(board, x, y) == 1) // проверка победителя
            break;

        n++;

    }
    return 0;
}
.
мда, тупанул, когда писал =)
переделал ничью, что еще можно поправить?

#include <iostream>
using namespace std;
int enterData(void) // функция ввода данных
{
    int n;
    cout << "Введите число ";
    cin >> n;
    return n;
}
void printM(char mass[3][3]) // функция вывода массива
{
    for (int i = 0; i < 3; i++) {
        for (int j = 0; j < 3; j++) {
            if(j == 2)
                cout << mass[i][j];
            else
                cout << mass[i][j] << "|";
        }
        cout << endl;
    }
}
int winer(char mass[3][3], int x, int y) // функция проверки на победителя
{
    if( (mass[x][0] == mass[x][1]) && (mass[x][0] == mass[x][2]) ) // проверка строк
    {
        cout << endl << endl << mass[x][0] << " победил!";
        return 1;
    }
    if( (mass[0][y] == mass[1][y]) && (mass[0][y] == mass[2][y]) ) // проверка столбцов
    {
        cout << endl << endl << mass[0][y] << " победил!";
        return 1;
    }
    if( (mass[0][0] == mass[1][1]) && (mass[0][0] == mass[2][2]) && mass[0][0] != ' ') // проверка диагонали 1
    {
        cout << endl << endl << mass[0][0] << " победил!";
        return 1;
    }
    if( (mass[2][0] == mass[1][1]) && (mass[2][0] == mass[0][2])  && mass[2][0] != ' ') // проверка диагонали 2
    {
        cout << endl << endl << mass[2][0] << " победил!";
        return 1;
    }
}
int main()
{
    setlocale(0,"Rus");
    cout << "Крестики нолики" << endl;
    cout << "____________________________________________________________" << endl;
    cout << "0|1|2" << endl << "3|4|5" << endl << "6|7|8" << endl << endl;
    char board[3][3]; // игровое поле
    for (int i = 0; i < 3; i++) // заполняем игровое поле пробелами
        for (int j = 0; j < 3; j++)
            board[i][j] = ' ';    
    int n = 1; // счетчик ходов
    while(true) // цикл до конца игры
    {
        if(n > 9) // если ходов больше 9 прерываем цикл (ничья)
            break;
        int choise = enterData(); // вводим число
        if (choise > 8 || choise < 0) // проверяем подходит ли оно нам
        {
            cout << "Ошибка!!!\n\n";
            continue;
        }
        int y = choise % 3; // получаем икс
        int x = choise / 3; // получаем игрик

        if(board[x][y] == ' '){ // проверяем свободна ли координата
            if(n % 2 == 0) // выбираем что ставить икс или игрик
                board[x][y] = 'X';
            else
                board[x][y] = '0';
        }
        else // выводим ошибку если координата занята
        {
            cout << "Ошибка!!!\n\n";
            continue;
        }
        printM(board); // выводим игровое поле
        if (winer(board, x, y) == 1) // проверка победителя
            break;
        n++;
    }
    return 0;
}
.
Нормально делай - Нормально будет
дай егзешник неохота компилить))
.
C++ тяжёлый в изучении?
.
nan4ik, Если какой то знаеш язык, то не очень.
.
nan4ik (12.06.2012/13:55)
C++ тяжёлый в изучении?
тяжеловат.
Всего: 168