С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.87/15: Рейтинг темы: голосов - 15, средняя оценка - 4.87
0 / 0 / 0
Регистрация: 01.03.2013
Сообщений: 58
1

Ошибка с "stdafx.h"

01.02.2014, 02:34. Показов 2978. Ответов 8
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
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 <stdafx.h>
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
#include <time.h>
#include <ctime>
#include <iomanip>
#include <iostream>
#include <string.h>
#include <conio.h>
using namespace std;
int main()
{
int pole[7][7],q[7][7],a[7][7],u=0,p=0,w=0,e,sh=0,s=5,h,i,l=0,v,n=0,x,o,j,k,b,c,z=5;
srand(time_t(NULL));
for(i=1;i<6;i++)
for(j=1;j<6;j++)
q[i][j]=0;
for(k=0;z!=0;k++)
{
j=rand()%17-8;
i=rand()%17-8;
if(i>=1 && i<=5 && j>=1 && j<=5)
{
if(q[i][j]!=1)
{
q[i][j]=1;
z=z-1;
}
}
}
for(i=0;i<7;i++)
for(j=0;j<7;j++)
{
pole[i][j]=q[i][j];
}
printf ("\n");
 
for(i=1;i<6;i++)
{
for(j=1;j<6;j++)
printf ("%2i",a[i][j]);
 
printf ("\n");
}
for(k=0;k<999;k++)
{
printf ("KyDa BbICTPELITb?");
scanf_s ("%i",&i);
scanf_s ("%i",&j);
if(q[i][j]>=0 && i>=1 && i<=5 && j>=1 && j<=5)
{
p=i-1;
u=j-1;
if(q[i][j]==1)
{
printf ("BbI npourpaLu!\n");
for(i=1;i<6;i++)
{
for(j=1;j<6;j++)
printf ("%2i",pole[i][j]);
printf ("\n");
}
exit(0);
}
else
{
printf ("MuH HET!\n");
sh=sh+1;
if(sh==20)
printf ("BbI auea?aLu!");
exit(0);
}
q[i][j]=-1;
w=0;
for(i=p;i<p+3;i++)
for(j=u;j<u+3;j++)
//4*5
//678
if(q[i][j]==1)
w=w+1;
}
 
if(w==0)
w=-1;
a[p+1][u+1]=w;
for(i=1;i<6;i++)
{
for(j=1;j<6;j++)
printf ("%2i",a[i][j]);
printf ("\n");
}
printf ("\n"); 
}
printf ("OIIIu6KA!\n");
getch();
}



Вот то что у меня есть,ошибка с библиотекой stdafx.h,да и после моих манипуляций оно запустилось,но не работает так как надо.может кто помочь решить проблему,это сапер в консольном режиме.
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
01.02.2014, 02:34
Ответы с готовыми решениями:

Ошибка stdafx в Dev C++
Not such file in derectory. Без stdafx код не работает, но дев выдает ошибку

Ошибка подключения stdafx.h
скажите пожалуйста как исправит эту ошибку Сообщения и тексты программ надо копировать в текст...

С++ ошибка в онлайн компиляторе stdafx.h
здраствуйте не могли вы мне помочь?.... после написания кода в vsCode я дал расширение .cpp и в...

Ошибка stdafx.h: No such file or directory
при запуске программы выдает такую ошибку : fatal error C1083: Не удается открыть файл включение:...

8
78 / 78 / 9
Регистрация: 26.12.2011
Сообщений: 217
01.02.2014, 02:41 2
ebywku, создай пустой проект и удали 1-ю строчку " #include <stdafx.h> ", навязанную студией, либо < > поменяй на " ", т.е.: #include "stdafx.h" - это пользовательский заголовочник, если мне не изменяет память (давно такого не видел (: ).
0
495 / 450 / 138
Регистрация: 03.02.2013
Сообщений: 1,394
01.02.2014, 03:10 3
если грубо, то мы видем
C++
1
2
3
4
5
6
7
8
9
10
#include <stdafx.h>
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
#include <time.h>
#include <ctime>
#include <iomanip>
#include <iostream>
#include <string.h>
#include <conio.h>
срань господня...
дальше:
C++
1
printf ("\n");
зачем было
C++
1
using namespace std;
да что это вообще?
что за scanf_s ("%i",&i); ?
что за getch(); ?
да и весь этот бешенный набор инклудов, тут из С++ от силы 10% строчек, остальное бред собачи... ой, сишный

