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

Beiträge: 774

Beruf: Student

  • Private Nachricht senden

51

16.05.2010, 11:42

Zitat von »TrikkieMikkie«

Die stdafx.h ist so ein Relikt.

Warum Relikt? Sind doch nach wie vor äußerst nützlich imho. Mir zumindest sparen vorkompilierte Header eine Menge Kompilierzeit. Derweil ist mein Pc jetzt nicht unbedingt gerade schwach.

R3D L10N

Treue Seele

  • »R3D L10N« ist der Autor dieses Themas

Beiträge: 106

Beruf: Schüler

  • Private Nachricht senden

52

16.05.2010, 11:43

OK danke!
Sonst hätte ich das Projekt nocheinmal in Code::Blocks geschrieben ;)
MfG R3DL10N

53

16.05.2010, 12:23

Zitat von »TrikkieMikkie«

Die stdafx.h ist so ein Relikt.

Warum Relikt? Sind doch nach wie vor äußerst nützlich imho. Mir zumindest sparen vorkompilierte Header eine Menge Kompilierzeit. Derweil ist mein Pc jetzt nicht unbedingt gerade schwach.


Relikt war eher auf den Namen bezogen. stdafx.h bzw. stdafx.cpp gibts ja schon ewig.
Diese generierten Teile halt. Einen Euro für jede Begegnung mit dem Datei-Pärchen, und ich wär ein reicher Mann. ;)

Das Konzept der vorkompilierten Header ist ganz Ok.
fka tm

Beiträge: 774

Beruf: Student

  • Private Nachricht senden

54

16.05.2010, 13:33

Achso, hab mich schon gewundert ^^

R3D L10N

Treue Seele

  • »R3D L10N« ist der Autor dieses Themas

Beiträge: 106

Beruf: Schüler

  • Private Nachricht senden

55

17.05.2010, 09:44

Noch ne Frage in der Richtung: Es wird ja immer eine ".manifest" datei erstelt, ist die notwendig? Oder kann man die generierung verhindern?
In VS 2008 konnte man einfach das manifest deaktivieren, aber in der neuen Umgebung komm ich einfach nicht so gut zurecht...

Achja, und wo kann man einen Icon für die exe Datei einstellen?
MfG R3DL10N

56

17.05.2010, 10:39

Ich rate dir die Manifestdatei einfach mitgenerieren zu lassen. Warum willst du die denn ausschalten? Bei Visual Studio 2005 konnte man es nicht deaktivieren, da diese Datei ja auch nicht nur zum Spaß generiert wird. Bei VS 2010 ist es glaube ich genauso.

Hier gibt es Infos über diese Dateien: http://msdn.microsoft.com/en-us/library/…28VS.80%29.aspx

Um ein Icon zu laden, musst du entweder Ressourcen verwenden oder was besser wäre, du lädst das Icon mit LoadImage und übergibst es der WNDCLASSEX Struktur
Ich weiß es dauert viel zu lange, aber ich habe echt nur Pech. Habe mir heute mal eben im Zeigefinger Nerv und Sehne durchtrennt. Dennoch kann es nicht mehr all zu lange dauern mit dem Tutorial. Außerdem kamen auch noch Prüfungen und dergleichen dazwischen.
Klatscht die Hopper an die Wand, Deutschland ist ein Raverland! :D

57

17.05.2010, 10:51

-insane-
Ich glaube, das Icon für die Exe war gemeint. Das Teil, das im Explorer zu sehen ist.

R3D L10N
Verwendest du bereits Ressourcen in deinem Projekt?
Falls nicht, hinzufügen:

resource.rc mit folgendem Inhalt:

1 ICON DISCARDABLE "DeinAnwendungsIcon.ico"
fka tm

R3D L10N

Treue Seele

  • »R3D L10N« ist der Autor dieses Themas

Beiträge: 106

Beruf: Schüler

  • Private Nachricht senden

58

17.05.2010, 11:33

Ok dann hat sich das auch erledigt :D
Dann lasse ich die manifest datei dabei ;)

Aber noch eine Frage:

Ich will ja ein Programm schreiben, das Zufallszahlen nach einstellungen des Benutzers ausgibt.
Der User kann entweder zwischen 0 und ? Zufallszahlen ausgeben oder zwischen 1 und ?.
? ist mit long deklariert.
Außerdem kann der User die Anzahl der "Versuche" einstellen.
Aber mich möchte noch, dass jede generierte Zahl eine Variable bekommt, sodass nach der Generierung der Zufallszahlen angezeigt wird, welche Zahl wie oft vorkam.
Dazu müsste ich ja so etwas wie eine Routine schreieben, die jeder neuen Zahl eine Variable zuweist.
Wenn es euch hilft, hier der bishereige Quellcode:

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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
#include "stdafx.h"
#include <iostream>
#include <Windows.h>

using namespace std;

int _tmain(int argc, _TCHAR* argv[])
{
    /*Variablen deklarieren*/
    short choice1;
    long zufallsOperator;
    short start;
    long ende;

    begin:
    /*Mögliche Operationen anzeigen*/
    cout << "<<R3DL10Ns W'keit>>\n";
    Sleep(1000);
    cout << "Was moechten sie tun?\n\n";
    Sleep(500);
    cout << "1 - Ein Zufallsexperiment mit den Zahlen von 0 bis ? durchf\x81hren.\n";
    cout << "2 - Ein Zufallsexperiment mit den Zahlen von 1 bis ? durchf\x81hren.\n";
    Sleep(1000);
    tryAgain:
    /*Auswahl abfragen und gewünschte Operation durchführen*/
    cout << "Geben sie die Ziffer der gew\x81nschten Operation ein: ";
    cin >> choice1;
    if (choice1 == 1) {
        Sleep(500);
        cout << "\n\nSie moechten ein Zufallsexperiment zwischen 0 und ? durchf\x81hren...\n";
        cout << "Zielbereich: 0 bis ";
        cin >> zufallsOperator;
        cout << "Wie oft soll das Experiment durchf\x81hrt werden? ";
        cin >> ende;
        cout << "Das Experiment zwischen 0 und " << zufallsOperator << " wird " << ende << " mal durchgef\x81hrt in...3...";
        Sleep(1000);
        cout << "2...";
        Sleep(1000);
        cout << "1...";
        Sleep(1000);
        for (start = 0; start < ende; start++) 
        {
            long zufallsZahl = rand() % zufallsOperator;
            cout << zufallsZahl << "\n";
        }
        if (start == ende) 
        {
            Sleep(2000);
            cout << "\nDas Experiment wurde erfolgreich durchgef\x81hrt!\n\n\n";
            /*Auflistung des Ergebnisses*/
            Sleep(3000);
            goto begin;
        }
    }
    if (choice1 == 2) {
        cout << "Sie moechten ein Zufallsexperiment zwischen 1 und ? durchf\x81hren...\n";
        cout << "Zielbereich: 1 bis ";
        cin >> zufallsOperator;
        cout << "Wie oft soll das Experiment durchgef\x81hrt werden? ";
        cin >> ende;
        cout << "Das Experiment zwischen 1 und " << zufallsOperator << " wird " << ende << " mal durchgef\x81hrt in...3...";
        Sleep(1000);
        cout << "2...";
        Sleep(1000);
        cout << "1...";
        Sleep(1000);
        for (start = 0; start < ende; start++) 
        {
            long zufallsZahl = rand() % zufallsOperator;
            cout << zufallsZahl << "\n";
        }
        if (start == ende) 
        {
            Sleep(2000);
            cout << "\nDas Experiment wurde erfolgreich durchgef\x81hrt!\n\n\n";
            /*Auflistung des Ergebnisses*/
            Sleep(3000);
            goto begin;
        }
    }
    else {
        cout << "\nFalsche Eingabe!\n";
        Sleep(1000);
        goto tryAgain;
    }
    return 0;
}


Sorry, aber auf "goto" konnte ich hier einfach nicht verzichten :D
MfG R3DL10N

59

17.05.2010, 11:43

Speicher die Werte doch in einem Array oder besser einem Pointer, dem du dynamisch die benötigte Größe übergibst.
Und auf goto hättest du sehr wohl verzichten können. Es gibt eine ganz neue und coole Erfindung namens while Schleife. Es ist im Grunde nichts anderes als goto, nur dass es weitaus übersichtlicher ist.
Ich weiß es dauert viel zu lange, aber ich habe echt nur Pech. Habe mir heute mal eben im Zeigefinger Nerv und Sehne durchtrennt. Dennoch kann es nicht mehr all zu lange dauern mit dem Tutorial. Außerdem kamen auch noch Prüfungen und dergleichen dazwischen.
Klatscht die Hopper an die Wand, Deutschland ist ein Raverland! :D

R3D L10N

Treue Seele

  • »R3D L10N« ist der Autor dieses Themas

Beiträge: 106

Beruf: Schüler

  • Private Nachricht senden

60

17.05.2010, 11:45

naja, aber ich finde, goto ist simpler einzubauen ;)
MfG R3DL10N

Werbeanzeige