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

21

22.01.2014, 03:02

Da du die relevante Fehlermeldung noch nicht gepostet hast, schau ich mal in meine Glaskugel.

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
#include <string>

// ...

char c = 'c'; // passt
std::string s = "String"; // passt
std::string s("String"); // passt auch

// machst du es so?
s = 'wird nicht kompilieren'; // Beachte die Anführungszeichen!
"Theory is when you know something, but it doesn’t work. Practice is when something works, but you don’t know why. Programmers combine theory and practice: Nothing works and they don’t know why." - Anon

22

22.01.2014, 03:29

Dann hab ichs ja total falsch.^^ Danke dir Steef. Falls ich doch dann noch Probleme haben sollte melde ich mich nochmal. :)



Edit: Ich kapiers immernoch net.^^ War doch kein so guter Einfall so ein kleines Spiel zu machen. Aber trotzdem würd ichs gern jz zuende bringen.

Kann mir einer des in diesem Abschnitt zeigen wie ichs zum laufen bekomm?

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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
// Mein erstes selbstentworfenes Spiel in C++
//
// Fragespiel 1.0
// Es sind 10 Fragen richtig zu beantworten
//
//
#include <string>

using namespace std;

// Hauptprogramm
//
int main ()
{
    // Variablen
    //
    char chEingabe;

    // Textausgabe nach Start des Spieles
    //
    cout << "Willkommen, dies ist ein kleines Fragespiel.\n";
    cout << "Ziel des Spieles ist es 10 Fragen richtig zu loesen!\n";
    cout << "\n";
    cout << "Druecke (s) um mit dem Spiel zu beginnen!\n";
    cout << "Druecke eine beliebige Taste und zweimal Enter um das Spiel zu beenden!\n";
    cin >> chEingabe;

    // Spiel starten?
    //
    if (chEingabe == 's' || chEingabe == 'S')
    {
        {
            cout << "Wieviel ist 10 hoch 3?\n";
            cout << "\n";
            cout << "HINWEIS: Bitte nur die erste Ziffer oder den ersten Buchstaben als Antwort eingeben!\n";
            cin >> chEingabe;
        }

        // Antwort abfragen
        //
        if (chEingabe == '1000')
        {
            cout << "Richtig! Naechste Frage:\n";
            cout << "\n";
            cout << "An welchen Fluss liegt Muenchen?\n";
            cout << "\n";
            cout << "HINWEIS: Bitte nur die erste Ziffer oder den ersten Buchstaben als Antwort eingeben!\n";
            cin >> chEingabe;
        }

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Uliop« (22.01.2014, 03:37)


BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

23

22.01.2014, 06:50

'X' ist ein char.
"X" ist ein string.
Das hat Steef doch schon erklärt.

Ein char kann nicht mehrere Zeichen enthalten. Daher muss chEingabe ein std::string sein und kein char. Genauso müssen auch alle Vergleiche mit strings gemacht werden und nicht mit chars (die nur ein Zeichen enthalten dürfen und nicht mehrere).
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]

24

22.01.2014, 08:42

C-/C++-Quelltext

1
2
3
std::string s = "String";

s = "Hier die Antwort?";




Wofür das = "String" ? Denn bei s = "Hier die Antwort?"; verstehe ich jetzt das s = den string zeigt, brauch ich keine if-Abfrage dort? Ich versteh ich rein gar nix.^^ Ihr müsst es so sehen als wär grad am Anfang meiner Ausbildung, da müsste man schon etwas deutlicher beschrieben werden. Oder sagt mir wo ich genau ne Beschreibung nachlesen kann über das. In meinem Buch steht das komplett anders drinn ich versteh das nicht wie ich das in mein Fragespiel einbinden kann. Denn ich werde hier ja nicht sString3 = sString1 + sString2 etc. brauchen.

Schorsch

Supermoderator

Beiträge: 5 145

Wohnort: Wickede

Beruf: Softwareentwickler

  • Private Nachricht senden

25

22.01.2014, 10:21

Du willst doch nur einen String zuweisen und hinterher vergleichen. Wie das geht wurde doch schon geschrieben und das sollte auch in deinem Buch drin stehen. wenn du etwas zuweisen möchtest musst du auch nichts abfragen, deshalb verstehe ich nicht was du mit deinem if da meinst. In deinem Code den du dort stehen hast wird ein std::string erzeugt und ihm die Zeichenkette "String" zugewiesen. Danach wird ihm die Zeichenkette "Hier die Antwort?" zugewiesen. Nach Zeile 1 steht in s also "String" und nach Zeile 3 steht in s "Hier die Antwort?".
s ist doch im Prinzip auch nur eine Variable vom Typ std::string. Wie man Variablen erstellt und ihnen Werte zuweist wirst du ja denke ich wissen und wie man Variablen vergleichen kann auch.
„Es ist doch so. Zwei und zwei macht irgendwas, und vier und vier macht irgendwas. Leider nicht dasselbe, dann wär's leicht.
Das ist aber auch schon höhere Mathematik.“

Tankard

Treue Seele

Beiträge: 192

Beruf: Student, Hardware- und Softwareentwicklung als wissenschaftliche Hilfskraft

  • Private Nachricht senden

26

22.01.2014, 12:16

Ich glaube nicht, dass es im Buch komplett anders drin steht (ohne das Buch zu kennen). Ich glaube du solltest einfach nochmal die Grundlagen nachholen. Ansonsten wurde eigentlich alles bereits gezeigt/gesagt um ein sehr einfaches Frage/Antwort Spiel zu machen.

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Tankard« (22.01.2014, 13:31)


BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

27

22.01.2014, 12:46

Aus Vorsagen lernt man weniger als aus selber machen, Tankard. :thumbdown:
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]

Tankard

Treue Seele

Beiträge: 192

Beruf: Student, Hardware- und Softwareentwicklung als wissenschaftliche Hilfskraft

  • Private Nachricht senden

28

22.01.2014, 13:32

Aus Vorsagen lernt man weniger als aus selber machen, Tankard. :thumbdown:

OK, hab's rausgenommen. Vielleicht hat er es ja noch nicht gesehen.

Allerdings wurde eigentlich alles davon bereits im Thread gesagt/gezeigt.

29

02.02.2014, 12:30

Ja egal, ich komm net drauf.^^ Irg.was mach ich auf jeden Fall falsch weil ich des net versteh. Werds einfach lassen.

Tankard

Treue Seele

Beiträge: 192

Beruf: Student, Hardware- und Softwareentwicklung als wissenschaftliche Hilfskraft

  • Private Nachricht senden

30

02.02.2014, 13:29

Warum direkt wegen ein paar Problemen mit den Grundlagen ganz aufgeben? Die Lösung steht ja sogar schon hier in dem Thread. Ich denke du musst dir einfach nochmal Schritt für Schritt überlegen was du tun willst.

Werbeanzeige