Hilfe bei Grundrechenarten+Strings

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

  • Hilfe bei Grundrechenarten+Strings

    Hallo,
    im folgenden habe ich versucht einen Quellcode zu programmieren der mir die Grundrechenarten ausgibt. Dabei gibt es schon kleine Probleme die ich nicht zu lösen weiß. Das größte wäre jedoch das ich versuchen will die Zeichenkette auf min 20 Ziffern zu setzten. Hab mir jetzt vieles über Strings und Char... durchgelesen, weiß aber nicht recht wie ich es anwenden soll, wär echt nett wenn Ihr mir dabei hilft.
    Erster Versuch:

    Quellcode

    1. #include <iostream>
    2. #include<string>
    3. #include<mathh>
    4. using namespace std;
    5. int main()
    6. double float Zahl1; //1.Zahl
    7. double float Zahl 2; //2. Zahl
    8. int Frage; // siehe Cout 3
    9. double float Ergebnis;
    10. cout<<"Geben Sie die 1. Zahl ein"<<endl;
    11. cin>>Zahl1;
    12. cout<<"Geben Sie die 2. Zahl ein"<<endl;
    13. cin>>Zahl2;
    14. cout<<"Wollen Sie addieren (1), subtrahieren (2), multiplizieren (3) oder dividieren (4)?">>endl;
    15. cin>>Frage;
    16. switch (Frage)
    17. {
    18. case 1:
    19. { Ergebnis=Zahl1+Zahl2;
    20. cout<<Ergebnis<<endl;
    21. break;
    22. }
    23. case 2:
    24. { Ergebnis=Zahl1-Zahl2;
    25. cout<<Ergebnis<<endl;
    26. break;
    27. }
    28. case 3:
    29. { Ergebnis=Zahl1*Zahl2;
    30. cout<<Ergebnis<<endl;
    31. break;
    32. }
    33. case 4:
    34. { Ergebnis=Zahl1/Zahl2;
    35. cout<<Ergebnis<<endl;
    36. break;
    37. }
    38. default;
    39. {
    40. cout<<"Error";
    41. break;
    42. }
    43. }
    Alles anzeigen



    das wäre mein Quellcode, das ganz habe ich dann auch mal mit if versucht, allerdings würde mir ein veranschaulichter Ansatz schon dicke langen.
    Bin noch eine blutjunge Anfängerin! Habe zwar teils die Anderen durchgelesen, allerdings wäre es echt nett, wenn Ihr mir es zum tausenden male erklärt

    MfG &thx
  • Hi Suomis

    wichtig:

    1. Wenn du deinen Code ins Forum schreibst, dann benutz doch bitte das SyntaxHighlighting (rechts neben dem Coderwiki Button, zu finden beim erstellen eines Threads oder einer Antwort).

    zum Code:

    Also um einen String zu begrenzen kannst du dir char zur Hilfe nehmen.
    Der Syntax wäre wie folgt:

    Quellcode

    1. #include "stdafx.h"
    2. #include <iostream>
    3. #include <cstdio>
    4. #using <mscorlib.dll>
    5. using namespace System;
    6. using namespace std;
    7. int _tmain()
    8. {
    9. char meinString[80]; //Max. 79 Zeichen erlaubt für einen String
    10. cout << "Geben Sie einen String ein: ";
    11. gets(str); //einen String mit gets() einlesen
    12. cout << "Hier ist Ihr String: ";
    13. cout << meinString << "\n"; //Stringausgabe
    14. return 0;
    15. }
    Alles anzeigen


    Bei der Begrenzung ist immer "erlaubte Anzahl Zeichen + 1" zu rechnen, diese Zahl schreibt man dann in die eckigen Klammern bei der Deklaration. Les dich einfach ein bisschen rein in das Ganze.

    Wie ich sehe hast du noch mehr Fehler in deinem Code, aber die sollten durch weiteres lesen schnell behoben sein. Sonst schreib einfach wieder..

    Gruss jott
  • gets ist potentiell gefährlich weil du damit über das Bufferende hinausschreiben kannst :wink: .
    Besser wäre fgets aber unter C++ wäre ohnehin cin.getline oder std::getline angesagt.

    Gruß void
    "Probleme kann man niemals mit derselben Denkweise lösen,
    durch die sie entstanden sind." (A. Einstein)