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

Mount Everest

Frischling

  • »Mount Everest« ist der Autor dieses Themas

Beiträge: 3

Wohnort: Berlin Prenzlauer Berg

Beruf: Psychologe

  • Private Nachricht senden

1

04.08.2015, 19:41

Übungs-/Problemlösungs-aufgaben zu C++

Ich Bin momentan am ende des "Klassen"-Kapitels und möchte mein Wissen jetzt festigen, allerdings habe ich immernoch nicht alles unter einen Hut gebracht.
Ich hab jetzt schon viel herumexperimentiert und bräuchte evtl. sowas wie Übungsaufgaben in denen ich ähnlich wie in den Aufgabenstellungen im Buch , ein Aufgabe löse bei dem man ein relativ komplexes Problem angeht, welches mit den momentanen Mitteln grad' so zu lösen ist und bei dem man selber Tricks finden muss damit alles klappt (es muss jetzt aber auch nicht Zu schwer sein , nur herausfordernd). Durch Google hab ich nichts aktuelles für meinen ja doch noch sehr geringen Schwierigkeitsgrad gefunden.

Wäre nett

return 0; :D

2

04.08.2015, 21:05

Programmier eine Art Adressbuch, mit allem was dazugehört:
- Einträge erstellen, verändern und löschen
- Alphabetische Sortierung (nicht std::sort benutzen :P)
- Sicherung des Buchs in eine Datei
- Jene auch wieder laden können


Programmier ein Kartenspiel-Maker, bei dem man Eigenschaften und ASCII-Art als Bild eingeben kann. Natürlich auch wieder mit der Möglichkeit dies in einer Datei zu speichern und daraus zu laden.


Spiel selbst herum mit Design-Entscheidungen. Hier mal ein Anstoß um in OOP rein zu kommen:

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
//main.cpp
#include "Application.hpp"

int main(int argc, char* argv[])
{
    std::vector<std::string> arguments;
    arguments.reserve(argc - 1);
    for(int i = 1; i < argc; ++i)
        arguments.push_back(argv[i]);

    Application app;
    return app.run(arguments);
}


C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
//Application.hpp
#pragma once

#include <string>
#include <vector>

class Application
{
    int run(const std::vector<std::string>& arguments) noexcept;
};


C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
//Application.cpp
#include "Application.hpp"
#include <iostream>

int Application::run(const std::vector<std::string>& ) noexcept
{
    std::cout << "Hallo Welt!" << std::endl;

    return 0;
}


MfG
Check

Mount Everest

Frischling

  • »Mount Everest« ist der Autor dieses Themas

Beiträge: 3

Wohnort: Berlin Prenzlauer Berg

Beruf: Psychologe

  • Private Nachricht senden

3

05.08.2015, 11:11

Super Aufgabe ! Daran werd' ich viel zu knobeln haben :)
Das wird wohl ziemlich kompliziert :P Aber bis auf das sichern und speichern der Datei sollte das alles gut zu lösen sein...

4

05.08.2015, 12:01

Falls du es noch nicht weist, du kannst dir einen globalen Stream-Operator definieren, wodurch alles deutlich ordentlicher wird.
Hier mal ein Beispiel:

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#include <iostream>

class Person
{
public:
    Person(int j=0) : i(j)
    { }

    operator int&()
    { return age; }
    
    friend std::ostream& operator<<(std::ostream& os, const Person& in)
    { return os << in.age; }
    
    friend std::istream& operator>>(std::istream& is, Person& in)
    { return is >> in.age; }
    
private:
    int age;
};

int main()
{
    Person i0(5);
    std::cout << "Altes Alter: " << i0 << std::endl;
    std::cout << "Neues Alter: ";
    std::cin >> i0;
    std::cin.ignore();
    std::cout << "Die neue Alter ist " << i0 << std::endl;
}


Damit ist die Ein- und die Ausgabe doch ganz gut in zwei Funktiönchen gekapselt. :)

MfG
Check

Edit: Auf Hinweisung von BlueCobold den Code etwas verändert, jedoch nicht funktionell

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Checkmateing« (05.08.2015, 15:03)


BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

5

05.08.2015, 13:08

Ich fürchte es könnte ein leichtes Missverständnis aufkommen und der TE könnte glauben man müsse einen int mit einer Klasse versehen. Besser wäre gewesen die Klasse "Person" und die Member-Variable "alter" zu nennen.
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

Werbeanzeige