ну вот в чём по Вашему разница между time.h и ctime? а какое отношение к C++ имеет conio.h? да и про остальные *.h я молчу, их не должно быть вообще
0
0 / 0 / 0
Регистрация: 01.03.2013
Сообщений: 58
01.02.2014, 03:20  [ТС] 4
простите,но на больше меня не хватило,потому к вам и обратился.

Добавлено через 1 минуту
я с удовольствием выслушаю всю вашу критику постараюсь исправить все
0
4264 / 3323 / 925
Регистрация: 25.03.2012
Сообщений: 12,520
Записей в блоге: 1
01.02.2014, 03:58 5
abit, ты поворчать насчёт си зашёл? Все функции си поддерживаются и в плюсах и их стоит знать.
1
78 / 78 / 9
Регистрация: 26.12.2011
Сообщений: 217
01.02.2014, 16:53 6
abit, сам с такими мыслями код просматриваю, но все же - раздел соответствующий, поэтому так грубо критиковать не стоит, наверное
ebywku, я уже написал, что должно помочь. Это сапёр? С С++ неделю-две знакомы?
0
78 / 78 / 9
Регистрация: 26.12.2011
Сообщений: 217
01.02.2014, 19:34 7
Лучший ответ Сообщение было отмечено ebywku как решение

Решение

ebywku, набросал свой вариант игры. Только он не завершенный:
- Нет проверки на наличие пустых соседних клеток при попадании в "0" клетку (т.е. клетку, рядом с которой нет мин).
- Нет проверки на победу в игре (принимается только поражение ).

Пример игры в действии - во вложенном файле.

Нет, мне не сложно её дописать - но тогда вам не интересно будет разбирать её исходный код. А поставив задачу - покопаетесь в коде, лучше освоитесь.

Кликните здесь для просмотра всего текста

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
148
149
#include <iostream> // подключаем для ввода-вывода инфорации
#include <clocale> // для поддержки русского языка
#include <cstdlib> // для генерации случайных чисел
#include <vector> // для работы с матрицами (игровое поле)
#include <ctime> // понадобится для генерации "семени" в srand()
#include <algorithm> // для работы с игровым полем
#include <cmath> // ну, понадобился мне модуль числа :)
#include <iomanip> // для форматированного ввода-вывода
 
typedef std::vector<std::vector<std::pair<int, bool>>> field; // тип игрового поля
struct POINT { int x, y; }; // точки попадания
 
// проверяем правильность введенных данных
bool check_pos(POINT pos, int size);
// Генерация игрового поля. Принимает размер и количество мин
field generate_game(int size, int count);
// Ожидание при завершении программы
void end_game();
// Вывод игрового поля
void print(field matrix, bool status = false);
// Основной цикл игры
void begin_game(field matrix);
 
// входная функция
int main()
{
    field matrix = generate_game(7, 10); // генерируем игровое поле (7х7, 10 мин)
    begin_game(matrix); // запускаем игровой цикл
    end_game(); // пауза перед завершением
    return 0;
}
 
// проверяем правильность введенных данных
bool check_pos(POINT pos, int size)
{
    if(pos.x>=0 && pos.x<size)
        if(pos.y>=0 && pos.y < size)
            return true;
    return false;
}
 
// Генерация игрового поля. Принимает размер и количество мин
// Возвращает, соответственно, игровое поле в виде двумерного массива (контейнера)
field generate_game(int size, int count)
{
    field matrix(size, std::vector<std::pair<int, bool>>(size, std::make_pair(0, false))); // игровое поле
    std::vector<std::pair<int, int>> mines; // координаты мин на игровом поле
    std::srand(static_cast<unsigned int>(std::time(NULL))); // задаём семя для генератора случайных чисел
 
    for(int i=0; i<count; ++i) { // произвольно располагаем мины
 
        int x = rand()%size;
        int y = rand()%size;
 
        if(matrix[x][y].first == 0) { // свободна ли клетка?
            matrix[x][y].first = -1; // -1 на игровом поле - мина
            mines.push_back(std::make_pair(x, y)); // добавляем координаты мины
        }
        else
            --i; // если клетка занята - повторяем итерацию цикла
    }
    
    // располагаем цифры на игровом поле, определяющие позиции мин
    for(int i=0; i<size; ++i)
        for(int j=0; j<size; ++j) {
            if(matrix[i][j].first ==-1) continue;
            int t = 0;
            for(auto p : mines) {
                if(std::abs(p.first-i)<2 && std::abs(p.second-j)<2)
                    ++t;
            }
            matrix[i][j].first = t;
        }
 
    return matrix; // возвращаем игровое поле
}
 
