Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
arr
2 / 2 / 0
Регистрация: 27.07.2011
Сообщений: 14
#1

switch... case и #include - C++

05.10.2011, 14:10. Просмотров 585. Ответов 4
Метки нет (Все метки)

как добавить source код в case
как это делается правольно

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include "stdafx.h"
#include "conio.h"
#include "stdio.h"
#include "iostream"
void main()
{
//...
switch(act)
{
default:
#include "file.cpp"
break;
 
 
}
}
file.cpp
C++
1
2
#include "stdafx.h"
printf("success!\n");
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.10.2011, 14:10
Здравствуйте! Я подобрал для вас темы с ответами на вопрос switch... case и #include (C++):

Оптимальная конструкция switch-case-while / while-switch-case - C++
Имеется конструкция типа: switch() { case 1: while() { ... }

Switch case внутри switch case - C++
Привет всем! Нужна помощь. Пишу калькулятор с консольным меню. Так вот, используется цикл while, внутри которого у меня switch...

switch-case, как писать в самом case - C++
Такс дело вот в чём,прога работает всё хорошо,вот только мне не нравится как записваю страны в кейсе,можно ли каким-нибудь образом писать в...

Работа с файлами в C# с исп. библиотек #include <stdio.h> #include <stdlib.h> #include <math.h> #include <io.h> - C++
В типизированном файле записаны названия городов и их численность. Увеличить численность каждого города на 5% (Количество жителей всегда...

switch i case - C++
v 4jom u menja o6ibka? i kak vivisti rezultat? # include &lt;iostream&gt; # include &lt;conio.h&gt; using namespace std; int main () ...

Switch-case - C++
Можно ли так писать? switch (simvol) { case (('(') or ('1') or ('2') or ('3') or ('4') or ('5') or ('6') or ('7') or ('8')...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
mimicria
return (true);
1958 / 1095 / 91
Регистрация: 19.04.2011
Сообщений: 2,345
05.10.2011, 14:20 #2
Цитата Сообщение от arr Посмотреть сообщение
default: #include "file.cpp" break;
Это печально.
Содержимое другого файла так не вставляется в исходные тексты
0
arr
2 / 2 / 0
Регистрация: 27.07.2011
Сообщений: 14
05.10.2011, 14:29  [ТС] #3
Цитата Сообщение от mimicria Посмотреть сообщение
Это печально.
Содержимое другого файла так не вставляется в исходные тексты
плохо. просто подумал что в пхп так можно и может на ц тоже должно так быть.. прийдется все в процедурах делать
0
-=ЮрА=-
Заблокирован
Автор FAQ
05.10.2011, 14:30 #4
arr, это директива компилятору о подключении файла
Цитата Сообщение от arr Посмотреть сообщение
#include
, которая работает на этапе компиляции!!!В программе подключать срр код у вас не выйдет, экзешник это уже скомпилированный список директив процессору системы и с привычным срр-ником он мягко сказать ничего общего уже не имеет...
0
Nameless One
Эксперт С++
5773 / 3424 / 255
Регистрация: 08.02.2010
Сообщений: 7,447
05.10.2011, 17:07 #5
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
экзешник это уже скомпилированный список директив процессору системы
где там говориться об экзешнике? Ясно же написано:

Цитата Сообщение от arr Посмотреть сообщение
C++
1
#include "file.cpp"
расширение подключаемого файла (.cpp) говорит нам, что подключаемый файл - это обычный текстовый файл, содержащий исходные коды на языке C++. Но никак не исполняемый файл.


Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
В программе подключать срр код у вас не выйдет
выйдет

Цитата Сообщение от arr Посмотреть сообщение
просто подумал что в пхп так можно и может на ц тоже должно так быть..
в принципе, можно, но с некоторыми нюансами. Во-первых, в пыхе подключение происходит во время выполнения скрипта. В C/C++ же это происходит на этапе препроцессорной обработки, непосредственно до самой трансляции исходника. Следовательно, эта операция работает даже эффективнее аналогичной в пыхе.
Во-вторых, т.к. препроцессорная обработка происходит на этапе компиляции, то на самом деле будут подключены все файлы, которые указаны в директиве #include (см. пример ниже).
В-третьих, так делать не принято (самая близкая аналогия к тому, что ты попытался сделать, это x-macros'ы). Но тем не менее, никто тебе не может помешать это сделать. Пример:
main.c
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <stdio.h>
#include <stdlib.h>
 
int main(int argc, char* argv[])
{
    switch(argc)
    {
    case 1:
    #include "success.c"
    break;
 
    default:
    #include "failure.c"
    }
 
    exit(0);
}
success.c
C
1
2
3
#include <stdio.h>
 
puts("Success!");
failure.c
C
1
2
3
#include <stdio.h>
 
puts("Failure!");
После препроцессорной обработки файл содержимое main.c (условно, т.к. это будет уже другой файл) будет иметь похожий вид:
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
/* результат препроцессорной обработки stdio.h */
/* результат препроцессорной обработки stdlib.h */
 
int main(int argc, char* argv[])
{
    switch(argc)
    {
    case 1:
    puts("Success!");
    break;
 
    default:
    puts("Failure!");
    }
 
    exit(0);
}
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.10.2011, 17:07
Привет! Вот еще темы с ответами:

switch и case - C++
Пишет, что switch не содержит case, но судя по коду - это не так... как же заставить его видеть этот case? #include &lt;iostream&gt; ...

Switch - Case - C++
Составить программу, определяющую результат гадания на ромашке («любит–не любит– плюнет–поцелует–к сердцу прижмёт–к чёрту пошлёт»), взяв...

Switch - case - C++
Обязательно с использованием классов Есть задача. Дан массив вещественных чисел. а) Ко всем отрицательным элементам прибавить элемент...

switch case - C++
как в блок-схеме изображается switch case?


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
05.10.2011, 17:07
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru