Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
0 / 0 / 0
Регистрация: 21.09.2019
Сообщений: 10

Не могу разобраться с файлом "stdafx"

17.01.2020, 22:11. Показов 1467. Ответов 26

Студворк — интернет-сервис помощи студентам
Проблема в том, что в коде с++ я полный новичок, мягко говоря))
Препод по ООП дал часть кода и сказал чтоб мы его додумали.
Помогите разобраться с файлом "stdafx" что это за файл, для чего он нужен и что он должен в себе содержать?
За ранее спасибо.

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
#include"stdafx.h"
#include<iostream>
#include<string>
#include<fstream>
using namespace std;
 
int _tmain(int argc, _TCHAR* argv[])
{
    player *player;
    CD *cd1, *cd2;
    DVD *dvd;
    cd1 = new AudioCD();
    //cd1 -> add();
    //cout <<cd1->a <<cd1->t.b <<((AudioCD*)cd1)->e;
    //system ("pause");
    
    cd1 -> LaodFromFile(" D:\oop_lab1.txt ");
    cd2 = new AudioCD (cd1);
    //compare AudioCD by audio tracks count
    cout << Max <AudioCD> (cd1, cd2) << endl;
    cd2 -> remove (1);
    cout << Max <AudioCD> (cd1, cd2) << endl;
    cd2 -> push (new AudioTrack (new AudioFormat("MP3")));
    cout << Max <AudioCD> (cd1, cd2) << endl;
    cd2 -> push (new AudioTrack (new AudioFormat("WAV")));
    cout << Max <AudioCD> (cd1, cd2) << endl;
    
    player = new Player (cd1);
    //show cd info
    player -> read();
    player -> display();
    player -> play();
    while (player -> cd -> songs [player -> getTrackIndex]. getTrackPosition() < 10) player -> display();
    player -> next();
    player -> display();
    player -> setTrackIndex(10);
    player -> play();
    while (player -> cd -> songs [player -> getTrackIndex]. getTrackPosition() < 10) player -> display();
    player -> stop();
    player -> load(cd2);
    player -> play(2);
    player -> setVolume(50);
    
    dvd = new DVD (cd1, cd2);
    player -> load (dvd);
    player -> play();
    return 0;
}
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
17.01.2020, 22:11
Ответы с готовыми решениями:

не могу разобраться с ini файлом
Приветствую. Задача: Есть ini файл с параметрами one = 1 five = 5 animal = BIRD path = &quot;/usr/local/bin&quot; URL...

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

