erstes Programm. Läuft es?

Dieses Thema im Forum "Programmierung & Entwicklung" wurde erstellt von mose, 31. August 2005 .

  1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen
  1. #1 31. August 2005
    Da wir unsere Editoren für zu Hause noch nicht haben kann ich es leider nicht überprüfen ob das dig geht. =( Da ich erst eine 3er Stunde C++ hatte und erst par Befehle kenne und das noch nciht ganz verstanden habe poste ich mahl den Quelltext von meinem Programm rein. Ich lasse mahl die erklärung im Quelltext wech. Also das Programm soll die ersten 3 Binomischen Formlen berechnen können. Das Problem ist ich weiss nicht wie ich es in ein Programm tuhe. Also ich Schreibe mahl die einzelnen schritte reind ie es machen soll ^^

    1. Fragt Faktor ab.
    2. Fragt formel.
    3. Ergebnis.

    Ich weiss nicht wie ich den ersten Schrit machen soll. =/ Der rest müsste eigentlich gehenw enn ich nichts falsch gemacht habe.

    EDOT//


    #include <iostream.h>
    void main()
    {
    Cout<<"******************************************************************************<<endl;
    cout<<"Mit diesem kleinem Program können sie die 3 Binomischen Formeln berechen."<<endl;
    cout<<"Bitte geben sie erst die Faktoren ein. Danach können sie die Formel aussuchen..: ";
    Cout<<"******************************************************************************<<endl;

    float a;
    cout<<"Bitte geben sie den Faktor a ein.";
    float b;
    cout<<"Bitte geben sie den Faktor b ein.";

    cout<<"1.Erste Binomische Formel.: ";
    cin>>1;
    cout<<"Das Ergebnis ist: "<<((a+b)*(a+b))<<endl;

    cout<<"2.Zweite Binomische Formel.:";
    cin>>2;
    cout<<"Das Ergebnis ist: "<<((a-b)*(a-b))<<endl;

    cout<<"3.Dritte Binomische Formel.:";
    cin>>3;
    cout<<"Das Ergebnis ist: "<<((a-b)*(a+b))<<endl;
    };
     

  2. Anzeige
    Dealz: stark reduzierte Angebote finden.
  3. #2 31. August 2005
    warum denn so kompliziert

    1. binomische formel

    a²+2ab+b²

    2. binomische formel

    a²-2ab+b² (ohh gott, wie peinlich, die zeichen verdreht, ich war im mathematik zweig :D)

    und die dritte fällt mir gerade nicht ein
     
  4. #3 31. August 2005
    Weil ich das so haben will:p ^^ Das ist ja eigentlich nicht das Problem.
     
  5. #4 31. August 2005
    -> http://de.wikipedia.org/wiki/Binomische_Formeln

    Ehm... Bin kein Programmierer, aber wie soll ich das Programm testen, wenn ich keine exe hab... Irgendwo reinkopieren ;) ?
     
  6. #5 31. August 2005
    Nein ^^ nur programier sollens ich melden ^^ hab ja nur den quelltext =(

    überarbeitete version


    #include <iostream.h>
    void main()
    {
    cout<<"******************************************************************************<<endl;
    cout<<"Mit diesem kleinem Program können Sie die 3 Binomischen Formeln berechen."<<endl;
    cout<<"Bitte geben Sie erst die Faktoren ein. Danach können Sie die Formel aussuchen..: ";
    cout<<"******************************************************************************<<endl;

    float a;
    float b;
    const float 1;
    const float 2;
    const float 3;
    float c;
    cout<<"Bitte geben sie den Faktor a ein.";
    cin>>a;
    cout<<"Bitte geben sie den Faktor b ein.";
    cin>>b;
    cout//"Mit welcher Formel wollen Sie fortfahren? Für die erste binomische Formel drücken sie die 1 . Für die zweite die 2 und für die dritte die 3 ";
    sin>>c;

    if(c==1)

    cout<<"Das Ergebnis ist: "<<((a+b)*(a+b))<<endl;

    if(c==2)

    cout<<"Das Ergebnis ist: "<<((a-b)*(a-b))<<endl;

    if(e==3)

    cout<<"Das Ergebnis ist: "<<((a+b)*(a-b))<<endl;



    cout<<"Diese Program wird noch mit weiteren Formeln erweiter."<<endl;
    };
     
  7. #6 31. August 2005
    hier fehlen jeweils am ende die Anführungszeichen. (Vor den "<<endl;"

    was das soll weiss ich nicht. ?( Wenn du Variablen fest definieren möchtest musst du auch einen Variablennamen vergeben! Bsp: const float Var=1;

    Könnte man eventuell eleganter mit der switch-Anwiesung lösen. wird aber noch in der Ausbildung kommen.


    So würde das Programm lauffähig sein:

    #include <iostream.h>
    void main()
    {
    cout<<"*********************************************************************"<<endl;
    cout<<"Mit diesem kleinem Program können Sie die 3 Binomischen Formeln berechen."<<endl;
    cout<<"Bitte geben Sie erst die Faktoren ein. Danach können Sie die Formel aussuchen..: ";
    cout<<"*********************************************************************"<<endl;

    float a;
    float b;
    float c;

    cout<<"Bitte geben sie den Faktor a ein.";
    cin>>a;
    cout<<"Bitte geben sie den Faktor b ein.";
    cin>>b;
    cout<<"Mit welcher Formel wollen Sie fortfahren?"<<endl<<"Für die erste binomische Formel drücken sie die 1 . Für die zweite die 2 und für die dritte die 3 ";
    cin>>c;

    if(c==1)

    cout<<"Das Ergebnis ist: "<<((a+b)*(a+b))<<endl;

    if(c==2)

    cout<<"Das Ergebnis ist: "<<((a-b)*(a-b))<<endl;

    if(c==3)

    cout<<"Das Ergebnis ist: "<<((a+b)*(a-b))<<endl;



    cout<<"Diese Program wird noch mit weiteren Formeln erweitert."<<endl;

    system("pause"); //glaub nur möglich unter Windows, da Konsolenbefehl!? War hier letztens n Thread
    }

    PS: Umlaute usw. funktionieren bei der Ausgabe auch nicht.

    MfG
     
  8. #7 31. August 2005
    das system dingens lässt mein compiler jedenfalls ned durch, kenn das auch ned...
     
  9. #8 31. August 2005
    SO ICH BIN FERTIG UND ALLES LÄUFT UND ES IST BESCHRIFTET ^^ HIER DER QUELLTEXT !
    Code:
    #include <iostream>
    using namespace std;
    int main ()
    
    
    {
     cout<<"******************************************************************************"<<endl;
     cout<<"*Das Programm kann die 3 Binomischen Formeln rechen *"<<endl;
     cout<<"*Bitte geben Sie erst die Faktoren ein. Danach koennen Sie die Formel *
    *aussuchen. *"<<endl;
     cout<<"******************************************************************************"<<endl;
     //Alles was zwischen cout<<"......."<<endl, ist sichtbar.
     int a;
     int b;
     int c;
     //Der Befehl int resaviert genau so wie float Speicher. In diesem Fall wird Speicher für 3 Elemente resaviert.
     const int l1=1;
     const int l2=2;
     const int l3=3;
     //Durch den Befehl `const´ vor `int´ wird der Befehl so erweiter, das eine Variable definiert die sich nicht verändern läst.
     //Die Zahl wird dich selbst im Quelltext verwendet, sondern es wird ein Wort oder ein Buchstabe verwändet der an die stelle der Zahl im Quelltext erscheint.
     //Dieses Wort bzw Buchstabe bedeutet das gleiche wie die Zahl. Im Falle ´const int l1=1´ ist l1 genau das gleiche wie 1.
     cout<<"Bitte geben sie den Faktor a ein.";
     cin>>a;
     //Durch den Befehl ´cin>>a;´ wird auf den resavierten Speicher a zurückgegriffen.
     cout<<"Bitte geben sie den Faktor b ein."<<endl;
     cin>>b;
     //Durch den Befehl ´cin>>b;´ wird auf den resavierten Speicher b zurückgegriffen.
     cout<<"******************************************************************************"<<endl;
     cout<<"*Mit welcher Formel wollen Sie fortfahren? Fuer die erste binomische Formel * *druecken sie die 1 . Fuer die zweite die 2 und fuer die dritte die 3. *"<<endl;
     cout<<"******************************************************************************"<<endl;
     //Alles was zwischen cout<<"......."<<endl, ist sichtbar.
     cin>>c;
     //Durch den Befehl ´cin>>c;´ wird auf den resavierten Speicher c zurückgegriffen.
     if(c==l1)
     //Nach if gibt man in die Klammern eine Bedingung ein, und wenn sie wahr ist, dann wird der Befehl nach if ausgeführt,
     //anderenfalls wird der Befehl nach else ausgeführt.Befor else ausgefürt wird. Werden alle if-Bedingungen überprüft.
     cout<<"Das Ergebnis ist: "<<((a+b)*(a+b))<<endl;
     //((a+b)*(a+b)) ist die erste binomische Formel.
     else if(c==l2)
     cout<<"Das Ergebnis ist: "<<((a-b)*(a-b))<<endl;
     //Das else bewirkt das die Fehler Meldung aus dem else nicht bei if auftrit.
     else if(c==l3)
     cout<<"Das Ergebnis ist: "<<((a+b)*(a-b))<<endl;
     else
     {
     cout<<"!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"<<endl;
     cout<<"! Error= no error !"<<endl;
     cout<<"!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"<<endl;
     }
     //Alles was zwischen cout<<"......."<<endl, ist sichtbar.
     //Dies ist die Fehlermeldung die kommt wenn keine if-Bedingung passt.
    
     cout<<"******************************************************************************"<<endl;
     cout<<"*Dieses Progrmam wird noch erweiter und wenn noetich komplet verendert. *"<<endl;
     cout<<"******************************************************************************"<<endl;
     //Alles was zwischen cout<<"......."<<endl, ist sichtbar.
    
    
     std::cin.clear();
     //"std::cin.clear(); löscht alle eventuellen Fehlerbits des assoziierten Streams und gibt dem Stream den Status,
     //der durch das Argument von clear spezifiziert wird (Defaultmäßig ist das ios::godbit)"
     std::cin.ignore(std::cin.rdbuf()->in_avail());
     //Verhindert das Das Fenster sich schließt.
     //"Diese Zeile löscht (bzw. ignoriert) alle Zeichen aus dem Eingabepuffer.
     //Oder mit anderen Worten leert den Eingabe-puffer."
     std::cin.get();
     //Dieser Befehl bewirkt das sich das Fenster schließt wenn man eine beliebeige Taste drückt.
    
     return 0;
    
    };
     
  10. #9 2. September 2005
    Code:
    system("pause");
    
    Ist win für *nix
    Code:
    getchar();
    
     
  11. #10 4. September 2005
    Hi.

    Zuerst einmal die Frage, ob du es beabsichtigt hast, falsche Formeln zur Berechnung zu verwenden? Das Programm tut nämlich nicht das, was es verspricht. :]

    Die Formeln lauten:
    1. binomische Formel: a² + 2ab + b²
    2. binomische Formel: a² - 2ab + b²
    3. binomische Formel: a² - b²

    Zweitens sollst du noch daran arbeiten, deinen Code übersichtlich zu gestalten. Kein anderer Programmierer wird sich freiwillig so etwas anschauen. Nun gut, es ist dein erster Versuch, trotzdem solltest du dir das schnellstmöglichst abgewöhnen. Vor allem, wenn du später einmal vorhast, in einem Team an einem Projekt zu arbeiten.

    Drittens: Es gibt ein paar "Tricks", mit denen du deine Sache einfacher gestalten hättest können. Als Beispiel will ich mal den Begriff "Array" hier einbringen. (oder statt einer if-Abfrage, eine switch-Abfrage benutzen z.B.)

    Viertens: Ich habe dir mal kurz ein Beispiel geschrieben, wie ich dein Problem angegangen wäre. Es sollte unter allen Compilern kompilierfähig sein, da es Standard-Code sein sollte. Ich hoffe, du lernst dabei noch etwas.

    Code:
    #include <iostream>
    #include <string>
    
    int main() {
     std::cout << std::string(80, '*') << std::endl 
     << "Das Programm kann Ihnen alle drei binomischen Formeln berechnen." << std::endl
     << "Bitte geben Sie zuerst die zwei Faktoren a und b ein." << std::endl
     << "Danach k" << static_cast<char>(246) << "nnen Sie sich die jeweillige Formel aussuchen." << std::endl
     << std::string(80, '*') << std::endl << std::endl;
    
     std::cout << "Bitte geben Sie beide Faktor ein, in der Form \"a b\": ";
     int a, b, input;
     std::cin >> a >> b;
     
     std::cout << "Binomische Formel Nr. ";
     std::cin >> input;
     
     std::cout << "Das Ergebnis lautet ";
     switch (input) {
     case 1:
     std::cout << a * a + 2 * a * b + b * b;
     break;
     case 2:
     std::cout << a * a - 2 * a * b + b * b;
     break;
     case 3:
     std::cout << a * a - b * b;
     break;
     default:
     std::cout << "- sorry, Eingabe nicht verstanden.";
     }
     std::cout << std::endl;
    }
    
    so long
     

  12. Videos zum Thema
Die Seite wird geladen...
Similar Threads - erstes Programm Läuft
  1. Antworten:
    0
    Aufrufe:
    4.234
  2. Antworten:
    16
    Aufrufe:
    1.621
  3. Antworten:
    4
    Aufrufe:
    1.116
  4. Antworten:
    54
    Aufrufe:
    2.613
  5. Antworten:
    17
    Aufrufe:
    3.165