Ankündigung

Einklappen
Keine Ankündigung bisher.

User helfen User - Programmieren

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    ahh, in der result= zeile hab ich es immer ohne echo probiert, danke!

    Kommentar


      So,

      ich hab das ganze jetzt nochmal neugeschrieben.

      http://pastebin.com/rUH2rVsw

      Funktioniert alles Super.

      Wenn ich jetzt im Hauptmenü auswähle, das ich ein Getränk kaufen möchte, und Beispielsweise Cola auswähle, bekomme ich folgendes Problem:

      Ich muss 1.80€ für eine Cola bezahlen.

      Werfe ich 1€, 0,50€, 0,20€ und 0,10€ ein, bekomme ich 0,00€ Rückgeld.
      Werfe ich 0,20€, 0,20€, 0,20€, 0,20€, 0,20€, 0,20€, 0,20€, 0,20€, 0,20€ ein, müsste ich Theoretisch bei 1,80€ sein, also auch bei 0€ Rückgeld, jedoch gibt mir das nach den letzten 0,20€ an, das ich noch 2.22045e-016 Euro einwerfen soll... wenn ich dann noch Geld nachwerfe, gibt mir das Programm exakt diesen Wert als rückgeld. Also steht dieses "2.22045e-016" theoretisch ja für 0,0€

      Ich weiß nicht wo dort der Fehler liegt, benutze ich den Falschen Datentyp?


      edit: ok ich hab es mit:

      std::fixed und
      setprecision(2)

      jetzt hinbekommen. Dieses 2.22045e-016 steht für 0.0000000000000002. Woraus ich jetzt mit den oberen befehlen eine 0.00 stehen habe.

      Jetzt hab ich natürlich das Problem das der Automat beim letzten schrit 0,00€ von mir möchte, da dort ja eigentlich eine 0.0000000000000002 steht.

      also habe ich mir gedacht, das ich die schleife nicht nur mit:

      while(summe

      Kommentar


        und schau dir mal switch case an

        Kommentar


          mit Arrays wird dein Programm viel übersichtlicher, ich hab's mal in etwa umgebaut: http://pastebin.com/VD8tsTTu

          Kommentar


            Dein Komma Problem liegt einfach daran:
            0,2 = 0,0011001100110011001100110011001100110011001100110011.. .
            macht bei 64 Bits 0,19999999999999999999999999999.... daher die 2.22045e-016.

            Kommentar


              Zitat von sai
              mit Arrays wird dein Programm viel übersichtlicher, ich hab's mal in etwa umgebaut: http://pastebin.com/VD8tsTTu
              okay cool, ich werde es mir am Wochenende mal genauer anschauen.

              Neues Problem.

              Ich denke ich hab irgendwo einen Verständnis Fehler.

              Ich habe ein main() Programm (Berechnung.cpp) in meiner Projektmappe.
              Ich habe ein double berechnungsqrt() Programm (myfunction.cpp) in meiner Projektmappe.
              Ich habe eine myfunction.h Haederdatei in meiner Projektmappe.


              im main() (Berechnung.cpp) ist ein Aufruf
              http://pastebin.com/CcfhCh4g

              im berechnungsqrt() (myfunction.cpp) ist die Berechnung
              http://pastebin.com/JeYTtmx4

              und in der myfunction.h wird die Funktion berechnungsqrt() definiert
              http://pastebin.com/H1T5CaXi


              Problem:

              im main() Programm soll das Ergebnis x1 und x2 aus der berechnungsqrt() (myfunction.cpp) Funktion ausgegeben werden. Dort wird aber schon angemeckert, das x1 und x2 nicht definiert sind.

              Die Abarbeitung der Funktion berechnungsqrt() scheint mir einfach komplett übersprungen zu werden.

              Hab leider auch 0 Informationsmaterial zu dem Thema, und werde im Internet auch nicht so richtig fündig. Der Lehrer erklärt es sehr schlecht/gar nicht. :-/

              Gibt's da eine relativ einfache Methode, was ich Falsch mache, oder wie man es anders macht?

              Kommentar


                x1 und x2 sind in main() ja auch nicht definiert und berechnungsqrt(x1,x2) erwartet diese Zahlen. da musst du schon Zahlen einsetzen oder irgendwas einlesen oder sowas.
                Aber eigentlich willst du berechnugsqrt() ja gar keine Zahlen übergeben, sondern welche zurückkriegen, also eher sowas wie x1,x2 = berechnungsqrt() statt berechnungsqrt(x1,x2).

                Kommentar


                  Ok ich hab das ganze nun in der main() datei folgendermaßen geändert:

                  float x1;
                  float x2;

                  float berechnungsqrt();

                  x1=berechnungsqrt();
                  x2=berechnungsqrt();

                  cout

                  Kommentar


                    Brüder, womit habt ihr euch am besten java beigebracht? irgendwelche guten bücher / internet webseiten? links wären supi!

                    Kommentar


                      Zitat von OwNu|Spiral
                      Brüder, womit habt ihr euch am besten java beigebracht? irgendwelche guten bücher / internet webseiten? links wären supi!
                      http://openbook.galileocomputing.de/javainsel/
                      http://www.codecademy.com/

                      Kommentar


                        [quote=keu1e][spoiler]
                        Ok ich hab das ganze nun in der main() datei folgendermaßen geändert:

                        float x1;
                        float x2;

                        float berechnungsqrt();

                        x1=berechnungsqrt();
                        x2=berechnungsqrt();

                        cout

                        Kommentar


                          Hab jetzt ein bisschen rumprobiert aber immer noch Schwierigkeiten..
                          hab eine myfunction.cpp und eine berechnung.cpp

                          in der myfunction.cpp mach ich einfach:

                          int main()
                          {
                          int a=20;
                          berechnung(a);
                          }

                          in berechnung.cpp

                          int berechnung(int a)
                          {
                          int a1;
                          a1=a;
                          return a1;
                          }

                          nun fehlt mir aber einfach jegliches wissen wie ich den return wert aus der berechnung() in main() aufrufen kann, das internet macht mich da auch nicht schlauer irgendwie, habs nun echt ewig ausprobiert.

                          Kommentar


                            int main()
                            {
                            int a=20;
                            int i = berechnung(a);
                            }

                            in i dann der rückgabewert.

                            Kommentar


                              Zitat von leTTiV
                              Spoiler: 
                              int main()
                              {
                              int a=20;
                              int i = berechnung(a);
                              }

                              in i dann der rückgabewert.
                              Super, Funktioniert, vielen vielen dank bis jetzt für die Hilfe.

                              wie läuft das ganze jetzt mit zwei Rückgabe werten, oder mehr?

                              int main()
                              {
                              int a=20;
                              int b=10;

                              int a1;
                              int a2;

                              a1 = berechnung(a,b);
                              a2 = berechnung(b,a);
                              }

                              int berechnung(int a, int b)
                              {
                              int b1;
                              int b2;

                              b1=a;
                              b2=b;

                              return b1,b2;
                              }

                              So ruft er im main() die Funktion Berechnung() ja 2 mal auf, was ich im Prinzip verhindern möchte.

                              Kommentar


                                Wie bekomme ich mein Programm für Windows kompatibel mit XP und windows7 kompiliert? :/

                                Kommentar

                                Lädt...
                                X