Programm funktioniert nicht



  • Hallo zusammen,

    kann mal jemand gucken was daran falsch ist, ich kann aus den Fehlermeldungen nichts rauslesen, wäre sehr nett.

    Danke und Gruß,
    Marc 🙂

    #include <iostream>
    #include <windows.h>
    using namespace std;
    
    float lang;
    int i=1;
    
    int main()
    {
    
     if(i == 100)
     {
    
        cout<<"Wie lange soll der Ton dauern?\n\n100 ist minimum\n100000 ist maximum\n";
        cin>>lang;
    
        Beep(3000, lang);
        Beep(2000, lang);
        Beep(3000, lang);
        Beep(2000, lang);    
        i++;
    
    }else{
          cout<<"Ende vom Programm, bitte neustarten!";
          }
    
    cin.get();
    }
    


  • Hallo,

    FreeR0M schrieb:

    ich kann aus den Fehlermeldungen nichts rauslesen, wäre sehr nett.

    da du die besagten Fehlermeldungen nicht gepostet hast, geht's mir da ähnlich. Im Übrigen ist "Funktioniert nicht" eine miese Problembeschreibung. Lies dir das bitte durch: http://www.lugbz.org/documents/smart-questions_de.html

    Was soll dein Programm denn können eigentlich tun?

    MfG

    GPC



  • Syntaxfehler:
    Keine gefunden?!

    Logikfehler:
    "i" bekommt den Wert "1".
    Dann fragst du, ob i gleich 100 ist. Andernfalls wird das Programm beendet.

    Richtig wäre:

    while(!i==100) oder while(i<100)



  • ceplusplus schrieb:

    while(!i==100)

    So schreibt man das aber nicht. Zudem ist es logisch falsch und liefert immer false.
    ➡

    while (i != 100)
    


  • da nicht spezifiziert ist, was das programm tun soll, koennen wir auch keinen logikfehler diagnostizieren. ich sehe auch spontan keinen syntaxfehler, vielleicht wird ja Beep kleingeschrieben oder hat andere parameter or whatever, z.b. die millisekunden nicht in float sondern int oder so.



  • Also ich würde jetzt mal ganz spontan darauf tippen, dass "lang" auf gar keinen fall vom typ float sein darf.Dies könnte einen Syntaxfehler auslösen. Die Whileschleife dürfte nicht der Grund für eine Fehlermeldung sein (ist jedoch unlogisch, siehe oben) Die möglichen Parameter für Beep sind:

    int dwFreq= 800;
    int dwDuration= 270000;
    ...
    Beep (dwFreq,dwDuration);
    

    #include <iostream>
    #include <windows.h>
    using namespace std;
    
    int main()
    {
    
    int i;
    cout<<"Achtung! Begeben sie sich unverz\x81glich in einen Luftschutzbunker!";do{
    
    	for (i=0;i<800;i++)
    	Beep (i,1);
    	for (i=800;i>0;i--)
    		Beep (i,1);}while(1==1);
    
    	return 0;
    }
    


  • Ja sorry, habe mich geirrt.


Anmelden zum Antworten