Работа с файлами в с++ [требует правки]

290
03 июня 2017, 17:08

Помогите пожалуйста, суть задания нужно создать игру,угадай число. если диапазон чисел начинающихся с 0 и 1 и пользователь должен угадать число которое было задумано. если он угадывает то диапазон увеличивается на 1 число то есть теперь будет числа 0,1,2 и тд пока пользователь не проиграет. и записать в файл и вывести лучший результат который был достигнут за все игры.

Вот моя попытка написания кода:

#include <iostream> 
#include <fstream> 
using namespace std; 
int main(){ 
      int a; int Arr[300]; 
      Arr[0] = 0; Arr[1] = 1; 
      for (int i = 0; i < 300; i++){ } 
}
Answer 1

Вот. Разберитесь

#include "stdafx.h"
#include <random> 
#include <fstream>
#include <iostream>
using namespace std;
int main()
{
    int mistake = 0, i = 1;//Объявляем переменные (mistake - для проверки на ошибку (0 - нет ошибки, 1 - ошибка), i - размерность рандомного числа)
    while (mistake == 0)//Пока нет ошибки
    {
        setlocale(LC_ALL, "Russian");//Устанавливаем поддержку русских символов
        random_device rd;// объявляем недетерминированный генератор
        mt19937 gen(rd());//Генератор Mersenne Twister 19937
        uniform_int_distribution<> dist(0, i);//распределяем результаты между 0 и i включительно.
        int s = 0;//Объявляем переменную, в которое будет заноситься число, введённое пользователем
        int rand = dist(gen);//Объявляем переменную, которой присваивается рандомное целое значение от 0 до i
        cout << "Введите радомное число от 0 до " << i << endl;//Выводим строку в консоль
        cin >> s;//Получаем число, которое пользователь ввёл в консоль
        while ((s < 0) || (s > i))//Пока введённое число меньше 0 или больше i
        {
            cout << "Введённое число должно попадать в диапазон от 0 до " << i << endl;//Выводим строку в консоль
            cin >> s;//Получаем число, которое пользователь ввёл в консоль
        }
        if (s == rand)//Если введённое число совпало с рандомным
        {
            cout << "Вы угадали число! Усложняем)" << endl;//Выводим строку в консоль
            i++;//Увеличиваем диапазон на 1
        }
        else//Если введённое число не совпало с рандомным
        {
            cout << "Вы не угадали. Программа загадало число: " << rand << endl;//Выводим строку в консоль
            mistake = 1;//Пользователь ошибся
            ofstream fout;//Создаём поток с названием fout
            fout.open("result.txt");//Открываем файл result.txt и привязываем к потоку
            fout << i-1;//Записываем в поток число успешных операций (так как изначально i=1, то отнимаем единицу)
            fout.close();//Закрываем поток
            system("pause");//Не даём консоли закрыться сразу
        }
    }
    return 0;
}

Файл с результатом:

READ ALSO
Как превратить массив в двумерный

Как превратить массив в двумерный

Написал код по рандомному формированию массиваТеперь хочу что бы он стал двумерным

379
обертка над сокетами кидает исключение

обертка над сокетами кидает исключение

здравствуйте, решил написать небольшую обертку над си-шными сокетами, подскажите почему вылетает sigpipe в функции write?

329
Считывание из файла c++

Считывание из файла c++

В текстовом файле имеется информация, представленная в таком формате

360
Как это сделать [требует правки]

Как это сделать [требует правки]

Определить класс, который позволяет хранить данные об исключении объекта, который должен содержать информацию о том, что () для возвращения...

451