Alle meine Entchen



  • Hallo,
    ich hoffe ich bin hier im richtigen Forum.
    Ich habe einfach aus langer Weile mal "Alle meine Entchen" komponiert 😃 ...
    Nun habe ich halt sehr oft Beep() benutzt und wollte fragen, wie ich meinen Code optimieren könnte und ob Sleep() überhaupt OK ist, da ich sehr häufig höre, dass man die Funktion nicht mehr benutzen sollte.

    #include <iostream>
    #include <windows.h>
    
    int main()
    {
        std::cout<<"Alle Meine Entchen folgt in 3 Sekunden";
        Sleep(1000);
        std::cout<<".";
        Sleep(1000);
        std::cout<<".";
        Sleep(1000);
        std::cout<<"."<<std::endl;
        Sleep(1000);
    
        Beep(262, 500);
        Beep(294, 500);
        Beep(330, 500);
        Beep(349, 500);
        Beep(392, 1000);
        Beep(392, 1000);
        Beep(440, 500);
        Beep(440, 500);
        Beep(440, 500);
        Beep(440, 500);
        Beep(392, 1500);
        Beep(440, 500);
        Beep(440, 500);
        Beep(440, 500);
        Beep(440, 500);
        Beep(392, 1500);
        Beep(349, 500);
        Beep(349, 500);
        Beep(349, 500);
        Beep(349, 500);
        Beep(330, 1000);
        Beep(330, 1000);
        Beep(294, 500);
        Beep(294, 500);
        Beep(294, 500);
        Beep(294, 500);
        Beep(262, 1500);
        return 0;
    }
    }
    

    Gruß Speedy_92



  • Hier eine kleine überarbeitete "kürzere" Version:

    #include <iostream>
    #include <windows.h>
    
    void Play(const int *music, const int *duration, const int index);
    
    int main()
    {
        std::cout<<"Alle Meine Entchen folgt in 3 Sekunden";
        Sleep(1000);
        std::cout<<".";
        Sleep(1000);
        std::cout<<".";
        Sleep(1000);
        std::cout<<"."<<std::endl;
        Sleep(1000);
    
        const int music[] = {262, 294, 330, 349, 392, 392, 440, 440, 440, 440, 392,
                             440, 440, 440, 440, 392, 349, 349, 349, 349, 330,
                             330, 294, 294, 294, 294, 262};
    
        const int duration[] = {500, 500, 500, 500, 1000, 1000, 500, 500, 500,
                                500, 1500, 500, 500, 500, 500, 1500, 500, 500,
                                500, 500, 1000, 1000, 500, 500, 500, 500, 1500};
    
        const int index = 27;
    
        Play(&music[0], &duration[0], index);
        return 0;
        }
    
    void Play(const int *music, const int *duration, const int index)
    {
        for(int i = 0; i < index; i++, music++, duration++)
        {
            Beep(*music, *duration);
            }
        }
    

Anmelden zum Antworten