Не могу разобраться с загрузкой данных из файлов,и чтоб в дальнейшем с ними мжно было работать как с массивом,не могу разобраться(
void __fastcall TPoisk::Button3Click(TObject *Sender) { Memo2-&gt;Lines-&gt;Clear(); x=StrToInt(Edit3-&gt;Text); for (i=0;i&lt;100;i++) { ...

26
6772 / 4565 / 1844
Регистрация: 07.05.2019
Сообщений: 13,726
17.01.2020, 22:18
Цитата Сообщение от Letta4ka Посмотреть сообщение
Помогите разобраться с файлом "stdafx" что это за файл, для чего он нужен и что он должен в себе содержать?
Подозреваю, ты напихал в него свои заголовки. Перенеси их оттуда в main.
Ни и, проблема здесь явно не в stdafx.h.

Добавлено через 19 секунд
Цитата Сообщение от Letta4ka Посмотреть сообщение
Помогите разобраться с файлом "stdafx" что это за файл, для чего он нужен и что он должен в себе содержать?
Подозреваю, ты напихал в него свои заголовки. Перенеси их оттуда в main.
Ни и, проблема здесь явно не в stdafx.h.
0
0 / 0 / 0
Регистрация: 21.09.2019
Сообщений: 10
17.01.2020, 22:25  [ТС]
верно заголовки впихнула я))
в чём же тогда проблем?
можно поподробнее?
0
6772 / 4565 / 1844
Регистрация: 07.05.2019
Сообщений: 13,726
17.01.2020, 22:31
Цитата Сообщение от Letta4ka Посмотреть сообщение
в чём же тогда проблем?
можно поподробнее?
Ну, наверное, в корявом коде.
Я ж не знаю что ты пыталась запрограммировать, и не вижу всего кода.
0
0 / 0 / 0
Регистрация: 21.09.2019
Сообщений: 10
17.01.2020, 22:32  [ТС]
выдаёт ошибку:
0
0 / 0 / 0
Регистрация: 21.09.2019
Сообщений: 10
17.01.2020, 22:32  [ТС]
выдаёт ошибку:
0
6772 / 4565 / 1844
Регистрация: 07.05.2019
Сообщений: 13,726
17.01.2020, 22:39
Не вижу. Скопируй текст
0
0 / 0 / 0
Регистрация: 21.09.2019
Сообщений: 10
17.01.2020, 22:54  [ТС]
ошибк:
Миниатюры
Не могу разобраться с файлом "stdafx"  
0
6772 / 4565 / 1844
Регистрация: 07.05.2019
Сообщений: 13,726
17.01.2020, 22:58
Цитата Сообщение от Letta4ka Посмотреть сообщение
ошибк:
Убрала что-ли #include"stdafx.h"? Верни обратно.
И покажи, что у тебя в этом stdafx.h.
Тебе сказали именно об нём додумать?

Добавлено через 21 секунду
Цитата Сообщение от Letta4ka Посмотреть сообщение
ошибк:
Убрала что-ли #include"stdafx.h"? Верни обратно.
И покажи, что у тебя в этом stdafx.h.
Тебе сказали именно об нём додумать?
0
0 / 0 / 0
Регистрация: 21.09.2019
Сообщений: 10
17.01.2020, 23:07  [ТС]
не убирала я ничего, не могу понять что должен содержать в себе stdafx.h
у меня он вообще без инфы

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
#include"stdafx.h"
#include<iostream>
#include<string>
#include<fstream>
using namespace std;
 
int _tmain(int argc, _TCHAR* argv[])
{
    player *player;
    CD *cd1, *cd2;
    DVD *dvd;
    cd1 = new AudioCD();
    //cd1 -> add();
    //cout <<cd1->a <<cd1->t.b <<((AudioCD*)cd1)->e;
    //system ("pause");
    
    cd1 -> LaodFromFile(" D:\oop_lab1.txt ");
    cd2 = new AudioCD (cd1);
    //compare AudioCD by audio tracks count
    cout << Max <AudioCD> (cd1, cd2) << endl;
    cd2 -> remove (1);
    cout << Max <AudioCD> (cd1, cd2) << endl;
    cd2 -> push (new AudioTrack (new AudioFormat("MP3")));
    cout << Max <AudioCD> (cd1, cd2) << endl;
    cd2 -> push (new AudioTrack (new AudioFormat("WAV")));
    cout << Max <AudioCD> (cd1, cd2) << endl;
    
    player = new Player (cd1);
    //show cd info
    player -> read();
    player -> display();
    player -> play();
    while (player -> cd -> songs [player -> getTrackIndex]. getTrackPosition() < 10) player -> display();
    player -> next();
    player -> display();
    player -> setTrackIndex(10);
    player -> play();
    while (player -> cd -> songs [player -> getTrackIndex]. getTrackPosition() < 10) player -> display();
    player -> stop();
    player -> load(cd2);
    player -> play(2);
    player -> setVolume(50);
    
    dvd = new DVD (cd1, cd2);
    player -> load (dvd);
    player -> play();
    return 0;
}
0
6772 / 4565 / 1844
Регистрация: 07.05.2019
Сообщений: 13,726
17.01.2020, 23:11
Цитата Сообщение от Letta4ka Посмотреть сообщение
не убирала я ничего, не могу понять что должен содержать в себе stdafx.h
у меня он вообще без инфы
Пустой, что-ли?
0
0 / 0 / 0
Регистрация: 21.09.2019
Сообщений: 10
17.01.2020, 23:21  [ТС]
верно, что он должен в себе содержать?
0
 Аватар для Recrut_rf
388 / 333 / 65
Регистрация: 14.10.2014
Сообщений: 1,438
17.01.2020, 23:22
Letta4ka, stdafx.h - это предварительно откомпилированный заголовок. По идее в этот файл нужно складывать
инклюды с файлами (библитеками), чтоб они не компилировались каждый раз заново при компиляции всей программы. Эту опцию можно отключить в настойках студии

Жмёшь сверху в меню Проект - Свойсвтва - далее идешь в раздел С/С++ - предварительно откомпилированные заголовки
Ну а дальше выбираешь то, что тебе нужно. К примеру - если выберешь - не использовать, то файл stdafx.h можно смело отправлять в "топку".
1
6772 / 4565 / 1844
Регистрация: 07.05.2019
Сообщений: 13,726
17.01.2020, 23:27
Цитата Сообщение от Letta4ka Посмотреть сообщение
верно, что он должен в себе содержать?
Ну сделай там #include<iostream>
А где у тебя объявлены классы AudioCD и т.д.?

Добавлено через 22 секунды
Цитата Сообщение от Letta4ka Посмотреть сообщение
верно, что он должен в себе содержать?
Ну сделай там #include<iostream>
А где у тебя объявлены классы AudioCD и т.д.?
0
 Аватар для palva
4278 / 2970 / 693
Регистрация: 08.06.2007
Сообщений: 9,930
Записей в блоге: 5
17.01.2020, 23:28
Этот файл генерится на Visual Studio когда вы создаете консольное приложение и предназначен для экономной сборки больших проектов. Если вам не поручили именно его исследовать, то не используйте этот режим (incremental linking). Убрать этот режим из проекта не так легко. Проще создать пустой проект, а потом добавить в него ваш файл в качестве исходника. Строку с stdafx убрать. В проекте должен быть только один ваш файл.
0
0 / 0 / 0
Регистрация: 21.09.2019
Сообщений: 10
17.01.2020, 23:30  [ТС]
это повлияет как-либо негативно на код?
0
 Аватар для palva
4278 / 2970 / 693
Регистрация: 08.06.2007
Сообщений: 9,930
Записей в блоге: 5
17.01.2020, 23:32
О, господи ! А с этим тоже вам поручили разбираться. Это было сгенерировано или это было в вашей программе?
Цитата Сообщение от Letta4ka Посмотреть сообщение
int _tmain(int argc, _TCHAR* argv[])
0
 Аватар для Recrut_rf
388 / 333 / 65
Регистрация: 14.10.2014
Сообщений: 1,438
17.01.2020, 23:37
Цитата Сообщение от palva Посмотреть сообщение
Убрать этот режим из проекта не так легко
А в свойствах проекта?

Добавлено через 4 минуты
Цитата Сообщение от palva Посмотреть сообщение
О, господи ! А с этим тоже вам поручили разбираться
Скорее всего это код из 10 студии

Не по теме:

или у меня интернет глючит или форум глючит - тормозит всё нещадно

0
 Аватар для palva
4278 / 2970 / 693
Регистрация: 08.06.2007
Сообщений: 9,930
Записей в блоге: 5
17.01.2020, 23:40
Letta4ka, Если ваша программа должна работать в юникоде, то надо включать #include <tchar.h> а в проекте в дефайнах прописывать _UNICODE Вам объясняли как это делать?
Цитата Сообщение от Recrut_rf Посмотреть сообщение
А в свойствах проекта?
Довольно трудно объяснить в каком свойстве проекта что на что поменять, если мы даже не знаем версии вижуал студии. У меня студия вообще не стоит, а наизусть я не помню.
0
 Аватар для Recrut_rf
388 / 333 / 65
Регистрация: 14.10.2014
Сообщений: 1,438
17.01.2020, 23:41
Цитата Сообщение от Letta4ka Посмотреть сообщение
это повлияет как-либо негативно на код?
Нина что это не повлияет, кроме как на время компиляции. При условии, что у вас там включены какие-нибудь хедеры.
Выключите вы его в свойствах проекта и можете смело удалять этот файл из вашего проекта.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
17.01.2020, 23:41
Помогаю со студенческими работами здесь

Задали работу, не могу разобраться. Используется делфи 10, не могу разобраться, как это сделать
В одномерном массиве, состоящем из n вещественных элементов, вычислить: минимальный элемент массива и сумму элементов массива,...

Разобраться с make файлом
есть make файл следующего содержания CXXFLAGS = $(shell root-config --cflags) LDFLAGS = $(shell root-config --glibs) .cpp...

помогите разобраться с batch файлом
привет попогите содать файлик Name the batch file SSD2.BAT. Include your name as a remark in SSD2.BAT. Include the creation date...

нет возможности разобраться с dll файлом
В dll файле стоит ограничение во времени и по hwid , как можно его разобрать и найти где убрать эти ограничения ? Добавлено через 4...

Помогите разобраться с файлом и получить стримы
Это хранилище, Как разобрать этот файл, как получить стримы?


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек SDL3 и Box2D из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия SDL 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual. . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru