Wie Musik Datei in C Programm einbinden?

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Wie Musik Datei in C Programm einbinden?

    Hi Leute, wir erstellen im Rahmen unseres Studiums als Programmieranfänger ein kleines Programm in 2er gruppen. Mein Partner und ich haben uns für Wer wird Millionär entschieden und müssen nur noch ein paar Kleinigkeiten
    am Programm ändern/hinzufügen. Da morgen bereits Abgabe ist, hoffe ich noch schnell jemanden zu finden, der mir sagt, wie ich bei der gewonnen Millionen die Wer wird Millionär Melodie abspielen kann? Das Audioformat ist egal, die Datei liegt als MP3 und Wave vor und ich kann sie in jedes Format umwandeln (Das Porgramm sollte jedoch maximal 2MB sein)... Hier ist unser Code:



    #include "stdafx.h"
    #include "stdio.h"
    #include "conio.h"
    #include "time.h"
    #include "iostream"

    int fjoker1(int z,char *antwort,int *rantwort,int antwortuser,int jb1);// verschiedene Joker prototypen
    int fjoker2(int z,int i,int *rantwort,int antwortuser,int jb2);
    int fjoker3(int z,int i,int *rantwort,int antwortuser,int jb3);


    int main()
    {
    int i=0;



    char frage[61][125] ={// Array mit Fragen
    {""},
    {"Gute Miene zum boesen..."},
    {"Eine Hand..."},
    {"Was sich neckt das..."},
    ....
    };
    char antwort[61][170] ={//Array mit Antworten
    {""},
    {"1: Wolf\n2: Spass\n3: Streich\n4: Spiel"},
    {"1: ergaenzt die andere\n2: waescht die andere\n3: schuettelt die andere\n4: greift die andere"},
    {"1: liebt sich\n2: streitet sich\n3: hasst sich\n4: kennt sich"},
    ....

    };
    int rantwort[61][1] ={//Array mit den richtigen Antworten
    {},
    {4},
    {2},
    {1},
    ...


    };

    char vName[15];//Vorname
    char nName[15];//Nachname
    printf("Bitte geben sie jetzt ihren Vor- und Nachnamen ein\n\n");
    scanf("%s%s",&vName,&nName);//eingabe des Namens
    //Kurze Spielanleitung
    printf("\n\nHallo %s %s...\nIm nachfolgendem Spielverlauf werden dir insgesamt 15 Fragen gestellt.\nZu allen Fragen bekommst du 4 Antwortmoeglichkeiten,\nvon denen jedoch nur eine richtig ist.\nZusaetzlich hast du die Moeglichkeit auf 3 verschiedene Joker zurueckzugreifen. Um Fragen zu beantworten, genuegt es die Nummer der Antwort einzugeben.\nBist du dir nicht sicher, so waehle anstelle der 4 Antwortmoeglichkeiten die 5,\ndann bekommst du eine Auswahl an verschiedenen Jokern\n\nZum Starten eine beliebige Taste druecken.", vName, nName);
    _getch();
    int joker1=1;
    int joker2=1;
    int joker3=1;
    int geld;
    int gewinn=0;
    int jb1=0;
    int jb2=0;
    int jb3=0;

    for(i=1;i<16;i++){//Schleife die 15 mal durchlaufen wird um alle Fragen zu stellen
    int antwortuser;

    srand ( time(NULL) );
    int z= rand()%3+1;//Zufallszahl zur Auswahl der Fragen
    switch(i){
    case 1:
    z=z;//z angabe zur Auswahl der Frage und Antworten
    geld=50;// Zu gewinnende Geld
    break;

    case 2:
    z=z+4;
    geld=100;
    break;

    case 3:
    z=z+8;
    geld=200;
    break;

    case 4:
    z=z+12;
    geld=300;
    break;

    case 5:
    z=z+16;
    geld=500;
    break;

    case 6:
    z=z+20;
    geld=1000;
    gewinn=500;//erste Gewinnstufe erreicht
    break;

    case 7:
    z=z+24;
    geld=2000;
    break;

    case 8:
    z=z+28;
    geld=4000;
    break;

    case 9:
    z=z+32;
    geld=8000;
    break;

    case 10:
    z=z+36;
    geld=16000;

    break;

    case 11:
    z=z+40;
    geld=32000;
    gewinn=16000;
    break;

    case 12:
    z=z+44;
    geld=64000;
    break;

    case 13:
    z=z+48;
    geld=125000;
    break;

    case 14:
    z=z+52;
    geld=500000;
    break;

    case 15:
    z=z+56;
    geld=1000000;
    gewinn=100000;
    break;

    };
    int rantwort1=(int)rantwort[z][0];
    printf("\nFrage Nummer: %i (%i Euro)\n",i,geld);
    printf("%s ?\n\n",frage[z]);//Frage
    printf("%s\n",antwort[z]);//Antworten
    printf("\nBitte Ihre Antwortmoeglichkeit eingeben und mit Enter bestaetigen:");
    scanf("%i",&antwortuser);//Eingabe der Antwort

    int joker;
    if (antwortuser==5)//fuer den Fall das ein Joker aufgerufen wird
    {printf("Bitte waehlen sie nun einen Joker aus:\n 1.50:50 Joker 2. Publikumsjoker 3. Telefonjoker\n");
    scanf("%i",&joker);//eingabe der Jokerauswahl



    switch(joker){
    case 1://fall 1
    antwortuser=fjoker1(z,*antwort,*rantwort,antwortuser,jb1);//aufruf der Funktion fjoker1 mit Rueckgabewert der Antwort
    jb1=1;
    break;


    case 2:
    antwortuser=fjoker2(z,i,*rantwort,antwortuser,jb2);
    jb2=1;
    break;

    case 3:
    antwortuser=fjoker3(z,i,*rantwort,antwortuser,jb3);
    jb3=1;
    break;

    }
    }
    if(antwortuser==rantwort1)//Abfrage der Richtigen Antwort
    {
    printf(" das war richtig\n");
    if(i==15){//Alle Fragen richtig beantworter?

    FILE * list_of_fame ;
    list_of_fame = fopen ("list_of_fame.txt", "a+") ;//datei oeffnen

    fprintf (list_of_fame, "%s %s\n", vName, nName);// Name in die List of fame eintragen

    fclose (list_of_fame) ;//datei Schliessen


    }
    }




    else {//wenn die Frage falsch beantwortet wurde
    printf("leider Falsch\nSie haben %i Euro gewonnen\n", gewinn);//ausgabe der gewonnenen Summe
    break;
    }
    }


    _getch();
    return 0;
    }

    int fjoker1(int z,char *antwort,int *rantwort,int antwortuser,int jb1){//funktion des 50:50 Joker
    if(jb1==0){//prueft ob der Joker bereits verwendet wurde
    srand ( time(NULL) );
    int jz= rand()%3+1;//zufallszahl fuer eine Antwortmoeglichkeit die stehen bleibt
    if(jz==rantwort[z]&&jz!=1){//zufallszahl soll nicht 0 werden
    jz=jz-1;
    }
    else if(jz==rantwort[z]&&jz!=4){//zufallszahl soll nicht 5 werden
    jz=jz-1;
    }
    if(jz>=2){//diese beiden Abfragen dienen nur dazu das die richtige Antwort nicht immer als erstes steht.
    printf("Antwortmoeglichkeiten: %i oder %i\n",jz,rantwort[z]);
    }
    if(jz<2){
    printf("Antwortmoeglichkeiten: %i oder %i\n",rantwort[z],jz);
    }
    }
    else{
    printf("dieser Joker wurde schon verwendet\nBitte geben sie nun ihre Antwortmoeglichkeit ein:");

    }
    scanf("%i",&antwortuser);
    return antwortuser;

    }
    int fjoker2(int z,int i,int *rantwort,int antwortuser,int jb2){//funktion des publikumsjokers
    if(jb2==0){//prueft ob der Joker bereits verwendet wurde
    int zahl1;
    int zahl2;
    int zahl3;
    int zahl4;
    if(i<=5){//erstes "Jokerlevel"

    zahl1=100-(i*10);//rechnung zur ausgabe der Prozente
    zahl2=(100-zahl1)/2;
    zahl3=zahl2-3;
    zahl4=3;
    switch(rantwort[z]){//anweisung das nicht immer das richtige zuerst angezeigt wird
    case 1:
    printf("1:%i 2:%i 3:%i 4:%i\n",zahl1,zahl3,zahl2,zahl4);
    break;
    case 2:

    printf("1:%i 2:%i 3:%i 4:%i\n",zahl3,zahl1,zahl4,zahl2);
    break;
    case 3:
    printf("1:%i 2:%i 3:%i 4:%i\n",zahl3,zahl4,zahl1,zahl2);
    break;
    case 4:
    printf("1:%i 2:%i 3:%i 4:%i\n",zahl4,zahl2,zahl3,zahl1);
    break;
    };
    }

    if(i>5&&i<=10){//Zweites Jokerlevel

    zahl1=100-(i*5);//rechnung zur ausgabe der prozente...
    zahl2=100-zahl1-i;
    zahl3=(100-(zahl1+zahl2))/2;
    zahl4=zahl3;

    switch(rantwort[z]){
    case 1:
    printf("1:%i 2:%i 3:%i 4:%i\n",zahl1,zahl3,zahl2,zahl4);
    break;
    case 2:

    printf("1:%i 2:%i 3:%i 4:%i\n",zahl3,zahl1,zahl4,zahl2);
    break;
    case 3:
    printf("1:%i 2:%i 3:%i 4:%i\n",zahl3,zahl4,zahl1,zahl2);
    break;
    case 4:
    printf("1:%i 2:%i 3:%i 4:%i\n",zahl4,zahl2,zahl3,zahl1);
    break;
    };

    }
    if(i>10){//drittes Jokerlevel

    zahl1=100-(i*4);
    zahl2=(100-zahl1)/2-4;
    zahl3=(96-(zahl2+zahl1))/2+3;
    zahl4=(96-(zahl2+zahl1))/2+1;
    switch(rantwort[z]){
    case 1:
    printf("1:%i 2:%i 3:%i 4:%i\n",zahl1,zahl3,zahl2,zahl4);
    break;
    case 2:

    printf("1:%i 2:%i 3:%i 4:%i\n",zahl3,zahl1,zahl4,zahl2);
    break;
    case 3:
    printf("1:%i 2:%i 3:%i 4:%i\n",zahl3,zahl4,zahl1,zahl2);
    break;
    case 4:
    printf("1:%i 2:%i 3:%i 4:%i\n",zahl4,zahl2,zahl3,zahl1);
    break;
    };

    }
    }
    else{//falls der Joker schon verwendet wurde
    printf("dieser Joker wurde schon verwendet\nBitte geben sie nun ihre Antwortmoeglichkeit ein:");
    }

    scanf("%i",&antwortuser);//eingabe der Antwort
    return antwortuser;//rueckgabe

    }
    int fjoker3(int z,int i,int *rantwort,int antwortuser,int jb3){
    if(jb3==0){//joker schon benutzt?
    int j3z= rand()%4+1;//zufallswert zur ausgabe eines der Antworten
    switch(j3z){
    case 1:
    printf("Ich denke es ist Antwort %i\n",rantwort[z]);
    break;
    case 2:
    printf("Es muss Antwort %i sein\n" ,rantwort[z]);
    break;
    case 3:
    printf("Es kann nur Antwort %i sein\n" ,rantwort[z]);
    break;
    case 4:
    printf("Ich bin mir nicht sicher, aber ich glaube es ist Antwort 3");
    break;
    }
    }
    else{
    printf("dieser Joker wurde schon verwendet\nBitte geben sie nun ihre Antwortmoeglichkeit ein:");
    }
    scanf("%i",&antwortuser);
    return antwortuser;
    }



    Wäre wirklich nett wenn ihr mir das verraten könntet.. und falls es nicht alllzu kompliziert werden sollte am besten noch wie man eine Startmelodie abspielt, sobald der Spieler seinen Namen mit Enter bestätigt hat..

    MfG
    C.N.
  • Warum setzt ihr die includes in " xy.h " und nicht in < xy.h > ?

    Bei morgiger Abgabe noch Musik eimbauen - da würde ich eher noch an ein paar anderen Dingen
    schrauben das der Quellcode leichter zu lesen ist - ich hoffe ihr habt das Orginal bei euch auf
    dem Rechner besser formatiert. Nutzt die C&C++ Tags aus syntax unter dem Editierfeld hier.

    Für euch ist die Zeit zu knapp - ich würde auch Teile der main auslagern, damit die kleiner
    wird und der gesamte Quelltext leichter lesbar.

    MfG