// Ожидание при завершении программы
void end_game()
{
    std::cout << std::endl;
    std::system("pause");
}
 
// Вывод игрового поля
void print(field matrix, bool status)
{
    using std::cout;
    cout << std::endl;
 
    std::for_each(matrix.begin(), matrix.end(), [=](std::vector<std::pair<int, bool>>& row)
    {
        std::for_each(row.begin(), row.end(), [=](std::pair<int, bool> value)
        {
            if(value.second || status) {
                if(value.first == -1)
                    cout << std::setw(3) << "*";
                else
                    cout << std::setw(3) << value.first;
            }
            else
                cout << std::setw(3) << "#";
        });
        cout << std::endl;
    });
}
 
// Основной цикл игры
void begin_game(field matrix)
{
    using std::cin; using std::cout; // Здесь их часто используем
 
    std::setlocale(LC_ALL, "rus");
    POINT pos;
    bool status = false;
 
    while(true)
    {
        print(matrix);
        cout << "--------" << std::endl;
        cout << "Координаты точки попадания (Пример: 2 3 ): ";
        cin >> pos.x >> pos.y;
        --pos.x; --pos.y;
        
        if(!check_pos(pos, matrix.size())) {
            cout << "Введены некорректные данные. Повторите ввод.";
            continue;
        }
 
        if(matrix[pos.x][pos.y].second) {
            cout << "Вы уже стреляли сюда. Повторите ввод.";
            continue;
        }
 
        if(matrix[pos.x][pos.y].first == -1) {
            cout << "Вы попали в мину!";
            print(matrix, true);
            break;
        }
 
        else matrix[pos.x][pos.y].second = true;
    }
 
    if(!status)
        cout << "Вы проиграли";
    else
        cout << "Вы выиграли";
 
}


У вас проблемы с подключением заголовочных файлов - не пожалел времени на комментирование, зачем подключаем тот или иной файл.

Логика программы:
- создаётся двумерный массив (игровое поле), каждая ячейка которого содержит 2 переменные: int и bool.
Первое значение int - содержит количество мин рядом с этой ячейкой (либо -1, если сама является миной).
Второе значение bool - содержит значение попадания по этой клетке (false - еще не попадали, true - попадали).

- запускается бесконечный цикл, который принимает от игрока координаты ячеек, фильтрует их и выдает результаты.


В общем, вроде всё. Будут вопросы - пишите )
P.s: код в истинном стиле C++ - не пугайтесь. Вроде бы
P.s.s: кстати, была мысль загнать весь функционал в свою область имен, но, передумал, решив, что и так код может показаться сложным для понимания.
Миниатюры
Ошибка с "stdafx.h"  
1
0 / 0 / 0
Регистрация: 01.03.2013
Сообщений: 58
02.02.2014, 00:17  [ТС] 8
да месяц почти,до этого просто на С пытался,но так к успеху не дошел.Спасибо за код и за критику)

Добавлено через 4 часа 1 минуту
Простите,а в какой среде вы работаете?
Ибо мои билдеры выдают ошибки
0
78 / 78 / 9
Регистрация: 26.12.2011
Сообщений: 217
02.02.2014, 09:15 9
ebywku, код скомпилируется на любом компиляторе, поддерживающем стандарт С++11.
Например, этот код писал в 12-й студии. Если используете компилятор mingw или gcc, проверьте, используется ли флаг поддержки стандарта C++11.

Добавлено через 3 минуты
Аа.. у вас же студия. Создайте пустой проект и с ним уже работайте.
Либо в начале всех инклудов добавьте:
C++
1
#include "stdafx.h"
0
02.02.2014, 09:15
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
02.02.2014, 09:15
Помогаю со студенческими работами здесь

Ошибка компиляции - error C1083: Не удается открыть файл включение: stdafx.h: No such file or directory - C++
#include &lt;stdio.h&gt; #include &lt;conio.h&gt; #include &lt;math.h&gt; #include &quot;stdafx.h&quot; #include &lt;stdlib.h&gt;...

