Переход goto от одной функций к другой - C (СИ)
Формулировка задачи:
Всем добрый день! Почему в данном коде не получается перейти от одной функций к другой методом goto? Компилятор пишет что функции bar, fellodd и Elochka не определены.Даже если удалось запустить программу, она завершается без выполнения данной функций. Где то даже читал что это невозможно сделать.
#include <stdio.h>
#include <conio.h>
#include <windows.h>
#define ns1 printf("\n");
#define ns2 printf("\n\n");
using namespace std;
void bar( );
void feelgood( );
void elochka( );
void improv( );
float
C = 523,
Cs = 554,
D = 587,
Ds = 622,
E = 659,
F = 698,
Fs = 740,
G = 392.00,
Gs = 415.00,
A = 440.00,
As = 466.00,
B = 493.88;
int main() {
//-----------------------------
int k;
SetConsoleOutputCP ( 1251 );
SetConsoleCP ( 1251 );
printf ("\t\t ++JUKEBOX++");
ns1
printf ("Вас приветствует Jukebox- музыкальный автомат, где вы можете поставить свою любимую мелодию");
ns1
printf ("или предоставить мне сочинить ее самому!!");
ns2
printf ("Нажмите клавишу 1 чтобы перейти к списку мелодий или клавишу 2 чтобы перейти к импровизаций");
k = getch();
if (k == '1' ) {
printf ("Нажмите для воспроизведения:\n 1- Barbara Streisand \n 2- Gorillaz- Feel Good inc \n 3- В лесу родилась Елочка");
}
k=getch();
switch (k) {
case 1 : goto bar();
case 2 : goto feelgood();
case 3 : goto elochka();
case 4 : improv();
default : return 0;
} // switch
return 0;
}// main
void improv()
{
Beep (C, 1000);
}
void elochka()
{
Beep(247, 500);
Beep(417, 500);
Beep(417, 500);
Beep(370, 500);
Beep(417, 500);
Beep(329, 500);
Beep(247, 500);
Beep(247, 500);
Beep(247, 500);
Beep(417, 500);
Beep(417, 500);
Beep(370, 500);
Beep(417, 500);
Beep(497, 500);
Sleep(500);
Beep(497, 500);
Beep(277, 500);
Beep(277, 500);
Beep(440, 500);
Beep(440, 500);
Beep(417, 500);
Beep(370, 500);
Beep(329, 500);
Beep(247, 500);
Beep(417, 500);
Beep(417, 500);
Beep(370, 500);
Beep(417, 500);
Beep(329, 500);
system("pause >> void");
}
void bar( )
{
Beep(B, 300);
Beep(D, 300);
Beep(B, 300);
Beep(D, 600);
Beep(B, 300);
Beep(A, 300);
Beep(B, 600);
Beep(A, 300);
Beep(G, 300);
Beep(A, 600);
Beep(G, 600);
Beep(330, 600);
Sleep(300);
Beep(B, 300);
Beep(D, 300);
Beep(B, 300);
Beep(D, 600);
Beep(B, 300);
Beep(A, 300);
Beep(B, 600);
Beep(A, 300);
Beep(G, 300);
Beep(A, 800);
Beep(G, 600);
Beep(294, 600);
}
void feelgood( )
{
Beep(277, 300);
Sleep(250);
Beep(277, 250);
Beep(350, 300);
Beep(370, 300);
Beep(B, 500);
Beep(As, 700);
Sleep(500);
Beep(415, 500);
Sleep(250);
Beep(415, 250);
Beep(466, 250);
Beep(494, 400);
Beep(370, 500);
Sleep(150);
Beep(270, 700);
}Решение задачи: «Переход goto от одной функций к другой»
textual
Листинг программы
using namespace std;