Quelltext ziemlich lang!?

Tutorials.at
Verfügbare Informationen zu "Quelltext ziemlich lang!?"

  • Qualität des Beitrags: 0 Sterne
  • Beteiligte Poster: Mr_A_ - exbs - Dirty Oerty - DrPhil_Guth - detewe89 - geek.90
  • Forum: Tutorials.at
  • Forenbeschreibung: Programmierforum
  • aus dem Unterforum: C / C++
  • Antworten: 15
  • Forum gestartet am: Mittwoch 19.04.2006
  • Sprache: deutsch
  • Link zum Originaltopic: Quelltext ziemlich lang!?
  • Letzte Antwort: vor 16 Jahren, 10 Monaten, 19 Tagen, 13 Stunden, 32 Minuten
  • Alle Beiträge und Antworten zu "Quelltext ziemlich lang!?"

    Re: Quelltext ziemlich lang!?

    Mr_A_ - 15.04.2007, 18:30

    Quelltext ziemlich lang!?
    Hallo zusammen.

    Ich habe am Samstag (14.04.07) hier auf der Seite angefangen C zu lernen.
    Nachdem ich mir die ersten 3 Kapitel durchgelesen habe, habe ich heute mal angefangen einen Taschenrechner zu Programmieren (als DOS-Anwendung).

    Nach ein paar verbesserungen und "erweiterungen" muss ich feststellen, das der Quellcode ziemlich lang ist.

    Ist das normal so, oder mach ich etwas falsch?
    Ich bin ein totaler nOOb in C und muss deswegen mal fragen.

    Wenns normal ist, dann will ich mal gern wissen, wie das ist wenn ich/man sich etwas besser damit auskennt und auch komliziertere Programme schreibt.

    Mein Quellcode:

    Code: #include <stdio.h>
    #include <conio.h>

    int main(void)
    {
     int op, zahl1, zahl2, zahl3, zahl4, zahl5, ergebnis, anzahl;
     int summand1, summand2, minuend, subtrahend, faktor1, faktor2, dividend, divisor;

     printf ("Der Taschenrechner V.0.4 by Albert Seebold\n\n");
     printf ("Bitte waehlen Sie aus, welche Operation Sie durchfuehren moechten:\n");
     printf ("1 = Addition  2 = Subtraktion  3 = Multiplikation  4 = Division\n");
     printf ("\nOperation: ");
     
     scanf ("%d", &op);

     switch (op)
     {
      case 1: printf ("Sie haben die Operation Addition gewaehlt.\n\n");
              labelA:
              printf ("Bitte geben sie ein, wieviele Zahlen sie miteinander addieren moechten (max. 5)\n");
              printf ("Anzahl: ");
              scanf ("%d", &anzahl);
             
              switch (anzahl)
              {
               case 2: printf ("Bitte geben Sie ein, welche zwei Zahlen sie miteinander addieren moechten");
                       printf ("\nZahl 1: ");
                       scanf ("%d", &zahl1);
                       printf ("Zahl 2: ");
                       scanf ("%d", &zahl2);
                       ergebnis = zahl1 + zahl2;
                       printf ("%d + %d = %d\n", zahl1, zahl2, ergebnis);
                       printf ("Ergebnis: %d\n", ergebnis);
                       break;
                       
               case 3: printf ("Bitte geben Sie ein, welche drei Zahlen sie miteinander addieren moechten");
                       printf ("\nZahl 1: ");
                       scanf ("%d", &zahl1);
                       printf ("Zahl 2: ");
                       scanf ("%d", &zahl2);
                       printf ("Zahl 3: ");
                       scanf ("%d", &zahl3);
                       ergebnis = zahl1 + zahl2 + zahl3;
                       printf ("%d + %d + %d = %d\n", zahl1, zahl2, zahl3, ergebnis);
                       printf ("Ergebnis: %d\n", ergebnis);
                       break;
                       
               case 4: printf ("Bitte geben Sie ein, welche vier Zahlen sie miteinander addieren moechten");
                       printf ("\nZahl 1: ");
                       scanf ("%d", &zahl1);
                       printf ("Zahl 2: ");
                       scanf ("%d", &zahl2);
                       printf ("Zahl 3: ");
                       scanf ("%d", &zahl3);
                       printf ("Zahl 4: ");
                       scanf ("%d", &zahl4);
                       ergebnis = zahl1 + zahl2 + zahl3 + zahl4;
                       printf ("%d + %d + %d + %d = %d\n", zahl1, zahl2, zahl3, zahl4, ergebnis);
                       printf ("Ergebnis: %d\n", ergebnis);
                       break;
                       
               case 5: printf ("Bitte geben Sie ein, welche fünf Zahlen sie miteinander addieren moechten");
                       printf ("\nZahl 1: ");
                       scanf ("%d", &zahl1);
                       printf ("Zahl 2: ");
                       scanf ("%d", &zahl2);
                       printf ("Zahl 3: ");
                       scanf ("%d", &zahl3);
                       printf ("Zahl 4: ");
                       scanf ("%d", &zahl4);
                       printf ("Zahl 5: ");
                       scanf ("%d", &zahl5);
                       ergebnis = zahl1 + zahl2 + zahl3 + zahl4 + zahl5;
                       printf ("%d + %d + %d + %d + %d = %d\n", zahl1, zahl2, zahl3, zahl4, zahl5, ergebnis);
                       printf ("Ergebnis: %d\n", ergebnis);
                       break;
                       
               default: printf ("Sie haben entweder keine, oder eine ungueltige Operation gewaehlt.\n\n");
               goto labelA;
              }                       
              break;

      case 2: printf ("Sie haben die Operation Subtraktion gewaehlt.\n\n");
              labelB:
              printf ("Bitte geben sie ein, wieviele Zahlen sie voneinander subtrahieren \nmoechten (max. 5)\n");
              printf ("Anzahl: ");
              scanf ("%d", &anzahl);
             
              switch (anzahl)
              {
               case 2: printf ("Bitte geben Sie ein, welche zwei Zahlen sie voneinander subtrahieren moechten");
                       printf ("\nZahl 1: ");
                       scanf ("%d", &zahl1);
                       printf ("Zahl 2: ");
                       scanf ("%d", &zahl2);
                       ergebnis = zahl1 - zahl2;
                       printf ("%d - %d = %d\n", zahl1, zahl2, ergebnis);
                       printf ("Ergebnis: %d\n", ergebnis);
                       break;
                       
               case 3: printf ("Bitte geben Sie ein, welche drei Zahlen sie voneinander subtrahieren moechten");
                       printf ("\nZahl 1: ");
                       scanf ("%d", &zahl1);
                       printf ("Zahl 2: ");
                       scanf ("%d", &zahl2);
                       printf ("Zahl 3: ");
                       scanf ("%d", &zahl3);
                       ergebnis = zahl1 - zahl2 - zahl3;
                       printf ("%d - %d - %d = %d\n", zahl1, zahl2, zahl3, ergebnis);
                       printf ("Ergebnis: %d\n", ergebnis);
                       break;
                       
               case 4: printf ("Bitte geben Sie ein, welche vier Zahlen sie voneinander subtrahieren moechten");
                       printf ("\nZahl 1: ");
                       scanf ("%d", &zahl1);
                       printf ("Zahl 2: ");
                       scanf ("%d", &zahl2);
                       printf ("Zahl 3: ");
                       scanf ("%d", &zahl3);
                       printf ("Zahl 4: ");
                       scanf ("%d", &zahl4);
                       ergebnis = zahl1 - zahl2 - zahl3 - zahl4;
                       printf ("%d - %d - %d - %d = %d\n", zahl1, zahl2, zahl3, zahl4, ergebnis);
                       printf ("Ergebnis: %d\n", ergebnis);
                       break;
                       
               case 5: printf ("Bitte geben Sie ein, welche fünf Zahlen sie voneinander subtrahieren moechten");
                       printf ("\nZahl 1: ");
                       scanf ("%d", &zahl1);
                       printf ("Zahl 2: ");
                       scanf ("%d", &zahl2);
                       printf ("Zahl 3: ");
                       scanf ("%d", &zahl3);
                       printf ("Zahl 4: ");
                       scanf ("%d", &zahl4);
                       printf ("Zahl 5: ");
                       scanf ("%d", &zahl5);
                       ergebnis = zahl1 - zahl2 - zahl3 - zahl4 - zahl5;
                       printf ("%d - %d - %d - %d - %d = %d\n", zahl1, zahl2, zahl3, zahl4, zahl5, ergebnis);
                       printf ("Ergebnis: %d\n", ergebnis);
                       break;
                       
               default: printf ("Sie haben entweder keine, oder eine ungueltige Operation gewaehlt.\n\n");
               goto labelB;
              }                       
              break;

      case 3: printf ("Sie haben die Operation Multiplikation gewaehlt.\n\n");
              labelC:
              printf ("Bitte geben sie ein, wieviele Zahlen sie miteinander multiplzieren \nmoechten (max. 5)\n");
              printf ("Anzahl: ");
              scanf ("%d", &anzahl);
             
              switch (anzahl)
              {
               case 2: printf ("Bitte geben Sie ein, welche zwei Zahlen sie miteinander multiplzieren moechten");
                       printf ("\nZahl 1: ");
                       scanf ("%d", &zahl1);
                       printf ("Zahl 2: ");
                       scanf ("%d", &zahl2);
                       ergebnis = zahl1 * zahl2;
                       printf ("%d * %d = %d\n", zahl1, zahl2, ergebnis);
                       printf ("Ergebnis: %d\n", ergebnis);
                       break;
                       
               case 3: printf ("Bitte geben Sie ein, welche drei Zahlen sie miteinander multiplzieren moechten");
                       printf ("\nZahl 1: ");
                       scanf ("%d", &zahl1);
                       printf ("Zahl 2: ");
                       scanf ("%d", &zahl2);
                       printf ("Zahl 3: ");
                       scanf ("%d", &zahl3);
                       ergebnis = zahl1 * zahl2 * zahl3;
                       printf ("%d * %d * %d = %d\n", zahl1, zahl2, zahl3, ergebnis);
                       printf ("Ergebnis: %d\n", ergebnis);
                       break;
                       
               case 4: printf ("Bitte geben Sie ein, welche vier Zahlen sie miteinander multiplzieren moechten");
                       printf ("\nZahl 1: ");
                       scanf ("%d", &zahl1);
                       printf ("Zahl 2: ");
                       scanf ("%d", &zahl2);
                       printf ("Zahl 3: ");
                       scanf ("%d", &zahl3);
                       printf ("Zahl 4: ");
                       scanf ("%d", &zahl4);
                       ergebnis = zahl1 * zahl2 * zahl3 * zahl4;
                       printf ("%d * %d * %d * %d = %d\n", zahl1, zahl2, zahl3, zahl4, ergebnis);
                       printf ("Ergebnis: %d\n", ergebnis);
                       break;
                       
               case 5: printf ("Bitte geben Sie ein, welche fünf Zahlen sie miteinander multiplzieren moechten");
                       printf ("\nZahl 1: ");
                       scanf ("%d", &zahl1);
                       printf ("Zahl 2: ");
                       scanf ("%d", &zahl2);
                       printf ("Zahl 3: ");
                       scanf ("%d", &zahl3);
                       printf ("Zahl 4: ");
                       scanf ("%d", &zahl4);
                       printf ("Zahl 5: ");
                       scanf ("%d", &zahl5);
                       ergebnis = zahl1 * zahl2 * zahl3 * zahl4 * zahl5;
                       printf ("%d * %d * %d * %d * %d = %d\n", zahl1, zahl2, zahl3, zahl4, zahl5, ergebnis);
                       printf ("Ergebnis: %d\n", ergebnis);
                       break;
                       
               default: printf ("Sie haben entweder keine, oder eine ungueltige Operation gewaehlt.\n\n");
               goto labelC;
              }                       
              break;
             
      case 4: printf ("Sie haben die Operation Division gewaehlt.\n\n");
              labelD:
              printf ("Bitte geben sie ein, wieviele Zahlen sie durcheinander dividieren \nmoechten (max. 5)\n");
              printf ("Anzahl: ");
              scanf ("%d", &anzahl);
             
              switch (anzahl)
              {
               case 2: printf ("Bitte geben Sie ein, welche zwei Zahlen sie durcheinander dividieren moechten");
                       printf ("\nZahl 1: ");
                       scanf ("%d", &zahl1);
                       printf ("Zahl 2: ");
                       scanf ("%d", &zahl2);
                       ergebnis = zahl1 / zahl2;
                       printf ("%d / %d = %d\n", zahl1, zahl2, ergebnis);
                       printf ("Ergebnis: %d\n", ergebnis);
                       break;
                       
               case 3: printf ("Bitte geben Sie ein, welche drei Zahlen sie durcheinander dividieren moechten");
                       printf ("\nZahl 1: ");
                       scanf ("%d", &zahl1);
                       printf ("Zahl 2: ");
                       scanf ("%d", &zahl2);
                       printf ("Zahl 3: ");
                       scanf ("%d", &zahl3);
                       ergebnis = zahl1 / zahl2 / zahl3;
                       printf ("%d / %d / %d = %d\n", zahl1, zahl2, zahl3, ergebnis);
                       printf ("Ergebnis: %d\n", ergebnis);
                       break;
                       
               case 4: printf ("Bitte geben Sie ein, welche vier Zahlen sie durcheinander dividieren moechten");
                       printf ("\nZahl 1: ");
                       scanf ("%d", &zahl1);
                       printf ("Zahl 2: ");
                       scanf ("%d", &zahl2);
                       printf ("Zahl 3: ");
                       scanf ("%d", &zahl3);
                       printf ("Zahl 4: ");
                       scanf ("%d", &zahl4);
                       ergebnis = zahl1 / zahl2 / zahl3 / zahl4;
                       printf ("%d / %d / %d / %d = %d\n", zahl1, zahl2, zahl3, zahl4, ergebnis);
                       printf ("Ergebnis: %d\n", ergebnis);
                       break;
                       
               case 5: printf ("Bitte geben Sie ein, welche fünf Zahlen sie durcheinander dividieren moechten");
                       printf ("\nZahl 1: ");
                       scanf ("%d", &zahl1);
                       printf ("Zahl 2: ");
                       scanf ("%d", &zahl2);
                       printf ("Zahl 3: ");
                       scanf ("%d", &zahl3);
                       printf ("Zahl 4: ");
                       scanf ("%d", &zahl4);
                       printf ("Zahl 5: ");
                       scanf ("%d", &zahl5);
                       ergebnis = zahl1 / zahl2 / zahl3 / zahl4 / zahl5;
                       printf ("%d / %d / %d / %d / %d = %d\n", zahl1, zahl2, zahl3, zahl4, zahl5, ergebnis);
                       printf ("Ergebnis: %d\n", ergebnis);
                       break;
                       
               default: printf ("Sie haben entweder keine, oder eine ungueltige Operation gewaehlt.\n\n");
               goto labelD;
              }                       
              break;

      default: printf ("Sie haben entweder keine, oder eine ungueltige Operation gewaehlt.");
     }
     
     printf ("\nDer Taschenrechner V.0.4\n");
     printf ("Geschrieben von Albert Seebold mit C\n");
     printf ("Druecken Sie eine beliebige Taste um die Anwendung zu beenden...");
     
     getch();
     return 0;
    }

    Eine Antwort wäre nett^^

    P.S.

    Wer ihn mal sehen/ausprobieren will:
    Quellcode: http://aaaaldi.aa.ohost.de/Taschenrechner/v.0.4/source_v.0.4.c
    Programm:http://aaaaldi.aa.ohost.de/Taschenrechner/v.0.4/Taschenrechner_v.0.4.exe



    Re: Quelltext ziemlich lang!?

    exbs - 15.04.2007, 18:39


    Nja viel kürzes geht es so, wie du es machst nicht. Du könntest, wenn du das thema "strukturierte datentypen" hattest auch mit array arbeiten und dann immer geben sie zahl1 - zahln ein, eine schleife verwenden.

    Bei größeren programmen, arbeitet man mit funktion und headern, wo programmteile ausgelagert werden, was aba nur optisch kürzer ist, insgesamt ist es sicherlich auch viel code.



    Re: Quelltext ziemlich lang!?

    Dirty Oerty - 15.04.2007, 20:31


    nur kurze anmerkung am rande:

    das goto macht das ganze nochmal ne spur unübersichtlicher.
    ich würds durch ne schleife (do-while) ersetzen.

    und ansonsten:

    ja, auslagern, oder (ich glaub das heißt so) generische funktionen (??).
    sowas wie print halt, ne fct die mehrere parameter nehmen kann, dabei aber nur eine fct is.



    Re: Quelltext ziemlich lang!?

    DrPhil_Guth - 16.04.2007, 23:06


    Also das Problem das du hast haben sehr viele Programmierer. Um dieses Problem zu umgehen musst du den Code "modularisieren". Das bedeutet, du suchst bestimmte Funktionen, trennst die die nicht zusammengehören und gibst die zusammen, die für eine oder eine Ähnliche aufgabe gedacht sind.
    Am besten schreibt man sie so, dass sie möglichst allgemein sind.
    Dann hast du einen modular aufgebauten code. Das hat viele vorteile, du kannst dein Programm stück für stück schreiben, ein Modul nach dem anderen fertigstellen.
    Du kannst fehler viel leichter finden: wenn ein modul hinreichend getestet ist, dann weißt du dass der fehler in anderen modulen bzw. an der schnittstelle liegt.
    Wenn dir ein Teil nicht gefällt, dann schreibst du es neu, und wenn du vorher alles richtig gemacht hast kannst du das alte und das neue modul einfach austauschen.
    Und ganz wichtig: Die module muss man danach nicht wegwerfen. Du kannst es einfach "so wie es ist" verwenden, und musst dazu nicht in altem code suchen und womöglich noch dort herumpfuschen, was du schon vergessen hast.

    So, nun wie wird das gemacht?
    Als erstes must du wissen:
    Implementierungen(der Programmcode) kommen in eine .c (bzw. .cpp) Datei. Die Funktionsköpfe kommen in die .h datei (meistens der gleiche name wie die .c datei)
    Um eine funktion aus einem anderen modul aufzurufen musst du dann einfach die dazugehörige .h datei einbinden und dann die funktion aufrufen.
    So, nun wie siehts mit dem kompilieren aus?
    Jede .cpp (oder .c) datei wird zu einer objektdatei kompiliert. Dies ist unter gängigen windows compilern eine .obj datei, unter compilern die eigentlich für unix gedacht sind .o dateien.
    Diese werden dann vom linker zusammengebunden. Wenn du irgendwo nen funktionsaufruf falsch hast gibts dann ganz komische fehler...
    Nun, das ganze ist natürlich viel einfacher als ich das beschrieben habe.
    Bei einem kommandozeilencompiler musst du einfach alle implementierungsdateien(nicht die Header!) mit angeben. z.B. vc.exe /eprogramm.exe datei1.cpp datei2.cpp datei3.cpp
    Bei einer IDE musst du einfach alle dateien in das Projekt einbinden.



    Re: Quelltext ziemlich lang!?

    Mr_A_ - 17.04.2007, 17:43

    Re
    Also erst einma danke für die tipps^^

    Ich bin ziemlich begeistert von C, nur leider steht in dem Tutorial nicht sehr viel dazu (trotzdem SUPER tutorial für die Grundkentnisse).

    Hab mir gestern das Buch bestellt.
    Ich hab nur gutes über dieses Buch gelesen und denk mal da wird auch näheres zu stehen (was DrPhil_Guth angesprochen hat).



    Re: Quelltext ziemlich lang!?

    detewe89 - 22.04.2007, 20:36


    Also ich hab das Problem so bewältigt.
    Vielleicht hilft's ja was...

    #include <stdio.h>
    int main(void)
    {
    int i, zaehler, n;
    double zahl, summe, du;
    printf("\nAddition von n Zahlen\n");
    printf("Wieviele Zahlen wollen Sie addieren? ");
    scanf("%d", &n);
    printf("-------------------------------------\n");
    summe=0;
    zaehler=1;
    for (i=1; i<=n; i++)
    {
    printf("Eingabe der %d. Zahl: ", zaehler);
    scanf("%lf", &zahl);
    summe = summe + zahl;
    zaehler++;
    }
    printf("-------------------------------------\n");
    printf("Summe ist: %lf\n", summe);
    printf("-------------------------------------\n");
    du=summe/n;
    printf("Durchschnitt ist: %lf\n", du);
    printf("-------------------------------------\n");
    return 0;
    }



    Re: Quelltext ziemlich lang!?

    Dirty Oerty - 23.04.2007, 14:37


    wobei man noch das machen kann:

    Code: #define __Trennlinie "-------------------------------------\n"

    und dann für jedes "-------------------------------------\n" __Trennlinie schreiben.
    find ich persönlich übersichtlicher, wobei's natürlich auch schöne probleme bringen kann, wenn man zuviele defines macht.



    Re: Quelltext ziemlich lang!?

    DrPhil_Guth - 23.04.2007, 15:56


    oder wenn wir schon dabei sind:

    Code: void trennlinie(unsigned int zeilenbreite);
    {   
        for (unsigned int i = 0; i < zeilenbreite; i++)
            printf ("-");

        printf ("\n");
        return;
    }

    Dann brauchst du nur noch

    trennlinie(80); aufrufen, und schon hast dus. Und auch keine probleme mit zuvielen defines ;)



    Re: Quelltext ziemlich lang!?

    exbs - 24.04.2007, 14:26


    Code: summe = summe + zahl; geht auch kürzer Code: summe += zahl;



    Re: Quelltext ziemlich lang!?

    detewe89 - 25.04.2007, 15:40


    Ja, ich wollte mit meinem Programm eigentlcih auch nur zeigen, wie man den Riesencode abkürzt, aber danke.... :D

    Übrigens: Wie bekommt ihr eigtl. die Quelltexte in diesem schönen Format ins Forum?



    Re: Quelltext ziemlich lang!?

    Dirty Oerty - 25.04.2007, 15:48


    makieren (den quelltext hier im fenster zum schreiben)

    und oban auf "code" drücken^^



    Re: Quelltext ziemlich lang!?

    Mr_A_ - 23.05.2007, 21:10


    DrPhil_Guth hat folgendes geschrieben: oder wenn wir schon dabei sind:

    Code: void trennlinie(unsigned int zeilenbreite);
    {   
        for (unsigned int i = 0; i < zeilenbreite; i++)
            printf ("-");

        printf ("\n");
        return;
    }

    Dann brauchst du nur noch

    trennlinie(80); aufrufen, und schon hast dus. Und auch keine probleme mit zuvielen defines ;)

    Also wie es bei dir steht funktioniert es bei mir nicht ganz....
    Ich habs so gemacht:
    Code: #include <stdio.h>

    void line(unsigned int width);

    int main()
    {
        line(80);
        getch();
        return 0;
    }

    void line(unsigned int width)
    {   
        unsigned int i;
       
        for (i = 0; i < width; i++)
            printf ("-");

        return;
    }



    Re: Quelltext ziemlich lang!?

    exbs - 23.05.2007, 22:10


    was funktioniert denn da nicht ?

    [edit] möglicherweise funktioniert "getch()" nicht ohne "include <conio.h>"



    Re: Quelltext ziemlich lang!?

    DrPhil_Guth - 24.05.2007, 12:11


    ja dass muss es sein. Lass es doch einfach wegm und ruf das prog von der konsole aus auf.

    Übrigens: FAQ Frage 1 anschauen, das muss helfen.



    Re: Quelltext ziemlich lang!?

    geek.90 - 28.05.2007, 17:27


    Hallo zusammen

    Also Albert, ich habe dein Programm soeben angeschaut und getestet.
    Etwas stört mich aber noch. Man kann nur eine Berechnung durchführen und danach wird das Programm durch bestätigen der Eingabetaste beendet. Das kannst du mit den Schleifen realisieren. . . .

    Ich will dir aber nun nicht zu viel verraten sondern dich selber arbeiten lassen. Denn so kannst du am Besten lernen oder neue Dinge anwenden.

    Als kleine Hilfestellung habe ich dir gerade noch einen Beispielcode geschrieben:


    Code: #include <stdio.h>
    #include <stdlib.h>
    #define CHF 1.48

    int main(void)
    {
      float zahl[10];
      float betrag;
      int abfrage;   
      int i=0;
      int pw=0;
      puts("****************");
      puts("Der Taschenrechner -> Ganzzahlen");
      printf("****************\n\n");
         
       while(i<3)
       {
          printf("\nBitte geben Sie das 4-stellige Passowort ein:\n");
          scanf("%i",&pw);
       
          if(pw==1333)
          {
             printf("Das Passowrt ist RICHTIG!\n\n");
             i=3;
          }
          else
          {
             printf("Falsch!\n",i);
             i++;
          }
       }
                 if(pw != 1333)
                 {
                 return -1;
                 }
          printf("Programmfunktion\n\n");
          printf("<1> Die Addition\n");
          printf("<2> Die Subtraktion\n");
          printf("<3> Die Multiplikation\n");
          printf("<4> Die Division\n");
          printf("<5> CHF  -> Euro\n");
          printf("<6> EURO -> CHF\n");
          printf("<7> Programmende\n");
     
          printf("\nBitte auswaehlen < >\b\b");
          scanf("%d",&abfrage);
         
         
          while(abfrage !=7)
          {
     
          switch(abfrage)
                {
                case 1:   printf("\n\nIhre Auswahl war die Addition");
                          printf("\n\nWie viele Werte wollen Sie berechnen\n");
                          scanf("%i",&zahl[0]);
                          printf("\nTippen Sie die zweite Zahl ein:\n");
                          scanf("%i",&zahl[1]);
                          printf("\nDie Summe lautet: %d \n\n",zahl[0]+zahl[1]);
                          break;
                         
                case 2:   printf("\n\nIhre Auswahl war die Subtraktion");
                          printf("\n\nTippen Sie die erste Zahl ein:\n");
                          scanf("%.",&zahl[0]);
                          printf("\nTippen Sie die zweite Zahl ein:\n");
                          scanf("%d",&zahl[1]);
                          printf("\nDie Differenz lautet: %d\n\n",zahl[0]-zahl[1]);
                          break;   
                               
                case 3:   printf("\n\nIhre Auswahl war die Multiplikation");
                          printf("\n\nTippen Sie die erste Zahl ein:\n");
                          scanf("%d",&zahl[0]);
                          printf("\nTippen Sie die zweite Zahl ein:\n");
                          scanf("%d",&zahl[1]);
                          printf("\nDas Produkt lautet: %d\n\n",zahl[0]*zahl[1]);
                          break;
                         
                case 4:   printf("\n\nIhre Auswahl war die Division");
                          printf("\n\nTippen Sie die erste Zahl ein:\n");
                          scanf("%d",&zahl[0]);
                          printf("\nTippen Sie die zweite Zahl ein:\n");
                          scanf("%d",&zahl[1]);
                         
                                      if(zahl[1] == 0)
                                      {
                                         return -1;
                                      }
                          printf("\nDer Quotient lautet: %d\n\n",zahl[0]/zahl[1]);
                          break;
               
                case 5:   printf("\n\nIhre Auswahl war CHF  -> Euro");
                          printf("\n\nBitte CHF Betrag eingeben:\n");
                          scanf("%f",&betrag);
                          printf("\n%.2f CHF sind %.2f Euro\n\n", betrag,betrag/CHF);
                          break;
                         
                case 6:   printf("\n\nIhre Auswahl war Euro -> CHF");
                          printf("\n\nBitte EURO Betrag eingeben:\n");
                          scanf("%f",&betrag);
                          printf("\n%.2f Euro sind %.2f CHF\n\n", betrag,betrag*CHF);
                          break;     
                         
               default:  printf("\Unbekannte Auswahl\n\n");
               }

           }
                       
      return 0;
    }


    PS: Da du ja noch am Anfang bist, habe ich in meinem Code bewusst keine Funktionen oder andere Schwierigkeiten eingesetzt.
    Wenn du das Programm kompilierst und ausführst, wird ein Passwort verlangt, wie du im Code herauslesen kannst hat man 3 Versuche, das richtige Passwort einzugeben.
    Im Code siehst du, wie das Passwort lautet: Code: if(pw==1333)

    Diese kleine Passwortabfrage ist meiner Meinung eine gute und einfache Übung.

    Viel Vergnügen und nicht vergessen, bei Problemen einfach im Forum melden ;)

    mlg GEEK



    Mit folgendem Code, können Sie den Beitrag ganz bequem auf ihrer Homepage verlinken



    Weitere Beiträge aus dem Forum Tutorials.at

    Probleme am Anfang (C++) - gepostet von C++ Lernender am Dienstag 29.05.2007
    ich habe diese taste nicht { - gepostet von gandalf am Donnerstag 10.08.2006
    Hello World - gepostet von icewulf24 am Mittwoch 03.10.2007
    c++ Binär Files - gepostet von Bonny am Donnerstag 28.12.2006
    Was spielt ihr so? - gepostet von ggspp am Montag 30.04.2007
    registry - gepostet von Moritz am Sonntag 18.11.2007
    Bücher!?,aber welche? - gepostet von niki1 am Dienstag 27.02.2007
    Blender-Problem - gepostet von toby-man am Samstag 06.10.2007



    Ähnliche Beiträge wie "Quelltext ziemlich lang!?"

    bissel lang aber naja nä - Sweet_Tiger (Dienstag 28.11.2006)
    net lang schnaggen.... - donnerlurch (Montag 09.01.2006)
    Wie Lang ist das Standart Reso - darkwiesel1 (Mittwoch 04.04.2007)
    Wie oft?Wie lang?Wie? - Jason (Dienstag 03.10.2006)
    Sattel zu lang? Steigbügelschlösser spannen? - graziano (Samstag 23.06.2007)
    es ist ziemlich ruhig geworden... - oliver (Mittwoch 18.07.2007)
    Northerner hat modernisiert? - Tabacus Oralus (Sonntag 08.03.2009)
    Mario Lang - miss charming (Dienstag 06.03.2007)
    Würfelchen ist tot! Lang lebe Walter! - Nan (Mittwoch 13.09.2006)
    ich flog!!! (nicht lang) - papus (Freitag 03.03.2006)