Переход 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;

Оцени полезность:

8   голосов , оценка 4.25 из 5
Похожие ответы