С Новым годом! Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/29: Рейтинг темы: голосов - 29, средняя оценка - 4.83
анимешник++
 Аватар для Iworb
95 / 62 / 7
Регистрация: 03.11.2009
Сообщений: 427

Как вызвать в основном .cpp файле тот или иной .cpp файл

11.03.2010, 19:20. Показов 5923. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Ну, обычно я работал с одним .cpp но вот появилась надобность в основном файле написать интерфейс простенький и выбор одного из 2х значений. При первом выводит программу, считающую структуры, при втором - график.
Теперь по сути сам вопрос: Как вызвать в основном .cpp файле тот или иной .cpp файл?

т.е. типа
C
1
2
if(a==1) вызываем программу struct.cpp
if(a==2) вызываем graph.cpp
Чесслово никогда с этим ЕЩЕ не сталкивался, поэтому прошу помощи.

Добавлено через 30 секунд
ах да, компилятор wxDev-Cpp с поддержкой проектов
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
11.03.2010, 19:20
Ответы с готовыми решениями:

По запросу пользователя вывести тот или иной абзац
Добрый вечер:) Помогите пожалуйста чуток исправить прогу. Суть ее вот в чем: Дан текстовый файл, заполненный текстом, разбитым на...

В каких случаях нужно применять тот или иной тип?
Привет, ребята! Извините за глупый вопрос, только начинаю осваивать язык С. Вопрос такой: в С имеются различные типы данных (int, signed...

Как в .cpp вызвать .bat файл?
Как в .cpp вызвать .bat файл? Входными данными .bat файла являются .txt , ну и другие. Нужно чтобы .bat файл сгенирировался, а...

11
 Аватар для Aye Aye
373 / 287 / 97
Регистрация: 17.12.2009
Сообщений: 567
11.03.2010, 21:10
system("комада системе");
например system("clr");
или system("dir >> dirlist.txt");
странная идея
0
быдлокодер
 Аватар для kravam
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,705
11.03.2010, 21:20
Блин, непонятно.
Если тебе нужно именно условное подключение файлов, то одноимённая глава есть в K&R, в сети полно.

Если тебе нужна процедура, объявленная в подклоючаемом файле, то просто подключаешь его, как любой другой заголовочный файл и вызываешь процедуру, когда надо.
0
анимешник++
 Аватар для Iworb
95 / 62 / 7
Регистрация: 03.11.2009
Сообщений: 427
11.03.2010, 21:33  [ТС]
Да, наверно я плохо объясняю.... Попытаюсь по-другому. У меня есть проект с файлами main.cpp, struct.cpp и graph.cpp

Как мне в мэйне сделать так, чтобы в main.cpp можно было использовать файлы struct.cpp и graph.cpp.
Например, я нажал 1 (a=1) - выполняется
C
1
2
if(a==1) //вызываем struct.cpp и дальше она работает до конца, закрывается и возвращается в main.cpp
if(a==2) //вызываем graph.cpp - оно построило график, жмем клавишу - и оно вернулось в main.cpp и продолжается выполнение main.cpp
0
Day
 Аватар для Day
1180 / 990 / 83
Регистрация: 29.10.2009
Сообщений: 1,385
11.03.2010, 21:47
Iworb, в файлах graph.cpp, struct.cpp должны быть функции, скажем Gr() и St()
Их же надо описать в начале файла main.cpp, скажем
Code
1
2
3
4
5
6
7
8
Gr();
St();
main()
{
  .....
  if (a==1) Gr();
  if (a==2) St();
}
Потом указаваешь, что в проекте должны быть эти 3 файла и - вперед!
1
быдлокодер
 Аватар для kravam
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,705
11.03.2010, 21:53
Никак.
Вызываешь ты ФУНКЦИЮ, которая объявлена в файле. Но не файл.

Теперь слушай, коль скоро ты не нашёл труд, который я тебе рекомендовал я сделал это за тебя.
Итак, читаем в нём:
"Это делает возможным включение фрагментов кода в программу в зависимости от условий, выполняющихся в момент компиляции"

В момент компиляции. То есть файл будет включен или нет в момент компиляции, но не исполнения, как ты хочешь.
Так что вот.
0
анимешник++
 Аватар для Iworb
95 / 62 / 7
Регистрация: 03.11.2009
Сообщений: 427
11.03.2010, 21:54  [ТС]
Цитата Сообщение от Day Посмотреть сообщение
Потом указаваешь, что в проекте должны быть эти 3 файла и - вперед!
а можно это поподробнее. Мне хотя бы шаблон, чтобы понять это...... Говорю не работал раньше с несколькими файлами....
0
быдлокодер
 Аватар для kravam
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,705
11.03.2010, 22:05
Да без проблем. Создаёшь папку, в ней два файла
Например, main.cpp и fail_1.cpp(это имя обязательно)

Тепрерь наполняешь их таким содержанием

C++
1
2
3
4
5
6
#include <stdio.h>
#include "fail_1.cpp"
int main(){
 funktsia ();
 return 0;
}
C++
1
2
3
4
int funktsia () {
 printf ("vso o'key");
 getchar ();
}
И компилируешь main.cpp
...fail_1.cpp компилировать, понятно, нельзя. В нём нет функции main/ В общем, разбирайся.
1
Day
 Аватар для Day
1180 / 990 / 83
Регистрация: 29.10.2009
Сообщений: 1,385
11.03.2010, 22:13
Iworb, если graph.cpp и struct.cpp по отдельности у тебя работают, то видимо, в кажном из них есть функция main() (или WinMain() или еще как). Так вот, заменяешь в них этот main() на Gr() и St(), а далее как написано.
Как создать проект из трех файлов в твоей vxDev-Cpp - не знаю. В каждом компиляторе это делается вполне просто, но по разному. А у меня все Борландовское.
0
быдлокодер
 Аватар для kravam
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,705
11.03.2010, 22:16
Цитата Сообщение от Day Посмотреть сообщение
Как создать проект из трех файлов в твоей vxDev-Cpp - не знаю.
Мой пример работает в DEV C++. Так что вперёд, брат!
1
анимешник++
 Аватар для Iworb
95 / 62 / 7
Регистрация: 03.11.2009
Сообщений: 427
11.03.2010, 22:19  [ТС]
кажется понял. Подключаю файл как заголовочный, описывая в нем некую функцию, а затем просто вызываю в main.cpp эту функцию.

Буду разбираться))

