[C/C++] komm bei meinem code nich weiter! :(

Dieses Thema im Forum "Programmierung & Entwicklung" wurde erstellt von mr.lova, 24. September 2007 .

Schlagworte:
Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. 24. September 2007
    komm bei meinem code nich weiter!

    seas!

    also ich mach grad ne aufgabe von unsrem lehrer und häng da nen bissi!

    aufgabe is dass wir 5 zahlen eingeben sollen und daraus dann durch klicken auf nen button der durchschnitt errechnet werden soll! also objekt-orientierte-programmierung!

    wenn ich auf meinen button klicke kommt einfach immer das falsche raus!

    hier mein code:

    Code:
    
     double d;
     AnsiString fach[5] = {"Mathe", "Deutsch", "Englisch", "IT", "Religion"};
    
     fach[0] = edtMathe->Text.ToDouble();
     fach[1] = edtDeutsch->Text.ToDouble();
     fach[2] = edtEnglisch->Text.ToDouble();
     fach[3] = edtIT->Text.ToDouble();
     fach[4] = edtReligion->Text.ToDouble();
    
     d = ((fach[0]+fach[1]+fach[2]+fach[3]+fach[4])/5);
    
     pnlDurch->Caption = d;
    
    
    hat einer ne idee?
     
  2. 24. September 2007
    AW: komm bei meinem code nich weiter!

    wo liest du denn die zahlen ein?
    kann ich gar nicht erkennen?

    mfg
     
  3. 24. September 2007
    AW: komm bei meinem code nich weiter!



    das is oop!

    fach[0] = edtMathe->Text.ToInt();
    fach[1] = edtDeutsch->Text.ToInt();
    fach[2] = edtEnglisch->Text.ToInt();
    fach[3] = edtIT->Text.ToInt();
    fach[4] = edtReligion->Text.ToInt();


    sprich aus den editfeldern!
     
  4. 24. September 2007
    AW: komm bei meinem code nich weiter!

    jop ich weiß, dass c++ oop ist ich selbst code in c#...aber bin noch nicht soweit, dass ich windowsanwendungen schreibe... dachte erst es handelt sich um eine consolenanwendung aber scheint nicht so.

    sry
     
  5. 24. September 2007
    AW: komm bei meinem code nich weiter!

    c++ kann auch konsole sein!
    das hier is aber oop!

    also weiß einer was falsch is?
    wenn ich zb überall ne 5 als note eingebe bekomm ich einfach als durchschnitt 11111 raus!
     
  6. 24. September 2007
    AW: komm bei meinem code nich weiter!

    wahrscheinlich musst du die Zeichenketten zuerst wieder in einen Integer umwandeln, bevor du sie addierst ...

    normalerweise müsstest du auch einen Compilerfehler bekommen, da du einer Float-variable kein ergebnis einer Addition von Strings zuweisen kannst

    //
    oder willst du die strings zusammenfügen ? Dann frage ich mich, wieso du das float und das /5 brauchst.

    Was da oben steht ist ziehmlicher Müll
     
  7. 24. September 2007
    AW: komm bei meinem code nich weiter!

    ich will doch den durchschnitt errechnen!

    also rechne ich alle fächer zusammen und teile sie durch 5!

    d ist doch eine double variable und meine werte aus den editfeldern auch durch das Text.ToDouble();!

    aber muss ich die double dann noch umwandeln vor der ausgabe?
     
  8. 24. September 2007
    AW: komm bei meinem code nich weiter!

    Moin

    Der Array kann so nur Strings aufnehmen (AnsiString), müsste also heißen:

    Code:
    Double fach[5];
    damit er Zahlen nimmt.
     
  9. 24. September 2007
    AW: komm bei meinem code nich weiter!

    jap ich weiß dass c++ auch konsole sein kann aber auch konsole kann oop sein

    mfg
     
  10. 24. September 2007
    AW: komm bei meinem code nich weiter!

    ja ich weiß doch! deswegen mach ich ja auch fach[0] = edtMathe-> Text.ToDouble();


    @juppwatis:
     
  11. 24. September 2007
    AW: komm bei meinem code nich weiter!

    In fach[0] bis fach[4] ist z.B. jeweils der String '5' gespeichert....

    Das bedeutet, dass er in der oberen Zeile die Fünfen einfach an einander hängt...also "55555"....

    /5 kapiert er nicht weils ja ein String ist (warum gibt's keine Exception??????) und speichert das dann als Double 55555 in d.....

    So würde ich's interpretieren.......
     
  12. 24. September 2007
    AW: komm bei meinem code nich weiter!

    wieso ist in fach[0] bis fach[4] jeweils der string 5???

    jedes fach bekommt doch nen eig wert durch die jeweiligen editfelder zugeteilt!
     
  13. 24. September 2007
    AW: komm bei meinem code nich weiter!

    Das war nur als Beispiel auf die zitierte Zeile bezogen....
    (Nehmen wir mal an überall WÄRE eine '5' drin, dann......)

    Der Sinn war zu verdeutlichen, dass er den jeweiligen Inhalt aus dem Array nicht addiert, sondern aneinander gehängt wird.....

    Strings sind es, weil du den Array so deklariert hast...
    Code:
    AnsiString fach[5] = {"Mathe", "Deutsch", "Englisch", "IT", "Religion"};
     
  14. 24. September 2007
    AW: komm bei meinem code nich weiter!

    also muss ich den array mit nem andren datentyp deklarieren oder was?

    also so:

    Code:
    double fach[5] = {"Mathe", "Deutsch", "Englisch", "IT", "Religion"};
    ?????

    aber das geht ja nich weil ich strings drin hab!
     
  15. 24. September 2007
    AW: komm bei meinem code nich weiter!

    Wozu brauchst du die Strings dort überhaupt??

    //Edit:
    .....
    Kannst du ja auch machen.... aber im Array müssen ja auch nur die Noten selber stehen und nicht die Namen der Fächer....das ist die Frage...
     
  16. 24. September 2007
    AW: komm bei meinem code nich weiter!

    in der aufgabe steht:

     
  17. 24. September 2007
    AW: komm bei meinem code nich weiter!


    Das heißt noch lange nicht, dass du ein String-array deklarieren musst.
    Du kannst einfach ein Int, double oder Float-array deklarieren :]
     
  18. 24. September 2007
    AW: komm bei meinem code nich weiter!

    Try this....

    Code:
     double d;
     double fach[5];
    
     fach[0] = edtMathe->Text.ToDouble();
     fach[1] = edtDeutsch->Text.ToDouble();
     fach[2] = edtEnglisch->Text.ToDouble();
     fach[3] = edtIT->Text.ToDouble();
     fach[4] = edtReligion->Text.ToDouble();
    
     d = ((fach[0]+fach[1]+fach[2]+fach[3]+fach[4]) / 5.0f);
    
     pnlDurch->Caption = d;
    //EDiT:
    Code:
    pnlDurch->Caption = d;
    Was soll das denn bitte sein?! Du kannst kein Double einfach implizit zu nem String umwandeln & vice versa...
    Musst du erst explizit umwandeln (sprintf()...).
     
  19. 24. September 2007
    AW: komm bei meinem code nich weiter!

    so hab jetzt den code:


    Code:
    
     double fach[5], d;
    
     fach[0] = edtMathe->Text.ToDouble();
     fach[1] = edtDeutsch->Text.ToDouble();
     fach[2] = edtEnglisch->Text.ToDouble();
     fach[3] = edtIT->Text.ToDouble();
     fach[4] = edtReligion->Text.ToDouble();
    
     d = ((fach[0]+fach[1]+fach[2]+fach[3]+fach[4])/5);
    
     pnlDurch->Caption = FloatToStr(d);
    
    
    der funzt! thx an alle! bw geht raus!
     
  20. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.