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

Функция, подключенная в VS не выполняется - C++

Восстановить пароль Регистрация
 
Pseudodog
0 / 0 / 0
Регистрация: 18.11.2014
Сообщений: 18
18.11.2014, 12:23     Функция, подключенная в VS не выполняется #1
Добрый день. Помогите пожалуйста разобраться.

VS 2010 Win8

Решил сделать программу, начал с меню и захотел вывести все функции и их исполнение в разные файлы. Хочу побаловаться со switch, do while if и т.д. Но возникла проблема. Тело функции не хочет выполнять работу в консоли, т.е. не делает то, что должна (не отображает текст).

В VS 2010 делаю консольный проект, добавляю файлы.

//main.cpp

#include <iostream>
#include <conio.h>
#include <locale>
#include <string>
#include <stdio.h>
#include <windows.h>
#include "appFunctions.h"

int main ()

{

extern void menu();

getch ();
return 0;
}


// appFunctions.h
void menu();
void menu1();
void menu2();
void menu3();
void menu4();
void menu5();



//menu.cpp
#include <iostream>
#include <conio.h>
#include <locale>
#include <string>
#include <stdio.h>
#include <windows.h>

void menu()
{
std::cout << "1 sss\n";
std::cout << "2 sss\n";
std::cout << "3 sss\n";
std::cout << "4 sss\n";
std::cout << "5 sss\n";
int choice;
std::cin >> choice;
switch(choice)
{
case 1:
extern void menu1();
break;
case 2:
extern void menu2();
break;
case 3:
extern void menu3();
break;
case 4:
extern void menu4();
case 5:
extern void menu5();
break;
}
}


// остальные функции отдельным файлом.cpp

#include <iostream>
#include <conio.h>
#include <locale>
#include <string>
#include <stdio.h>
#include <windows.h>

void menu1()
{
std::cout << "some text\n";
}

void menu2()
{
std::cout << "some text\n";
}

void menu3()
{
std::cout << "some text\n";
}

void menu4()
{
std::cout << "some text\n";
}

void menu5()
{
std::cout << "some text\n";
}

Ошибки никакой не выдаёт и компилируется прекрасно, но текст из функций отказывается отображаться в консоли. Ввести значение даёт, но дальше закрывает программу. Причём если прописать эти функции в файле с main() и осуществить их вызов, то всё работает прекрасно. Почему так?
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.11.2014, 12:23     Функция, подключенная в VS не выполняется
Посмотрите здесь:

что за функция такая strstr? или это не функция? C++
какую библиотеку надо подключать чтоб работала функция _getch() и функция cin.get() C++
Не выполняется функция удаления C++
C++ Код не выполняется в одном месте, но выполняется в другом
C++ Создать производный класс, в котором реализована функция умножения вектора на число и функция сложения двух векторов
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
mss307
118 / 118 / 25
Регистрация: 14.12.2013
Сообщений: 352
18.11.2014, 12:26     Функция, подключенная в VS не выполняется #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от Pseudodog Посмотреть сообщение
extern void menu();
Потому что вызова этой функции и нет. это не вызов функции, а объявление. надо эту строку вынести выше main(), а в main() сделать вызов
C++
1
menu();
Pseudodog
0 / 0 / 0
Регистрация: 18.11.2014
Сообщений: 18
18.11.2014, 12:33  [ТС]     Функция, подключенная в VS не выполняется #3
mss307, спасибо тебе добрый человек! В фале с функцией menu тоже поправил и всё теперь корректно. Понимаю, нубский вопрос, но удивило, что не выдало ошибку. Дело закрыто!
mss307
118 / 118 / 25
Регистрация: 14.12.2013
Сообщений: 352
18.11.2014, 12:40     Функция, подключенная в VS не выполняется #4
Pseudodog, не за что)
Yandex
Объявления
18.11.2014, 12:40     Функция, подключенная в VS не выполняется
Ответ Создать тему
Опции темы

Текущее время: 21:27. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru