Zitat Zitat von ch3rrY Beitrag anzeigen
hier mal meine lösung mein erster versuch... kritik sehr willkommen...
Der Code ist ein bisschen unaufgeräumt (TABs nach einem geregelten Schema wären angebracht).
Für eine simple Addition braucht man doch keine extra Funktion, oder? (wie zwei Autoren in ihrem "Java 5"-Buch vim Markt+Technik-Verlag bewiesen haben, kann man für eine division auch drei Klassen für eine Division schreiben, aber ich halte das eher für unnötig).
Das ganze "if ( art == 1 ) [...] else if ( art == 2 ) [...]" könnte man durch eine switch-Verzeigung ersetzen.
"for ( art = 1; art <= 4 " erscheint mir ein wenig überflüssig, da art nieeinen anderen Wert, zur Zeit dieser Überprüfung, als {1, 2, 3, 4} annehmen wird, wie durch "while ( art < 1 || art > 4 ) " sichergestellt ist.

Zitat Zitat von ch3rrY Beitrag anzeigen
und ich suche übrigens eine lösung für nen fehler, wenn der user anstatt zahlen... buchstaben eingibt(man muss ja alles beachten )
Wie RiDER bereits erklärt hat (eventuell sogar in diesem Thread, bin mir aber nicht sicher - zu faul um nachzusehen ^^) neigen Funktionen/Methoden wie scanf bzw. cin >> zu Fehlern, im Fall einer "unerwarteten" Eingabe des Benutzers.
Bei solchen Problemen bietet sich in der Regel das Einlesen der Benutzereingabe über fgets, in Kombination mit atoi (bzw. einer ähnlichen Funktion), an.
Hier mal ein kleines Beispiel:
PHP-Code:
#include <stdlib.h>
#include <stdio.h>
#include <string.h>


int getnum(void)
{
    
char buffer[10];
    
int i;
    
    
memset(buffer0sizeof(buffer));
    if (!
fgets(buffersizeof(buffer) - 1stdin))
    {
        
/* Fehler beim Lesen von stdin */
        
puts("error 1\n");
        exit(
0);
    }
    else if (
buffer[strlen(buffer) - 1] != '\n')
    {
        
/* der String wurde nicht durch einen Zeilenumbruch beendet
           -> der eingegebene String war zu lang -> Fehler! */
        
puts("error 2\n");
        exit(
0);
    }
    
    for(
0buffer[i] != '\n'i++)
    {
        if (
buffer[i] < '0' || buffer[i] > '9')
        {
            
/* die Eingabe enthällt ungültige Zeichen */
            
puts("error 3\n");
            exit(
0);
        }
    }
    
    
/* die Eingabe sieht "OK" aus */
    
return atoi(buffer);

( ist zwar kein PHP-Skript, aber die PHP-Tags geben dem ganzen eine "gesunde Farbe" )


mfG. BlackBerry