VS2012 Express. Ошибка компиляции - error C1083: Не удается открыть файл включение: stdafx.h: No such file or directory
Ребят, помогите, я в вижуал не работала, не понимаю, ЧТО она от меня хочет... #include &quot;pch.h&quot;...

Ошибка E1696 не удается открыть источник файл "stdafx.h"
Ошибка (активно) E1696 не удается открыть источник файл &quot;stdafx.h&quot; ...

Ошибка "E1696 не удается открыть источник файл stdafx.h"
написал вот такую программку для записи в файл #include &lt;iostream&gt; #include &lt;string&gt; ...

Не находит "stdafx.h", в чем ошибка?
//--------------------------------------------------------------------------- //#include...

не находит "stdafx.h"! в чем ошибка?
#include &quot;stdafx.h&quot; #include &lt;iostream&gt; using namespace std; void Expectancy(); long MinK();...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Как написать микросервис на Go/Golang
InfoMaster 14.01.2025
Определение микросервиса, преимущества использования Go/ Golang Микросервис – это архитектурный подход к разработке программного обеспечения, при котором приложение состоит из небольших, независимо. . .
Как написать микросервис с нуля на C#
InfoMaster 14.01.2025
В современном мире разработки программного обеспечения микросервисная архитектура стала стандартом де-факто для создания масштабируемых и гибких приложений. Этот архитектурный подход предполагает. . .
Как создать интернет-магазин на PHP и JavaScript
InfoMaster 14.01.2025
В современном мире электронная коммерция стала неотъемлемой частью бизнеса. Создание собственного интернет-магазина открывает широкие возможности для предпринимателей, позволяя достичь большей. . .
Как написать Тетрис на Ассемблере
InfoMaster 14.01.2025
Тетрис – одна из самых узнаваемых и популярных компьютерных игр, созданная в 1984 году советским программистом Алексеем Пажитновым. За прошедшие десятилетия она завоевала симпатии миллионы людей по. . .
Как создать игру "Танчики" на Unity3d и C#
InfoMaster 14.01.2025
Разработка игр – это увлекательный процесс, сочетающий в себе творчество и технические навыки. В этой статье мы рассмотрим создание классической игры "Танчики" с использованием Unity3D и языка. . .
Организую платный онлайн микро-курс по доработке Android-клиента Telegram
_Ivana 14.01.2025
Официальная версия и распространенные форки не полностью устраивают? Сделай свою кастомную версию клиента! 4 занятия по 2 часа (2 недели пн, ср 19:00-21:00 по Москве). Первое вводное занятие. . .
Как создать приложение для фитнеса для iOS/iPhone на Kotlin
InfoMaster 14.01.2025
Создание собственного фитнес-приложения — это не только захватывающий, но и полезный процесс, ведь оно может стать вашим верным помощником на пути к здоровому и активному образу жизни. В современных. . .
Как создать приложение магазина для iOS/iPhone на Swift
InfoMaster 14.01.2025
Введение в разработку iOS-приложений Разработка приложений для iPhone и других устройств на базе iOS открывает огромные возможности для создания инновационных мобильных решений. В данной статье мы. . .
Это работает. Скорость асинхронной логики велика. Вопрос видимо останется в стабильности. Плата - огонь!
Hrethgir 13.01.2025
По прошлому проекту в Logisim Evolution https:/ / www. cyberforum. ru/ blogs/ 223907/ blog8781. html прилагаю файл архива проекта в Gowin Eda. Восьмибитный счётчик из сумматора+ генератор сигнала. . .
UserScript для подсветки кнопок языков программировани­­­­я в зависимости от текущего раздела
volvo 13.01.2025
В результате работы этого скрипта подсвечиваются нужные кнопки не только в форме быстрого ответа, но и при редактировании сообщения: / / ==UserScript== / / @name CF_DefaultLangSelect / / . . .
Введение в модели и алгоритмы машинного обучения
InfoMaster 12.01.2025
Машинное обучение представляет собой одну из наиболее динамично развивающихся областей искусственного интеллекта, которая фокусируется на разработке алгоритмов и методов, позволяющих компьютерам. . .
Как на Python создать нейросеть для решения задач
InfoMaster 12.01.2025
В контексте стремительного развития современных технологий особое внимание уделяется таким инструментам, как нейросети. Эти структуры, вдохновленные биологическими нейронными сетями, используются для. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru