Hilfe bei meinem Programm



  • naja net direkt die erste zeile die erste wo er meckert ist diese hier

    cout<<"Jetzt liegen"<<anzahlmuenzen<<"Muenzen auf dem Tisch"<<endl;
    

    ich dachte mir könnte jemand helfen und sagen woran es liegt das ich das programm net starten kann ?



  • using namespace std;



  • hab ich jetzt uach mit drinne, bringt aber nix, immernoch der selber fehler am selben punkt, und dann folgen ne menge andere fehler, obwohl ich diese nimmspiel von einer tut.seite habe?? komisch



  • Fehlermeldung posten ftw



  • Firefighter schrieb:

    naja net direkt die erste zeile die erste wo er meckert ist diese hier

    cout<<"Jetzt liegen"<<anzahlmuenzen<<"Muenzen auf dem Tisch"<<endl;
    

    Der Fehler liegt nicht unbedingt in der Zeile, in der der Compiler nicht mehr weiterkommt. Manchmal liegt der Fehler auch in der Zeile darüber. SeppSchrot hat dir übrigens schon längst gesagt, was das Problem ist.



  • lol, der hat vol oft ein ; vergessen^^



  • ich habe hier ma ein eigentlich simples Nimm-Spiel programmiert

    Ist das Programm wirklich von Dir?
    siehe: http://www.volkard.de/vcppkold/nimmspiel.html



  • nein das habe ich doch oben shcon geschrieben, ich habe es wie gesagt von einer tutorial seite, daher wunderte ich mich das es net funktioniert



  • nein das habe ich doch oben shcon geschrieben, ich habe es wie gesagt von einer tutorial seite, daher wunderte ich mich das es net funktioniert

    Jetzt hast Du dies geschrieben, dass Du es aus einem Tutorial übernommen hast. 😉 Der Autor ist Volkard Henkel. Du musst nur korrekt abtippen bzw. paste und copy durchführen. Dann klappt das auch mit dem Programm.



  • Leider nicht ganz. Das da ist volkards alter Kurs, in dem noch einige Fehler drin sind, wie z.B hier void main() statt int main(). Was man alles umändern soll im alten Kurs, damit auch dort alles funktioniert hat er hier geschrieben. Danach sollte es auch funktionnieren.

    Ansonsten find ich den Kurs super.



  • Hi,
    hab hier auch ne eigentlich simple Aufgabe und wollte dafür nicht extra ein Topic aufmachen 😉
    Ach geh übrings erst in die 11.Klasse 😉

    //Aufgabe: ADD_Bruch.cpp
    //von Joerg Jeschke
    
    #include <iostream.h>
    #include <conio.h>
    //#include <mymath.h>       //für ggT  //der Compiler findet aber die Include-Datei scheinbar nicht, daher hab ich sie mal weggelassen
    
    void kuerze (int& zend, int& nend);     
    void ggt (int& n1a); 
    
    int main()
    {
        int z1, z2, n1, n2, n1a, z1a, z2a, zend, nend;  
        char wahl;
        do
        {
        cout<<" Bitte geben Sie den Zaehler des 1. Bruches ein: "<<endl;
        cin>>z1;
        cout<<" Bitte geben Sie den Nenner des 1. Bruches ein: "<<endl;
        cin>>n1;
        cout<<" Bitte geben Sie den Zaehler des 2. Bruches ein: "<<endl;
        cin>>z2;
        cout<<" Bitte geben Sie den Nenner des 2. Bruches ein: "<<endl;
        cin>>n2;
    
        z1a=z1*n2;
        n1a=n1*n2;
        z2a=z2*n1;
        n2a=n2*n1;   
    
        zend=z1a+z2a;
        nend=n1a;
        cout<<" Ungekuerzter Bruch: "<<zend<<" / "<<nend<<endl;
    
         ggt(n1a);     
         kuerze (zend,  nend); 
         cout<<" Wollen Sie das Programm wiederholen?"<<endl;
         cin>>wahl;
         }
         while(wahl=='j' || wahl=='J');
    
    getch();
    }
    
              void ggt(int& n1a) /
              {
                  cout<<" ggT ist: "<<n1a<<endl;
                  cout<<" ggT ist: "<<n1a<<endl;
    
              }
    
                  void kuerze(int& zend, int& nend)   
                  {
                      ggt(zend, nend); 
    
                      zend=zend/ggt;
                      nend=nend/ggt;
    
                      cout<<" Ergebnis: "<<zend<<" / "<<nend<<endl;
                  }
    

    Könnt ihr mir sagen was ich noch ändern muss?
    Ich weiß selber das das Programm umständlich geschrieben ist, aber nurso nebenbei ^^

    danke schonmal für ne Antwort 😉

    gruß aSgaRd



  • C:\Dokumente und Einstellungen\bthomas\Desktop\C++\add_Bruch_geändert_2.cpp In function `void kuerze(int&, int&)':

    46 C:\Dokumente und Einstellungen\bthomas\Desktop\C++\add_Bruch_geändert_2.cpp too many arguments to function `void ggt(int&)'

    57 C:\Dokumente und Einstellungen\bthomas\Desktop\C++\add_Bruch_geändert_2.cpp invalid operands of types `int' and `void ()(int&)' to binary `operator/'

    58 C:\Dokumente und Einstellungen\bthomas\Desktop\C++\add_Bruch_geändert_2.cpp invalid operands of types `int' and `void ()(int&)' to binary `operator/'

    Das sind übrings die Fehlermeldungen ;)^^



  • Da fehlen aber noch einige Grundlagen. Du hast eine Funktion ggt(int&) - die nimmt GENAU EIN Argument entgegen. In der Funktion kuerze() verwendest sie aber einmal mit zwei Argumenten (eine 2-Parameter-Variante existiert nicht) und einmal ohne Argument (das ergibt einen Funktionszeiger - und durch den darfst du nicht dividieren).

    int ggt(int a,int b)
    {
      ...//hier darfst du dich austoben
    }
    
    void kuerze(int &a,int &b)
    {
      int teiler = ggt(a,b);
      a = a/teiler;
      b = b/teiler;
    }
    


  • Ok, cool danke 🙂

    Funzt jetzt einwandfrei....


Anmelden zum Antworten