Добавлено через 57 секунд
Цитата Сообщение от kravam Посмотреть сообщение
fail_1.cpp
Убило =) хотя лучше epic_fail.cpp =))
0
быдлокодер
 Аватар для kravam
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,705
11.03.2010, 22:22
Шаришь...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
11.03.2010, 22:22
Помогаю со студенческими работами здесь

С помощью командной строки >namberstr f1.cpp Определить число строк в файле с именем f1.cpp
С помощью командной строки &gt;namberstr f1.cpp Определить число строк в файле с именем f1.cpp

Как вызвать функцию из cpp файла через h файл
Я не знаю как вызвать функцию из файла расширения .cpp через .h файл без ошибок. Код: // main.cpp #include &lt;iostream&gt; ...

Как передать переменные и массивы из main.cpp в mainwindow.cpp?
Как передать переменные и массивы из main.cpp в mainwindow.cpp? main.cpp #include &quot;mainwindow.h&quot; #include &lt;QApplication&gt; ...

Шаблонная функция: в файле .h или .cpp
Всем доброго времени суток... Начал читать про шаблоны, появились вопросы... 1. Как мне вывести реализацию addFix в cpp файл(мог...

При вводе того или иного пароля открывать тот или иной txt-файл
Добрый вечер. Нужно написать программу, которая будет при вводе того или иного пароля открывать тот или иной .txt файл. Например: ...


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

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути
Programma_Boinc 01.01.2026
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути Сочетание глобально распределённой вычислительной мощности и инновационных. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru