Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

Sn3aK87

Treue Seele

  • »Sn3aK87« ist der Autor dieses Themas

Beiträge: 110

Wohnort: Freiberg, nähe Dresden

Beruf: Informatikstudent TU Dresden ab 1.10.2007

  • Private Nachricht senden

1

23.12.2006, 20:42

Mini-Taschenrechner :: erstes c++ - Programm

//EDIT -- NEUE CODE- VERSION^^ << wenn man das so nennen kann


Hey,

bin grade am "C++ für Spieleprogrammierer" lesen und hab jetzt mal aus lauter Langeweile einen Taschenrechner-"Programm" programmiert.
ich würde mich freuen, wenn ihr das Programm kritisieren könntet :)
danke schonmal :)

mein Code lautet:

C-/C++-Quelltext

1
// Im letzten Post von mir ist der aktuelle Code zu finden^^


//Edit: System entfernt und Auswahlfehler (>5) behoben/ neuer Menüpunkt^^

spacegaier

Alter Hase

Beiträge: 572

Beruf: Student

  • Private Nachricht senden

2

23.12.2006, 20:56

Für das erste Programm sieht das schon echt gut aus!

Ich habe jetzt beim drüberfliegen nichts negatives gesehen, außer vielleicht dem namespace std (such mal hier im Forum), was nicht ganz so gut ist. Ich meine ich hätte hier auch schon mal etwas gelesen, dass "system(""); nicht so gut ist ist, aber für den Anfang echt top!

PS: Die kleinen "Mäkel" müssen dich jetzt noch nicht interessieren, finde ich. Mach erst mal im Buch weiter und dann diese Feinheiten, von wegen Namespace-Überschneidungen.

PPS: Und ach ja: Beim nächsten Mal bitte in das Projektforum posten.

mfg - spacegaier

Sn3aK87

Treue Seele

  • »Sn3aK87« ist der Autor dieses Themas

Beiträge: 110

Wohnort: Freiberg, nähe Dresden

Beruf: Informatikstudent TU Dresden ab 1.10.2007

  • Private Nachricht senden

3

23.12.2006, 21:04

Zitat von »"spacegaier"«

Für das erste Programm sieht das schon echt gut aus!

Ich habe jetzt beim drüberfliegen nichts negatives gesehen, außer vielleicht dem namespace std (such mal hier im Forum), was nicht ganz so gut ist. Ich meine ich hätte hier auch schon mal etwas gelesen, dass "system(""); nicht so gut ist ist, aber für den Anfang echt top!

PS: Die kleinen "Mäkel" müssen dich jetzt noch nicht interessieren, finde ich. Mach erst mal im Buch weiter und dann diese Feinheiten, von wegen Namespace-Überschneidungen.

PPS: Und ach ja: Beim nächsten Mal bitte in das Projektforum posten.

mfg - spacegaier


Ja das ich das Programm in das falsche Forum gepostet habe ist mir danach erst aufgefallen :oops:
Werd ich aber in Zukunft besser drauf achten^^
Danke für das Lob.

Das system("pause"); ist eigentlich nur genommen wurden, weil wenn jetzt einer VC++ 2005 nutzt, der sagt dann, dass das Programm einfach beendet wird... deshalb system.. ;)
ich versuchs mal mit getch() oder so... nur hatte es bisher bei mir ni richtig gefunzt...

spacegaier

Alter Hase

Beiträge: 572

Beruf: Student

  • Private Nachricht senden

4

23.12.2006, 21:07

Du könntest dafür auch z.B.

C-/C++-Quelltext

1
cin.ignore(); 
nehmen, welches auf den nächsten Tastendruck wartet und erst dann weiter macht. Dafür kommt dann halt kein Hinweis à la "Drücken sie eine Taste zum Fortfahren..." oder so.

Nox

Supermoderator

Beiträge: 5 272

Beruf: Student

  • Private Nachricht senden

5

23.12.2006, 21:12

Nur ein kleiner Fehler ist drinne. Drück mal bei der Auswahl eine Zahl größer 5. Es dürfte kurz Ende des Programms aufblinken, aber das Programm noch normal weiterlaufen :)
PRO Lernkurs "Wie benutze ich eine Doku richtig"!
CONTRA lasst mal die anderen machen!
networklibbenc - Netzwerklibs im Vergleich | syncsys - Netzwerk lib (MMO-ready) | Schleichfahrt Remake | Firegalaxy | Sammelsurium rund um FPGA&Co.

Sn3aK87

Treue Seele

  • »Sn3aK87« ist der Autor dieses Themas

Beiträge: 110

Wohnort: Freiberg, nähe Dresden

Beruf: Informatikstudent TU Dresden ab 1.10.2007

  • Private Nachricht senden

6

23.12.2006, 21:31

Hab die "Fehler" behoben... oben ist das aktuelle Listing. einfach ersetzen^^ hatte keinen Sinn gesehen hier neue Tags einzufügen^^

big_muff

Alter Hase

Beiträge: 460

Wohnort: Schweiz

Beruf: Informatikstudent (4. Semester)

  • Private Nachricht senden

7

23.12.2006, 21:32

Bei einer Division durch was anderes als 0 wird das Programm in einer Endlosschleife hängen bleiben wenn ich das richtig sehe:

C-/C++-Quelltext

1
2
3
4
5
    do 
    { 
    Ergebnis = a / b; 
    } 
    while (b != 0);

Damit wird Ergebnis mindestens einmal und dann solange a/b zugeordnet bis b gleich 0 ist. Ist aber b ungleich 0 wird das ewig zugeordnet => Rien ne va plus!

do ... while braucht man sowieso so gut wie nie (also ich habs noch nie gebraucht). Mach das lieber so:

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
    if(b == 0) 
        cout << " Division durch 0 ist nicht möglich! " << endl;
    else
    { 
        Ergebnis = a / b; 

        cout << "Term: " << endl; 

        cout << a << " / " << b << " = " << Ergebnis << endl; 
        cin.ignore(); 
        cin.get();
    }
Nur Idioten halten Ordnung, ein Genie beherrscht das Chaos.[size=7]

[/size]HardFate - Ein Start, Ein Ziel, Viele Wege[size=7]

[/size]Ein Mitglied der VEGeiCoUndGraSonMaWiGeS Bewegung.

Sn3aK87

Treue Seele

  • »Sn3aK87« ist der Autor dieses Themas

Beiträge: 110

Wohnort: Freiberg, nähe Dresden

Beruf: Informatikstudent TU Dresden ab 1.10.2007

  • Private Nachricht senden

8

23.12.2006, 21:42

Zitat von »"big_muff"«

Bei einer Division durch 0 wird das Programm in einer Endlosschleife hängen bleiben wenn ich das richtig sehe:

C-/C++-Quelltext

1
2
3
4
5
    do 
    { 
    Ergebnis = a / b; 
    } 
    while (b != 0);

Damit wird Ergebnis mindestens einmal und dann solange a/b zugeordnet bis b ungleich 0 ist. Ist aber b=0 wird das ewig zugeordnet => Rien ne va plus!


Hier mit Fehlervorbeugung:


C-/C++-Quelltext

1
neuer Code siehe oben 1. Beitrag


**hättet ihr verbesserungvorschläge? weil Delphi hab ich mir anhand eines größeren Projekts damals beigebracht (--> http://www.hostarea.de/server-12/Dezember-95af9d84ef.rar << Massenspektrograph)

Ich hätte da ein kleines Anliegen, damit ich effektiver c++ lerne. Könntet ihr mir Aufgaben stellen die ich mit hilfe des buchs und forums etc versuche zu lösen, damit ich mir c++ besser beibringen kann!? *oh man mein deutsch lässt nach^^* weil die Buchbeispiele (c++ f. Spieleprogrammierer) sind mir bissel zu trocken...

9

24.12.2006, 01:58

Naja ... die Aufgabe einen Taschenrechner zu erstellen kann man noch wesentlich eleganter lösen ... und nen kleines Feature was du noch einbauen könntest wäre, das man in einer Datei noch eine weitere Rechenart definieren kann :)
Devil Entertainment :: Your education is our inspiration
Der Spieleprogrammierer :: Community Magazin
Merlin - A Legend awakes :: You are a dedicated C++ (DirectX) programmer and you have ability to work in a team? Contact us!
Siedler II.5 RttR :: The old settlers-style is comming back!

Also known as (D)Evil

Sn3aK87

Treue Seele

  • »Sn3aK87« ist der Autor dieses Themas

Beiträge: 110

Wohnort: Freiberg, nähe Dresden

Beruf: Informatikstudent TU Dresden ab 1.10.2007

  • Private Nachricht senden

10

24.12.2006, 09:27

Zitat von »"Deviloper"«

Naja ... die Aufgabe einen Taschenrechner zu erstellen kann man noch wesentlich eleganter lösen ... und nen kleines Feature was du noch einbauen könntest wäre, das man in einer Datei noch eine weitere Rechenart definieren kann :)


den neuen Code siehe erster Beitrag << hab einen neuen Menüpunkt hinzugefügt^^
ist zwar nicht "definieren" aber schon was neues dabei --> kannst ja mal schauen :)

feedback erwünscht ;)

Werbeanzeige