018
16.11.2009, 00:48 Uhr
Bruder Leif
dances with systems (Operator)
|
Zitat von Pamina: |
mh bei deinem kommt bei mir ne warnung
|
Jepp, das ist das neue Microsoft'sche "wir halten jetzt mal die armen Programmierer am Haendchen". Hilfe, ein Pointer, da koennte ja was kaputt gehen. Mal im Ernst: scanf wird gerne falsch eingesetzt und ist in professioneller Software nicht empfehlenswert, aber ein direktes Auslesen von std::cin in eine int-Variable ist auch nicht viel besser. scanf fuer Strings ist ein absolutes no-no, bei Zahlen bin ich da schon toleranter.
Zitat von Pamina: |
oh man ist das kompliziert, ich mein wenn mans kann macht programmieren bestimmt spaß aber so....
|
Definitiv Ich wuerde C++ nicht gerade als Sprache fuer Anfaenger empfehlen (und fuer Fortgeschrittene auch nicht, siehe manch andere Posts von mir), da gibt es geeignetere Sprachen. Wenn man gerade erst mit dem Programmieren anfaengt, will man schnell was tolles sehen, und schnelle Erfolgserlebnisse gibt es bei anderen Sprachen eher.
Mal am Rande: Echte Freaks wie auch Beefy erkennt man daran, dass noch so (fuer uns) einfache Probleme korrekt umgesetzt werden. contains_digit sucht nicht starr nach der 7, wie bei mir, sondern ist konfigurierbar. ABER: Tsk tsk, keine Templates? /scnr
Das gleiche Programm mal zum Vergleich in anderen Sprachen (bin gerade gut drauf):
Haskell
Code: |
import IO
bewertung number | (read number) `mod` 7 == 0 = "Durch 7 teilbar!" | [] /= (dropWhile ('7'/=) number) = "Enthaelt die Ziffer 7!" | otherwise = "Keine Affinitaet zur 7 festgestellt."
main = hSetBuffering stdout LineBuffering >> putStrLn "Bitte Zahl eingeben: " >> getLine >>= putStrLn . bewertung
|
Perl
Code: |
print "Bitte Zahl eingeben: "; $number = <>; chomp $number; print "$number wird " . ($number % 7 == 0 || $number =~ /7/ ? '' : 'nicht ') . "uebersprungen.\n";
|
Tcl:
Code: |
puts "Bitte Zahl eingeben: " gets stdin number
if {$number % 7 == 0} { puts "$number ist durch 7 teilbar und wird uebersprungen." exit 0 }
if {[regexp 7 $number]} { puts "$number enthaelt die Ziffer 7 und wird uebersprungen." exit 0 }
puts "$number ist weder durch 7 teilbar noch enthaelt es eine 7."
|
Gerade Tcl wuerde ich Einsteigern empfehlen, weil recht leicht zu lernen, lesbar, schnelle Erfolgserlebnisse. Aber wenn's halt C++ sein muss -- Mit 40 Fieber sitzt man nicht mehr vor dem PC. Man liegt im Bett. Mit dem Notebook. |