[C++]Anfänger brauch Aufgaben!

10/18/2009 01:07 BlackRune#1
Hey Jungz.
Bin seit knapp nem Monat dabei, nebenbei C++ zu lernen und ich weiß momentan kaum was ich machen soll...Ich arbeite mit dem Buch ,,Jetzt lerne ich C++" von Jesse Liberty und mit dem Compiler: Microsoft Visual C++ 2008 Express Edition.
Folgendes Problem...Ich verstehe zwar so ziemlich was das Buch mir beibringt(zumindest versucht) aber so bestimme sachen...das kommt rein und geht wieder...z.B. Die Anwendung von Klassen <.< Wofür ist das? Was bringt mir das später? Ich habe bis jetzt folgende dinge gelernt:

-Variablen und Konstanten
-Ausdrücke und Anweisungen
-Funktionen
-Klassen <.<
-Basisklassen
-etwas erweiterte erklärung zu Klassen
- If-Anweisung [edit]

Wollte mal fragen ob ihr mir mal ein paar Aufgaben stellen könnt,damit ich ein paar anwendungsmöglichkeiten habe,da ich mir die sachen auch so besser einprägen kann,als wenn ich nur stumpf ein buch lese und am ende nur weiß was inkrementieren und dekrementieren ist..-.-
Wäre nett ;)
10/18/2009 01:22 Dimension0x00#2
Ne Übung zu Schleifen und if Abzweigungen:
Es wird eine Zufallszahl zwischen 1 und 100 generiert. Der Anwender ratet eine Zahl. Wenn die Zahl richtig ist kann der Anwender sich freuen und das Programm wird beendet, ansonsten darf er noch so lange raten bis die Zahl richtig ist. Damit es nicht so lange dauert, bekommt man nach jeder falsch geratenen Zahl einen Tipp, ob die Zahl größer oder kleiner ist..

Have fun!
10/18/2009 11:02 unknown661#3
programmier mal einen einfachen taschenrechner mit +-/%* sollte nicht zu schwer sein.

mfg
10/18/2009 12:38 MoepMeep#4
Quote:
Originally Posted by BlackRune View Post
Hey Jungz.
Bin seit knapp nem Monat dabei, nebenbei C++ zu lernen und ich weiß momentan kaum was ich machen soll...Ich arbeite mit dem Buch ,,Jetzt lerne ich C++" von Jesse Liberty und mit dem Compiler: Microsoft Visual C++ 2008 Express Edition.
Folgendes Problem...Ich verstehe zwar so ziemlich was das Buch mir beibringt(zumindest versucht) aber so bestimme sachen...das kommt rein und geht wieder...z.B. Die Anwendung von Klassen <.< Wofür ist das? Was bringt mir das später? Ich habe bis jetzt folgende dinge gelernt:

-Variablen und Konstanten
-Ausdrücke und Anweisungen
-Funktionen
-Klassen <.<
-Basisklassen
-etwas erweiterte erklärung zu Klassen
-If schleife

Wollte mal fragen ob ihr mir mal ein paar Aufgaben stellen könnt,damit ich ein paar anwendungsmöglichkeiten habe,da ich mir die sachen auch so besser einprägen kann,als wenn ich nur stumpf ein buch lese und am ende nur weiß was inkrementieren und dekrementieren ist..-.-
Wäre nett ;)
Gibs auf.
10/18/2009 13:42 Gianotti#5
Quote:
Originally Posted by MoepMeep View Post
Gibs auf.
idiot.. naja er lernt es ja noch da können schonmal fehler vorkommen

zum if : es gibt keine if schleife. lies das chapter mit if nochmal an dann wirst du das schon verstehen...
10/18/2009 14:05 MoepMeep#6
Quote:
Originally Posted by Gianotti View Post
idiot.. naja er lernt es ja noch da können schonmal fehler vorkommen

zum if : es gibt keine if schleife. lies das chapter mit if nochmal an dann wirst du das schon verstehen...
Das ist allerdings kein Fehler mehr, sondern zeigt das totale unverständnis des 'gelernten'.


b2t:
Was ich als recht nette Übung/Wiederholung empfunden habe, wäre folgendes Programm:
Beliebige Anzahl von Werten ( Positiv und Negativ)
-Mittelwert
-Maxwert und minwert
-Sämtliche Positionen an denen der Minimale bzw der Maximale Wert auftaucht (Tipp: Array)
-Größte abweichung zum Mittelwert und wo diese stattfindet(Min oder Max)
-Beliebige Anzahl von Durchläufen(Tipp: Do...while)

Das ganze hört sich erstmal ziemlich simpel an, hat aber bei so einigen schon zur verzweiflung geführt :p

Wenn du dies alles hingekriegt hast, kannst du die Werte noch aus einer Datei einlesen bzw die ergebnisse Abspeichern(fopen, fscanf,fprintf...), falls dich dieser Bereich interessiert.

Klingt einfach, ist es auch, aber erfordert dennoch ein gewisses Maß an logischem denken, welches nebst google und mathematischem verständnis wohl das wichtigste in der Programmierung ist.
10/18/2009 14:50 Shadowz75#7
Quote:
Originally Posted by MoepMeep View Post
Das ist allerdings kein Fehler mehr, sondern zeigt das totale unverständnis des 'gelernten'.
Oder es zeigt, dass Menschen Fehler machen und das das immer mal passieren kann. Jeder verwechselt mal ne Schleife mit ner Bedingung(besonders Neulinge) und das zeigt auf gar keinen fall das Unverständnis des Gelernten. Also mach nicht jeden Anfänger runter, jeder 'Pro' war auch mal einer ;)
10/18/2009 15:08 BlackRune#8
Owh..Sorry!
Das war ein böser Fehler <.< da bin ich durcheinander gekommen,da ich vor knapp nem jahr mal C# gelernt habe und da viel mit Do-while schleifen usw gearbeitet habe und da habe ich diese If-Anweisung wohl als schleife in erinnerung gehabt..danke für die korrektur ;)
btw. wenn man sachen aufgeben sollte,nur weil man fehler macht,dann brauch glaubich kaum einer etwas anzufangen >.<
werde mal das mit der zufallszahl bearbeiten...
danke euch ;)
10/18/2009 15:25 MrSm!th#9
Quote:
Originally Posted by MoepMeep View Post
Wenn du dies alles hingekriegt hast, kannst du die Werte noch aus einer Datei einlesen bzw die ergebnisse Abspeichern(fopen, fscanf,fprintf...), falls dich dieser Bereich interessiert.
oder die streams aus der fstream ;P die find ich persönlich schöner^^
10/18/2009 16:07 BlackRune#10
Quote:
Originally Posted by Primehawk View Post
Ne Übung zu Schleifen und if Abzweigungen:
Es wird eine Zufallszahl zwischen 1 und 100 generiert. Der Anwender ratet eine Zahl. Wenn die Zahl richtig ist kann der Anwender sich freuen und das Programm wird beendet, ansonsten darf er noch so lange raten bis die Zahl richtig ist. Damit es nicht so lange dauert, bekommt man nach jeder falsch geratenen Zahl einen Tipp, ob die Zahl größer oder kleiner ist..

Have fun!

habe es erstmal soweit...erstes problem:
Ich hatte noch garkeine schleifen xD habe erstmal im buch n kapitel übersprungen und mich kurz mit der While schleife befasst.(es war auch die rede von der goto schleife,wovon aber auch in der selben Zeile abgeraten wurde ;D)
Also: wenn ich die schleife erstelle dann brauche ich ja einen ausdruck...und ohne die eingabe geht das ja nicht..da das programm ja solange laufen soll,bis der anwender die zahl erraten hat...wie komme ich da rum?deswegen auch das doppelte:
Code:
cin >> Eingabe;
while(Eingabe != zufallsZahl)
{
cin >> Eingabe;
die erste tasteneingabe ist sinnlos die 2te ist erst entscheident..
2tes problem:
I-wie kommt bei mir als zufallszahl immer 41 raus :D da ich mich nicht mit dem zufallsbefehl auskenne habe ich im internet gestöbert und die zeile gefunden.(Mit der Modulo-Operation..)
Hoffe ihr könnt mir helfen ;P
10/18/2009 17:30 MoepMeep#11
Versuchs mal mit do...while
Code:
do
{
    //tu etwas
}while(bedingung);
Zu deinem 2. Problem. Wenn ich mich noch recht erinnere, wird der Zufall berechnet, hatte iwas mit der Zeit zu tun. Was vllt abhilfe schaffen könnte, wäre eine komplexere formel: zufallszahl=random*random/100*3,2321*random%100 (Pseudocode). Allerdings keine garantie ^^

Was ich sonst noch empfehlen könnte, wäre, die Zufallszahl nach der 1. Benutzereingabe zu berechnen
Code Beispiel im Spoiler, nur anschauen wenn du nicht weiterkommst ;D
10/18/2009 18:02 BlackRune#12
Quote:
Originally Posted by unknown661 View Post
programmier mal einen einfachen taschenrechner mit +-/%* sollte nicht zu schwer sein.

mfg
Taschenrechner :

Hier nochmal der Zufallszahlengenerierer :D
[edited mit der Do-While]

Verbesserungen o.ä. sind gerne erwünscht :)
10/18/2009 18:34 backo#13
1. #include <time.h> - sollte <ctime> sein.

2. Kannst du englisch? Falls ja, wieso bennenst du deine variablen in Deutsch? Stell dir ein großes projekt vor, und jeder würde die variablen in seiner sprache benennen - verwirrung pur. Falls du kein Englisch kannst, dann gib mit dem Programmieren gleich auf.

3. Variablen sollte man immer bei der deklaration Initialisieren.

Code:
int foo = 0;
4. Benutz die [code] tags.

Quote:
Originally Posted by MoepMeep View Post
fopen, fscanf,fprintf...)
Ja, und du hast sehr viel ahnung. Empfiehlst C funktionen für einen C++ Anfänger.
10/18/2009 18:47 djpromo#14
Gewöhn dir mal am besten direkt an mit else if zu arbeiten


also statt

if( )

if( )

if( )

if( )

schreibst du

if( )

else if( )

else if( )

else if( )


Das spart einfach Rechenzeit weil er dann nicht jedes if checken muss , es sei denn das letzte wird true.

kannst dir auch mal ein switch-case für sowas anschauen
10/18/2009 19:27 wurstbrot123#15
Wenn du ein bisl größeres Projekt haben willst, und mit Klassenarbeiten willst, schreib mal ein kleines Text RPG mit Equipment, Monster, Städte usw usw usw...
Glaube zwar nicht das du schon so weit bist, aber wenn du dich mit Funktionen,
Klassen und OOP auskennst kannst du das als übung machen.